diff --git a/Data/Scripts/010_Data/002_PBS data/013_Trainer.rb b/Data/Scripts/010_Data/002_PBS data/013_Trainer.rb index 231bb51f8..4c838e677 100644 --- a/Data/Scripts/010_Data/002_PBS data/013_Trainer.rb +++ b/Data/Scripts/010_Data/002_PBS data/013_Trainer.rb @@ -114,11 +114,22 @@ module GameData end end - #todo customsListinCache so it's faster + def generateRandomChampionSpecies(old_species) + customsList = getCustomSpeciesList() + bst_range = pbGet(VAR_RANDOMIZER_TRAINER_BST) + new_species = $game_switches[SWITCH_RANDOM_GYM_CUSTOMS] ? getSpecies(getNewCustomSpecies(old_species, customsList, bst_range)) : getSpecies(getNewSpecies(old_species, bst_range)) + #every pokemon should be fully evolved + evolved_species_id = getEvolution(new_species) + evolved_species_id = getEvolution(evolved_species_id) + evolved_species_id = getEvolution(evolved_species_id) + evolved_species_id = getEvolution(evolved_species_id) + return getSpecies(evolved_species_id) + end + def generateRandomGymSpecies(old_species) gym_index = pbGet(VAR_CURRENT_GYM_TYPE) - return old_species if gym_index == -1 || gym_index == 999 - + return old_species if gym_index == -1 + return generateRandomChampionSpecies(old_species) if gym_index == 999 type_id = pbGet(VAR_GYM_TYPES_ARRAY)[gym_index] return old_species if type_id == -1 @@ -150,7 +161,7 @@ module GameData end def add_generated_species_to_gym_array(new_species, trainerId) - if(new_species.is_a?(Symbol)) + if (new_species.is_a?(Symbol)) id = new_species else id = new_species.id_number diff --git a/Data/Scripts/050_AddOns/Trainers Rebattle.rb b/Data/Scripts/050_AddOns/Trainers Rebattle.rb index e52f7f9bc..6171f2ee9 100644 --- a/Data/Scripts/050_AddOns/Trainers Rebattle.rb +++ b/Data/Scripts/050_AddOns/Trainers Rebattle.rb @@ -153,7 +153,8 @@ def evolveRematchPokemon(nbRematch, speciesSymbol) end -def getEvolution(species, halfToEvolve=nil) +def getEvolution(speciesParam, halfToEvolve=nil) + species = dexNum(speciesParam) begin prioritizeHead = halfToEvolve == :HEAD prioritizeBody = halfToEvolve == :BODY diff --git a/Data/System.rxdata b/Data/System.rxdata index 1f91fbfb2..9adf8aa42 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ