Release 6.9.0

This commit is contained in:
chardub
2026-11-02 11:34:46 -05:00
parent 060726298d
commit ae6e2ebc64
5697 changed files with 131795 additions and 17423 deletions
@@ -264,6 +264,15 @@ GameData::Evolution.register({
}
})
GameData::Evolution.register({
:id => :ReversersLevel,
:parameter => Integer,
:level_up_proc => proc { |pkmn, parameter|
next pkmn.level >= parameter #TODO
}
})
GameData::Evolution.register({
:id => :Happiness,
:minimum_level => 1, # Needs any level up
@@ -22,6 +22,7 @@ module GameData
attr_reader :ignore_passability
attr_reader :acroBike
attr_reader :show_footprints
# oricorio
@@ -43,6 +44,15 @@ module GameData
attr_reader :secretBase_tree
attr_reader :secretBase_cave
attr_reader :secretBase_bush
attr_reader :step_sound
attr_reader :ambient_sound
attr_reader :ambient_sound_priority
attr_reader :shifting_tile_horizontal
attr_reader :shifting_tile_vertical
attr_reader :is_cliff
DATA = {}
@@ -86,6 +96,8 @@ module GameData
@ignore_passability = hash[:ignore_passability] || false
@ignore_passability = hash[:ignore_passability] || false
@show_footprints = hash[:show_footprints] || false
@flowerRed = hash[:flowerRed] || false
@flowerYellow = hash[:flowerYellow] || false
@flowerPink = hash[:flowerPink] || false
@@ -102,6 +114,13 @@ module GameData
@secretBase_tree = hash[:secretBase_tree] || false
@secretBase_cave = hash[:secretBase_cave] || false
@secretBase_bush = hash[:secretBase_bush] || false
@shifting_tile_horizontal = hash[:shifting_tile_horizontal] || false
@shifting_tile_vertical = hash[:shifting_tile_vertical] || false
@step_sound = hash[:step_sound]
@ambient_sound = hash[:ambient_sound]
@ambient_sound_priority = hash[:ambient_sound_priority]
@is_cliff = hash[:is_cliff]
end
@@ -126,7 +145,8 @@ GameData::TerrainTag.register({
GameData::TerrainTag.register({
:id => :Ledge,
:id_number => 1,
:ledge => true
:ledge => true,
:is_cliff => true
})
GameData::TerrainTag.register({
@@ -134,19 +154,21 @@ GameData::TerrainTag.register({
:id_number => 2,
:shows_grass_rustle => true,
:land_wild_encounters => true,
:battle_environment => :Grass
:battle_environment => :Grass,
:step_sound => "steps/step_tall_grass"
})
GameData::TerrainTag.register({
:id => :Sand,
:id_number => 3,
:battle_environment => :Sand
:battle_environment => :Sand,
:show_footprints => true,
})
GameData::TerrainTag.register({
:id => :Rock,
:id_number => 15,
:battle_environment => :Rock
:battle_environment => :Rock,
})
GameData::TerrainTag.register({
@@ -179,7 +201,9 @@ GameData::TerrainTag.register({
:id => :Waterfall,
:id_number => 8,
:can_surf => true,
:waterfall => true
:waterfall => true,
:ambient_sound => "ambient/waterfall",
:ambient_sound_priority => 80
})
GameData::TerrainTag.register({
@@ -187,7 +211,9 @@ GameData::TerrainTag.register({
:id_number => 9,
:can_surf => true,
:can_fish => true,
:waterfall_crest => true
:waterfall_crest => true,
:ambient_sound => "ambient/waterfall",
:ambient_sound_priority => 80
})
GameData::TerrainTag.register({
@@ -195,16 +221,17 @@ GameData::TerrainTag.register({
:id_number => 10,
:deep_bush => true,
:land_wild_encounters => true,
:double_wild_encounters => true,
:battle_environment => :TallGrass,
:must_walk => true
:must_walk => true,
:step_sound => "steps/step_tall_grass",
})
GameData::TerrainTag.register({
:id => :UnderwaterGrass,
:id_number => 11,
:underwater => true,
:land_wild_encounters => true
:land_wild_encounters => true,
:step_sound => "steps/step_tall_grass"
})
GameData::TerrainTag.register({
@@ -228,7 +255,8 @@ GameData::TerrainTag.register({
:id_number => 14,
:shows_grass_rustle => true,
:land_wild_encounters => true,
:battle_environment => :Grass
:battle_environment => :Grass,
:step_sound => "steps/step_tall_grass"
})
GameData::TerrainTag.register({
@@ -241,7 +269,8 @@ GameData::TerrainTag.register({
:id => :Puddle,
:id_number => 16,
:battle_environment => :Puddle,
:shows_reflections => false
:land_wild_encounters => true,
:shows_reflections => true
})
GameData::TerrainTag.register({
@@ -286,27 +315,30 @@ GameData::TerrainTag.register({
})
GameData::TerrainTag.register({
:id => :Grass_alt1,
:id => :Grass_alt1, #CLOVERS
:id_number => 24,
:shows_grass_rustle => true,
:land_wild_encounters => true,
:battle_environment => :Grass
:battle_environment => :Grass,
:step_sound => "steps/step_tall_grass"
})
GameData::TerrainTag.register({
:id => :Grass_alt2,
:id => :Grass_alt2, #DRY GRASS
:id_number => 25,
:shows_grass_rustle => true,
:land_wild_encounters => true,
:battle_environment => :Grass
:battle_environment => :Grass,
:step_sound => "steps/step_tall_grass"
})
GameData::TerrainTag.register({
:id => :Grass_alt3,
:id => :Grass_alt3, #FLOWERS
:id_number => 26,
:shows_grass_rustle => true,
:land_wild_encounters => true,
:battle_environment => :Grass
:battle_environment => :Grass,
:step_sound => "steps/step_tall_grass"
})
GameData::TerrainTag.register({
@@ -359,4 +391,108 @@ GameData::TerrainTag.register({
:id => :AcroBike,
:id_number => 34,
:acroBike => true,
})
GameData::TerrainTag.register({
:id => :CutGrass,
:id_number => 35,
})
GameData::TerrainTag.register({
:id => :TallGrassTop,
:id_number => 36,
:step_sound => "steps/step_tall_grass",
})
GameData::TerrainTag.register({
:id => :TallGrassMiddle,
:id_number => 37,
:deep_bush => true,
:land_wild_encounters => true,
:double_wild_encounters => true,
:battle_environment => :TallGrass,
:must_walk => true,
:step_sound => "steps/step_tall_grass",
})
GameData::TerrainTag.register({
:id => :DeepSand,
:id_number => 38,
:battle_environment => :Sand,
:land_wild_encounters => true,
:must_walk => true,
:show_footprints => true,
:can_fish => true,
})
GameData::TerrainTag.register({
:id => :SuspendedBridgeVertical,
:id_number => 39,
:shifting_tile_vertical => true,
:step_sound => "steps/wooden_bridge",
:bridge => true
})
GameData::TerrainTag.register({
:id => :SuspendedBridgeHHorizontal,
:id_number => 40,
:shifting_tile_horizontal => true,
:step_sound => "steps/wooden_bridge",
:bridge => true
})
GameData::TerrainTag.register({
:id => :Beach,
:id_number => 41,
:battle_environment => :Sand,
:show_footprints => true,
:ambient_sound => "ambient/ocean",
:ambient_sound_priority => 50,
})
GameData::TerrainTag.register({ #Like normal water, but with a river flowing sound effect
:id => :RiverWater,
:id_number => 42,
:can_surf => true,
:can_fish => true,
:battle_environment => :MovingWater,
:ambient_sound => "ambient/river",
:ambient_sound_priority => 50
})
GameData::TerrainTag.register({
:id => :Lava,
:id_number => 43,
:battle_environment => :Volcano,
:ambient_sound => "ambient/lava",
:ambient_sound_priority => 30,
:can_fish => true,
})
GameData::TerrainTag.register({
:id => :Snow,
:id_number => 44,
:battle_environment => :Snow,
:show_footprints => true,
})
GameData::TerrainTag.register({
:id => :Cliff,
:id_number => 45,
:is_cliff => true,
:battle_environment => :Rock,
})
GameData::TerrainTag.register({
:id => :Mud,
:id_number => 46,
:step_sound => "steps/step_mud",
:show_footprints => true,
})
GameData::TerrainTag.register({
:id => :Grass_alt4, #Additional grass type for maps that need something else aside from grass, clovers, dry grass and flowers
:id_number => 47,
:shows_grass_rustle => true,
:land_wild_encounters => true,
:battle_environment => :Grass,
:step_sound => "steps/step_tall_grass"
})
@@ -128,8 +128,8 @@ GameData::Weather.register({
:graphics => [["sandstorm_1", "sandstorm_2", "sandstorm_3", "sandstorm_4"], ["sandstorm_tile"]],
:particle_delta_x => -1200,
:particle_delta_y => 640,
:tile_delta_x => -720,
:tile_delta_y => 360,
:tile_delta_x => -800,
:tile_delta_y => 400,
:tone_proc => proc { |strength|
next Tone.new(strength / 2, 0, -strength / 2, 0)
}
@@ -199,9 +199,11 @@ GameData::Weather.register({
:graphics => [["ash_1", "ash_2", "ash_3"]],
:particle_delta_x => 20,
:particle_delta_y => 100,
:tone_proc => proc { |strength|
next Tone.new(strength / 2, strength / 2, strength / 2, 0)
}
:tone_proc => proc { |strength| next Tone.new(0, 0, 0, 0) }
# :tone_proc => proc { |strength|
# # next Tone.new(strength / 2, strength / 2, strength / 2, 0)
# next Tone.new(0, 0, 0, 0)
# }
})
GameData::Weather.register({ #Used underwater
@@ -209,8 +211,20 @@ GameData::Weather.register({ #Used underwater
:id_number => 13,
:graphics => [["bubble_1", "bubble_2", "bubble_3"]],
:particle_delta_x => 20,
:particle_delta_y => 40,
:particle_delta_y => -40,
:tone_proc => proc { |strength|
next Tone.new(strength / 2, strength / 2, strength / 2, 0)
}
})
})
GameData::Weather.register({
:id => :Crumble,
:id_number => 14,
:category => :Crumble,
:graphics => [[], ["crumble_tile"]],
:tile_delta_x => 0,
:tile_delta_y => 300,
:tone_proc => proc { |strength|
next Tone.new(strength / 2, 0, -strength / 2, 0)
}
})
@@ -55,6 +55,19 @@ GameData::EncounterType.register({
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
})
GameData::EncounterType.register({
:id => :Land4,
:type => :land,
:trigger_chance => 10,
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
})
GameData::EncounterType.register({
:id => :Puddle,
:type => :land,
:trigger_chance => 5,
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
})
GameData::EncounterType.register({
:id => :LandDay,
@@ -96,7 +96,8 @@ GameData::Environment.register({
GameData::Environment.register({
:id => :Snow,
:name => _INTL("Snow")
:name => _INTL("Snow"),
:battle_base => "snow"
})
GameData::Environment.register({
@@ -192,6 +192,9 @@ module GameData
end
# @return [String] the translated name of this species
def name
if getCurrentLanguage == :FRENCH_QC
return @real_name
end
ret = MessageTypes.get(MessageTypes::Species, @id_number)
return (ret && !ret.empty?) ? ret : @real_name
end
@@ -212,7 +212,6 @@ module GameData
end
def generateRandomGymSpecies(old_species)
echoln "GENERATING GYM SPECIES"
gym_index = pbGet(VAR_CURRENT_GYM_TYPE)
return old_species if gym_index == -1
return generateRandomChampionSpecies(old_species) if gym_index == 999
@@ -222,10 +221,12 @@ module GameData
customsList = getCustomSpeciesList()
bst_range = pbGet(VAR_RANDOMIZER_TRAINER_BST)
gym_type = GameData::Type.get(type_id)
echoln "type: #{gym_type.id}"
#echoln "type: #{gym_type.id}"
same_egg_group = $game_switches[SWITCH_RANDOM_GYM_EGG_GROUP]
while true
new_species = $game_switches[SWITCH_RANDOM_GYM_CUSTOMS] ? getSpecies(getNewCustomSpecies(old_species, customsList, bst_range)) : getSpecies(getNewSpecies(old_species, bst_range))
new_species = $game_switches[SWITCH_RANDOM_GYM_CUSTOMS] ? getSpecies(getNewCustomSpecies(old_species, customsList, bst_range, false, true, same_egg_group)) : getSpecies(getNewSpecies(old_species, bst_range, false, PBSpecies.maxValue, true, same_egg_group))
#echoln "#{old_species} - #{new_species.name}> "
return new_species if $game_switches[SWITCH_LEGENDARY_MODE] # new_species = $game_switches[SWITCH_RANDOM_GYM_CUSTOMS] ? getSpecies(getNewCustomSpecies(old_species, customsList, bst_range)) : getSpecies(getNewSpecies(old_species, bst_range))
if new_species.hasType?(gym_type)
return new_species