mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
53 lines
1.6 KiB
Ruby
53 lines
1.6 KiB
Ruby
class VariableCurrencyMartAdapter < PokemonMartAdapter
|
|
def initialize(currency)
|
|
@currency_variable = currency
|
|
end
|
|
def getMoney
|
|
return pbGet(@currency_variable).to_i
|
|
end
|
|
|
|
def getMoneyString
|
|
return pbGet(@currency_variable).to_s
|
|
end
|
|
|
|
def setMoney(value)
|
|
pbSet(@currency_variable,value)
|
|
end
|
|
end
|
|
|
|
|
|
def pbVariablePokemonMart(stock,currencyVariable,currency_name="Points",speech=nil,cantsell=true)
|
|
for i in 0...stock.length
|
|
stock[i] = GameData::Item.get(stock[i]).id
|
|
stock[i] = nil if GameData::Item.get(stock[i]).is_important? && $PokemonBag.pbHasItem?(stock[i])
|
|
end
|
|
stock.compact!
|
|
commands = []
|
|
cmdBuy = -1
|
|
cmdSell = -1
|
|
cmdQuit = -1
|
|
commands[cmdBuy = commands.length] = _INTL("Buy")
|
|
commands[cmdSell = commands.length] = _INTL("Sell") if !cantsell
|
|
commands[cmdQuit = commands.length] = _INTL("Quit")
|
|
cmd = pbMessage(
|
|
speech ? speech : _INTL("Welcome! How may I serve you?"),
|
|
commands,cmdQuit+1)
|
|
loop do
|
|
if cmdBuy>=0 && cmd==cmdBuy
|
|
adapter = VariableCurrencyMartAdapter.new(currencyVariable)
|
|
scene = PokemonMart_Scene.new(currency_name)
|
|
screen = PokemonMartScreen.new(scene,stock,adapter)
|
|
screen.pbBuyScreen
|
|
elsif cmdSell>=0 && cmd==cmdSell #NOT IMPLEMENTED
|
|
scene = PokemonMart_Scene.new(currency_name)
|
|
screen = PokemonMartScreen.new(scene,stock,adapter)
|
|
screen.pbSellScreen
|
|
else
|
|
pbMessage(_INTL("Please come again!"))
|
|
break
|
|
end
|
|
cmd = pbMessage(_INTL("Is there anything else I can help you with?"),
|
|
commands,cmdQuit+1)
|
|
end
|
|
$game_temp.clear_mart_prices
|
|
end |