mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Refactored berry plant code, added missing berry plant PBS data and charsets, fixed berry sparkles sometimes showing on the wrong map
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
SaveData.register_conversion(:v19_2_fix_berry_plants) do
|
||||
essentials_version 19.2
|
||||
display_title 'Fixing berry plant data'
|
||||
display_title 'Fixing berry plant IDs data'
|
||||
to_value :global_metadata do |global|
|
||||
berry_conversion = {
|
||||
389 => :CHERIBERRY,
|
||||
@@ -76,8 +76,8 @@ SaveData.register_conversion(:v19_2_fix_berry_plants) do
|
||||
61 => :STABLEMULCH,
|
||||
62 => :GOOEYMULCH
|
||||
}
|
||||
global.eventvars.each do |var|
|
||||
next if !var || !var.ia_a?(Array)
|
||||
global.eventvars.each_value do |var|
|
||||
next if !var || !var.is_a?(Array)
|
||||
next if var.length < 6 || var.length > 8 # Neither old nor new berry plant
|
||||
if !var[1].is_a?(Symbol) # Planted berry item
|
||||
var[1] = berry_conversion[var[1]] || :ORANBERRY
|
||||
@@ -89,6 +89,47 @@ SaveData.register_conversion(:v19_2_fix_berry_plants) do
|
||||
end
|
||||
end
|
||||
|
||||
SaveData.register_conversion(:v20_berry_plant_data) do
|
||||
essentials_version 20
|
||||
display_title 'Updating berry plant data format'
|
||||
to_value :global_metadata do |global|
|
||||
if global.eventvars
|
||||
global.eventvars.each_pair do |key, value|
|
||||
next if !value || !value.is_a?(Array)
|
||||
if value.length == 6 # Old berry plant data
|
||||
data = BerryPlantData.new
|
||||
if value[1]&.is_a?(Symbol)
|
||||
plant_data = GameData::DerryPlant.get(value[1])
|
||||
data.new_mechanics = false
|
||||
data.berry_id = value[1]
|
||||
data.time_alive = value[0] * plant_data.hours_per_stage * 3600
|
||||
data.time_last_updated = value[3]
|
||||
data.growth_stage = value[0]
|
||||
data.replant_count = value[5]
|
||||
data.watered_this_stage = value[2]
|
||||
data.watering_count = value[4]
|
||||
end
|
||||
global.eventvars[key] = data
|
||||
elsif value.length == 7 || value.length == 8 # New berry plant data
|
||||
data = BerryPlantData.new
|
||||
if value[1]&.is_a?(Symbol)
|
||||
data.new_mechanics = true
|
||||
data.berry_id = value[1]
|
||||
data.mulch_id = value[7] if value[7]&.is_a?(Symbol)
|
||||
data.time_alive = value[2]
|
||||
data.time_last_updated = value[3]
|
||||
data.growth_stage = value[0]
|
||||
data.replant_count = value[5]
|
||||
data.moisture_level = value[4]
|
||||
data.yield_penalty = value[6]
|
||||
end
|
||||
global.eventvars[key] = data
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
SaveData.register_conversion(:v20_add_battled_counts) do
|
||||
essentials_version 20
|
||||
display_title 'Adding Pokédex battle counts'
|
||||
|
||||
Reference in New Issue
Block a user