Pokemon Emerald: Prevent evolution fanfare from being replaced with flute (#4113)
* Pokemon Emerald: Prevent evolution fanfare from being replaced with flute * Pokemon Emerald: Update Changelog
This commit is contained in:
parent
96abc32f7d
commit
504eceaf4f
|
@ -20,6 +20,8 @@ the player randomized NPC gifts.
|
||||||
with another NPC was moved to an unoccupied space.
|
with another NPC was moved to an unoccupied space.
|
||||||
- Fixed a problem where the client would crash on certain operating systems while using certain python versions if the
|
- Fixed a problem where the client would crash on certain operating systems while using certain python versions if the
|
||||||
player tried to wonder trade.
|
player tried to wonder trade.
|
||||||
|
- Prevent the poke flute sound from replacing the evolution fanfare, which would cause the game to wait in silence for
|
||||||
|
a long time during the evolution scene.
|
||||||
|
|
||||||
# 2.2.0
|
# 2.2.0
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,7 @@ _FANFARES: Dict[str, int] = {
|
||||||
"MUS_OBTAIN_SYMBOL": 318,
|
"MUS_OBTAIN_SYMBOL": 318,
|
||||||
"MUS_REGISTER_MATCH_CALL": 135,
|
"MUS_REGISTER_MATCH_CALL": 135,
|
||||||
}
|
}
|
||||||
|
_EVOLUTION_FANFARE_INDEX = list(_FANFARES.keys()).index("MUS_EVOLVED")
|
||||||
|
|
||||||
CAVE_EVENT_NAME_TO_ID = {
|
CAVE_EVENT_NAME_TO_ID = {
|
||||||
"TERRA_CAVE_ROUTE_114_1": 1,
|
"TERRA_CAVE_ROUTE_114_1": 1,
|
||||||
|
@ -661,6 +662,15 @@ def write_tokens(world: "PokemonEmeraldWorld", patch: PokemonEmeraldProcedurePat
|
||||||
# Shuffle the lists, pair new tracks with original tracks, set the new track ids, and set new fanfare durations
|
# Shuffle the lists, pair new tracks with original tracks, set the new track ids, and set new fanfare durations
|
||||||
randomized_fanfares = [fanfare_name for fanfare_name in _FANFARES]
|
randomized_fanfares = [fanfare_name for fanfare_name in _FANFARES]
|
||||||
world.random.shuffle(randomized_fanfares)
|
world.random.shuffle(randomized_fanfares)
|
||||||
|
|
||||||
|
# Prevent the evolution fanfare from receiving the poke flute by swapping it with something else.
|
||||||
|
# The poke flute sound causes the evolution scene to get stuck for like 40 seconds
|
||||||
|
if randomized_fanfares[_EVOLUTION_FANFARE_INDEX] == "MUS_RG_POKE_FLUTE":
|
||||||
|
swap_index = (_EVOLUTION_FANFARE_INDEX + 1) % len(_FANFARES)
|
||||||
|
temp = randomized_fanfares[_EVOLUTION_FANFARE_INDEX]
|
||||||
|
randomized_fanfares[_EVOLUTION_FANFARE_INDEX] = randomized_fanfares[swap_index]
|
||||||
|
randomized_fanfares[swap_index] = temp
|
||||||
|
|
||||||
for i, fanfare_pair in enumerate(zip(_FANFARES.keys(), randomized_fanfares)):
|
for i, fanfare_pair in enumerate(zip(_FANFARES.keys(), randomized_fanfares)):
|
||||||
patch.write_token(
|
patch.write_token(
|
||||||
APTokenTypes.WRITE,
|
APTokenTypes.WRITE,
|
||||||
|
|
Loading…
Reference in New Issue