mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-11 07:04:59 +00:00
Implemented usage of GameData::Item
This commit is contained in:
@@ -10,7 +10,7 @@ def pbLoadBerryPlantData
|
||||
if pbRgssExists?("Data/berry_plants.dat")
|
||||
$PokemonTemp.berryPlantData = load_data("Data/berry_plants.dat")
|
||||
else
|
||||
$PokemonTemp.berryPlantData = []
|
||||
$PokemonTemp.berryPlantData = {}
|
||||
end
|
||||
end
|
||||
return $PokemonTemp.berryPlantData
|
||||
@@ -19,7 +19,7 @@ end
|
||||
def pbGetBerryPlantData(item)
|
||||
data = pbLoadBerryPlantData
|
||||
return data[item] if data[item]
|
||||
return [3,15,2,5] # Hours/stage, drying/hour, min yield, max yield
|
||||
return [3, 15, 2, 5] # Hours/stage, drying/hour, min yield, max yield
|
||||
end
|
||||
|
||||
alias __berryPlant__pbClearData pbClearData
|
||||
@@ -77,7 +77,7 @@ class BerryPlantMoistureSprite
|
||||
def update
|
||||
return if !@light || !@event
|
||||
newmoisture=-1
|
||||
if @event.variable && @event.variable.length>6 && @event.variable[1]>0
|
||||
if @event.variable && @event.variable.length>6 && @event.variable[1]
|
||||
# Berry was planted, show moisture patch
|
||||
newmoisture=(@event.variable[4]>50) ? 2 : (@event.variable[4]>0) ? 1 : 0
|
||||
end
|
||||
@@ -153,16 +153,17 @@ class BerryPlantSprite
|
||||
dryingrate=berryvalues[1]
|
||||
maxreplants=REPLANTS
|
||||
ripestages=4
|
||||
if isConst?(berryData[7],PBItems,:GROWTHMULCH)
|
||||
timeperstage=(timeperstage*0.75).to_i
|
||||
dryingrate=(dryingrate*1.5).ceil
|
||||
elsif isConst?(berryData[7],PBItems,:DAMPMULCH)
|
||||
timeperstage=(timeperstage*1.25).to_i
|
||||
dryingrate=(dryingrate*0.5).floor
|
||||
elsif isConst?(berryData[7],PBItems,:GOOEYMULCH)
|
||||
maxreplants=(maxreplants*1.5).ceil
|
||||
elsif isConst?(berryData[7],PBItems,:STABLEMULCH)
|
||||
ripestages=6
|
||||
case berryData[7]
|
||||
when :GROWTHMULCH
|
||||
timeperstage = (timeperstage * 0.75).to_i
|
||||
dryingrate = (dryingrate * 1.5).ceil
|
||||
when :DAMPMULCH
|
||||
timeperstage = (timeperstage * 1.25).to_i
|
||||
dryingrate = (dryingrate * 0.5).floor
|
||||
when :GOOEYMULCH
|
||||
maxreplants = (maxreplants * 1.5).ceil
|
||||
when :STABLEMULCH
|
||||
ripestages = 6
|
||||
end
|
||||
# Cycle through all replants since last check
|
||||
loop do
|
||||
@@ -281,8 +282,10 @@ class BerryPlantSprite
|
||||
@event.character_name="berrytreeplanted" # Common to all berries
|
||||
@event.turn_down
|
||||
else
|
||||
filename=sprintf("berrytree%s",getConstantName(PBItems,berryData[1])) rescue nil
|
||||
filename=sprintf("berrytree%03d",berryData[1]) if !pbResolveBitmap("Graphics/Characters/"+filename)
|
||||
filename=sprintf("berrytree%s",GameData::Item.get(berryData[1]).id.to_s) rescue nil
|
||||
if !pbResolveBitmap("Graphics/Characters/"+filename)
|
||||
filename=sprintf("berrytree%03d",GameData::Item.get(berryData[1]).id_number)
|
||||
end
|
||||
if pbResolveBitmap("Graphics/Characters/"+filename)
|
||||
@event.character_name=filename
|
||||
case berryData[0]
|
||||
@@ -310,9 +313,9 @@ def pbBerryPlant
|
||||
berryData=interp.getVariable
|
||||
if !berryData
|
||||
if NEW_BERRY_PLANTS
|
||||
berryData=[0,0,0,0,0,0,0,0]
|
||||
berryData=[0,nil,0,0,0,0,0,0]
|
||||
else
|
||||
berryData=[0,0,false,0,0,0]
|
||||
berryData=[0,nil,false,0,0,0]
|
||||
end
|
||||
end
|
||||
# Stop the event turning towards the player
|
||||
@@ -323,12 +326,7 @@ def pbBerryPlant
|
||||
when 4; thisEvent.turn_right # X flowering
|
||||
when 5; thisEvent.turn_up # X berries
|
||||
end
|
||||
watering=[]
|
||||
watering.push(getConst(PBItems,:SPRAYDUCK))
|
||||
watering.push(getConst(PBItems,:SQUIRTBOTTLE))
|
||||
watering.push(getConst(PBItems,:WAILMERPAIL))
|
||||
watering.push(getConst(PBItems,:SPRINKLOTAD))
|
||||
watering.compact!
|
||||
watering = [:SPRAYDUCK, :SQUIRTBOTTLE, :WAILMERPAIL, :SPRINKLOTAD]
|
||||
berry=berryData[1]
|
||||
case berryData[0]
|
||||
when 0 # empty
|
||||
@@ -344,19 +342,19 @@ def pbBerryPlant
|
||||
pbFadeOutIn {
|
||||
scene = PokemonBag_Scene.new
|
||||
screen = PokemonBagScreen.new(scene,$PokemonBag)
|
||||
ret = screen.pbChooseItemScreen(Proc.new { |item| pbIsMulch?(item) })
|
||||
ret = screen.pbChooseItemScreen(Proc.new { |item| GameData::Item.get(item).is_mulch? })
|
||||
}
|
||||
if ret>0
|
||||
if pbIsMulch?(ret)
|
||||
if ret
|
||||
if GameData::Item.get(ret).is_mulch?
|
||||
berryData[7]=ret
|
||||
pbMessage(_INTL("The {1} was scattered on the soil.\1",PBItems.getName(ret)))
|
||||
pbMessage(_INTL("The {1} was scattered on the soil.\1",GameData::Item.get(ret).name))
|
||||
if pbConfirmMessage(_INTL("Want to plant a Berry?"))
|
||||
pbFadeOutIn {
|
||||
scene = PokemonBag_Scene.new
|
||||
screen = PokemonBagScreen.new(scene,$PokemonBag)
|
||||
berry = screen.pbChooseItemScreen(Proc.new { |item| pbIsBerry?(item) })
|
||||
berry = screen.pbChooseItemScreen(Proc.new { |item| GameData::Item.get(item).is_berry? })
|
||||
}
|
||||
if berry>0
|
||||
if berry
|
||||
timenow=pbGetTimeNow
|
||||
berryData[0]=1 # growth stage (1-5)
|
||||
berryData[1]=berry # item ID of planted berry
|
||||
@@ -367,7 +365,7 @@ def pbBerryPlant
|
||||
berryData[6]=0 # yield penalty
|
||||
$PokemonBag.pbDeleteItem(berry,1)
|
||||
pbMessage(_INTL("The {1} was planted in the soft, earthy soil.",
|
||||
PBItems.getName(berry)))
|
||||
GameData::Item.get(berry).name))
|
||||
end
|
||||
end
|
||||
interp.setVariable(berryData)
|
||||
@@ -380,9 +378,9 @@ def pbBerryPlant
|
||||
pbFadeOutIn {
|
||||
scene = PokemonBag_Scene.new
|
||||
screen = PokemonBagScreen.new(scene,$PokemonBag)
|
||||
berry = screen.pbChooseItemScreen(Proc.new { |item| pbIsBerry?(item) })
|
||||
berry = screen.pbChooseItemScreen(Proc.new { |item| GameData::Item.get(item).is_berry? })
|
||||
}
|
||||
if berry>0
|
||||
if berry
|
||||
timenow=pbGetTimeNow
|
||||
berryData[0]=1 # growth stage (1-5)
|
||||
berryData[1]=berry # item ID of planted berry
|
||||
@@ -393,20 +391,20 @@ def pbBerryPlant
|
||||
berryData[6]=0 # yield penalty
|
||||
$PokemonBag.pbDeleteItem(berry,1)
|
||||
pbMessage(_INTL("The {1} was planted in the soft, earthy soil.",
|
||||
PBItems.getName(berry)))
|
||||
GameData::Item.get(berry).name))
|
||||
interp.setVariable(berryData)
|
||||
end
|
||||
return
|
||||
end
|
||||
else
|
||||
pbMessage(_INTL("{1} has been laid down.\1",PBItems.getName(berryData[7])))
|
||||
pbMessage(_INTL("{1} has been laid down.\1",GameData::Item.get(berryData[7]).name))
|
||||
if pbConfirmMessage(_INTL("Want to plant a Berry?"))
|
||||
pbFadeOutIn {
|
||||
scene = PokemonBag_Scene.new
|
||||
screen = PokemonBagScreen.new(scene,$PokemonBag)
|
||||
berry = screen.pbChooseItemScreen(Proc.new { |item| pbIsBerry?(item) })
|
||||
berry = screen.pbChooseItemScreen(Proc.new { |item| GameData::Item.get(item).is_berry? })
|
||||
}
|
||||
if berry>0
|
||||
if berry
|
||||
timenow=pbGetTimeNow
|
||||
berryData[0]=1 # growth stage (1-5)
|
||||
berryData[1]=berry # item ID of planted berry
|
||||
@@ -417,7 +415,7 @@ def pbBerryPlant
|
||||
berryData[6]=0 # yield penalty
|
||||
$PokemonBag.pbDeleteItem(berry,1)
|
||||
pbMessage(_INTL("The {1} was planted in the soft, earthy soil.",
|
||||
PBItems.getName(berry)))
|
||||
GameData::Item.get(berry).name))
|
||||
interp.setVariable(berryData)
|
||||
end
|
||||
return
|
||||
@@ -429,9 +427,9 @@ def pbBerryPlant
|
||||
pbFadeOutIn {
|
||||
scene = PokemonBag_Scene.new
|
||||
screen = PokemonBagScreen.new(scene,$PokemonBag)
|
||||
berry = screen.pbChooseItemScreen(Proc.new { |item| pbIsBerry?(item) })
|
||||
berry = screen.pbChooseItemScreen(Proc.new { |item| GameData::Item.get(item).is_berry? })
|
||||
}
|
||||
if berry>0
|
||||
if berry
|
||||
timenow=pbGetTimeNow
|
||||
berryData[0]=1 # growth stage (1-5)
|
||||
berryData[1]=berry # item ID of planted berry
|
||||
@@ -442,33 +440,33 @@ def pbBerryPlant
|
||||
berryData[6]=nil; berryData[7]=nil; berryData.compact! # for compatibility
|
||||
$PokemonBag.pbDeleteItem(berry,1)
|
||||
pbMessage(_INTL("{1} planted a {2} in the soft loamy soil.",
|
||||
$Trainer.name,PBItems.getName(berry)))
|
||||
$Trainer.name,GameData::Item.get(berry).name))
|
||||
interp.setVariable(berryData)
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
when 1 # X planted
|
||||
pbMessage(_INTL("A {1} was planted here.",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("A {1} was planted here.",GameData::Item.get(berry).name))
|
||||
when 2 # X sprouted
|
||||
pbMessage(_INTL("The {1} has sprouted.",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("The {1} has sprouted.",GameData::Item.get(berry).name))
|
||||
when 3 # X taller
|
||||
pbMessage(_INTL("The {1} plant is growing bigger.",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("The {1} plant is growing bigger.",GameData::Item.get(berry).name))
|
||||
when 4 # X flowering
|
||||
if NEW_BERRY_PLANTS
|
||||
pbMessage(_INTL("This {1} plant is in bloom!",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("This {1} plant is in bloom!",GameData::Item.get(berry).name))
|
||||
else
|
||||
case berryData[4]
|
||||
when 4
|
||||
pbMessage(_INTL("This {1} plant is in fabulous bloom!",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("This {1} plant is in fabulous bloom!",GameData::Item.get(berry).name))
|
||||
when 3
|
||||
pbMessage(_INTL("This {1} plant is blooming very beautifully!",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("This {1} plant is blooming very beautifully!",GameData::Item.get(berry).name))
|
||||
when 2
|
||||
pbMessage(_INTL("This {1} plant is blooming prettily!",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("This {1} plant is blooming prettily!",GameData::Item.get(berry).name))
|
||||
when 1
|
||||
pbMessage(_INTL("This {1} plant is blooming cutely!",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("This {1} plant is blooming cutely!",GameData::Item.get(berry).name))
|
||||
else
|
||||
pbMessage(_INTL("This {1} plant is in bloom!",PBItems.getName(berry)))
|
||||
pbMessage(_INTL("This {1} plant is in bloom!",GameData::Item.get(berry).name))
|
||||
end
|
||||
end
|
||||
when 5 # X berries
|
||||
@@ -487,7 +485,9 @@ def pbBerryPlant
|
||||
berrycount=berryvalues[2]
|
||||
end
|
||||
end
|
||||
itemname=(berrycount>1) ? PBItems.getNamePlural(berry) : PBItems.getName(berry)
|
||||
item = GameData::Item.get(berry)
|
||||
itemname = (berrycount>1) ? item.name_plural : item.name
|
||||
pocket = item.pocket
|
||||
if berrycount>1
|
||||
message=_INTL("There are {1} \\c[1]{2}\\c[0]!\nWant to pick them?",berrycount,itemname)
|
||||
else
|
||||
@@ -504,15 +504,14 @@ def pbBerryPlant
|
||||
else
|
||||
pbMessage(_INTL("You picked the \\c[1]{1}\\c[0].\\wtnp[30]",itemname))
|
||||
end
|
||||
pocket = pbGetPocket(berry)
|
||||
pbMessage(_INTL("{1} put the \\c[1]{2}\\c[0] in the <icon=bagPocket{3}>\\c[1]{4}\\c[0] Pocket.\1",
|
||||
$Trainer.name,itemname,pocket,PokemonBag.pocketNames()[pocket]))
|
||||
if NEW_BERRY_PLANTS
|
||||
pbMessage(_INTL("The soil returned to its soft and earthy state."))
|
||||
berryData=[0,0,0,0,0,0,0,0]
|
||||
berryData=[0,nil,0,0,0,0,0,0]
|
||||
else
|
||||
pbMessage(_INTL("The soil returned to its soft and loamy state."))
|
||||
berryData=[0,0,false,0,0,0]
|
||||
berryData=[0,nil,false,0,0,0]
|
||||
end
|
||||
interp.setVariable(berryData)
|
||||
end
|
||||
@@ -520,38 +519,37 @@ def pbBerryPlant
|
||||
case berryData[0]
|
||||
when 1, 2, 3, 4
|
||||
for i in watering
|
||||
if i!=0 && $PokemonBag.pbHasItem?(i)
|
||||
if pbConfirmMessage(_INTL("Want to sprinkle some water with the {1}?",PBItems.getName(i)))
|
||||
if berryData.length>6
|
||||
# Gen 4 berry watering mechanics
|
||||
berryData[4]=100
|
||||
else
|
||||
# Gen 3 berry watering mechanics
|
||||
if berryData[2]==false
|
||||
berryData[4]+=1
|
||||
berryData[2]=true
|
||||
end
|
||||
end
|
||||
interp.setVariable(berryData)
|
||||
pbMessage(_INTL("{1} watered the plant.\\wtnp[40]",$Trainer.name))
|
||||
if NEW_BERRY_PLANTS
|
||||
pbMessage(_INTL("There! All happy!"))
|
||||
else
|
||||
pbMessage(_INTL("The plant seemed to be delighted."))
|
||||
next if !GameData::Item.exists?(i) || !$PokemonBag.pbHasItem?(i)
|
||||
if pbConfirmMessage(_INTL("Want to sprinkle some water with the {1}?",GameData::Item.get(i).name))
|
||||
if berryData.length>6
|
||||
# Gen 4 berry watering mechanics
|
||||
berryData[4]=100
|
||||
else
|
||||
# Gen 3 berry watering mechanics
|
||||
if berryData[2]==false
|
||||
berryData[4]+=1
|
||||
berryData[2]=true
|
||||
end
|
||||
end
|
||||
break
|
||||
interp.setVariable(berryData)
|
||||
pbMessage(_INTL("{1} watered the plant.\\wtnp[40]",$Trainer.name))
|
||||
if NEW_BERRY_PLANTS
|
||||
pbMessage(_INTL("There! All happy!"))
|
||||
else
|
||||
pbMessage(_INTL("The plant seemed to be delighted."))
|
||||
end
|
||||
end
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def pbPickBerry(berry,qty=1)
|
||||
def pbPickBerry(berry, qty = 1)
|
||||
interp=pbMapInterpreter
|
||||
thisEvent=interp.get_character(0)
|
||||
berryData=interp.getVariable
|
||||
berry=getID(PBItems,berry)
|
||||
itemname=(qty>1) ? PBItems.getNamePlural(berry) : PBItems.getName(berry)
|
||||
berry=GameData::Item.get(berry)
|
||||
itemname=(qty>1) ? berry.name_plural : berry.name
|
||||
if qty>1
|
||||
message=_INTL("There are {1} \\c[1]{2}\\c[0]!\nWant to pick them?",qty,itemname)
|
||||
else
|
||||
@@ -568,15 +566,15 @@ def pbPickBerry(berry,qty=1)
|
||||
else
|
||||
pbMessage(_INTL("You picked the \\c[1]{1}\\c[0].\\wtnp[30]",itemname))
|
||||
end
|
||||
pocket = pbGetPocket(berry)
|
||||
pocket = berry.pocket
|
||||
pbMessage(_INTL("{1} put the \\c[1]{2}\\c[0] in the <icon=bagPocket{3}>\\c[1]{4}\\c[0] Pocket.\1",
|
||||
$Trainer.name,itemname,pocket,PokemonBag.pocketNames()[pocket]))
|
||||
if NEW_BERRY_PLANTS
|
||||
pbMessage(_INTL("The soil returned to its soft and earthy state."))
|
||||
berryData=[0,0,0,0,0,0,0,0]
|
||||
berryData=[0,nil,0,0,0,0,0,0]
|
||||
else
|
||||
pbMessage(_INTL("The soil returned to its soft and loamy state."))
|
||||
berryData=[0,0,false,0,0,0]
|
||||
berryData=[0,nil,false,0,0,0]
|
||||
end
|
||||
interp.setVariable(berryData)
|
||||
pbSetSelfSwitch(thisEvent.id,"A",true)
|
||||
|
||||
Reference in New Issue
Block a user