Pokemon Emerald: Fix opponents learning non-randomized TMs (#3025)

This commit is contained in:
Bryce Wilson 2024-03-28 18:05:39 -06:00 committed by GitHub
parent 5d9d4ed9f1
commit 4391d1f4c1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 9 deletions

View File

@ -569,14 +569,6 @@ class PokemonEmeraldWorld(World):
self.modified_misc_pokemon = copy.deepcopy(emerald_data.misc_pokemon)
self.modified_starters = copy.deepcopy(emerald_data.starters)
randomize_abilities(self)
randomize_learnsets(self)
randomize_tm_hm_compatibility(self)
randomize_legendary_encounters(self)
randomize_misc_pokemon(self)
randomize_opponent_parties(self)
randomize_starters(self)
# Modify catch rate
min_catch_rate = min(self.options.min_catch_rate.value, 255)
for species in self.modified_species.values():
@ -591,6 +583,14 @@ class PokemonEmeraldWorld(World):
new_moves.add(new_move)
self.modified_tmhm_moves[i] = new_move
randomize_abilities(self)
randomize_learnsets(self)
randomize_tm_hm_compatibility(self)
randomize_legendary_encounters(self)
randomize_misc_pokemon(self)
randomize_opponent_parties(self)
randomize_starters(self)
create_patch(self, output_directory)
del self.modified_trainers

View File

@ -80,7 +80,7 @@ def randomize_opponent_parties(world: "PokemonEmeraldWorld") -> None:
per_species_tmhm_moves[new_species.species_id] = sorted({
world.modified_tmhm_moves[i]
for i, is_compatible in enumerate(int_to_bool_array(new_species.tm_hm_compatibility))
if is_compatible
if is_compatible and world.modified_tmhm_moves[i] not in world.blacklisted_moves
})
# TMs and HMs compatible with the species