Evie (ChickasaurusGL) 🌺 | Arbitrary code execution with a slower defrosted Pokémon (Generation I) @ChickasaurusGL | Uploaded June 2022 | Updated October 2024, 6 hours ago.
Notes: This was very funny. xD I literally came across this accidentally with Blaine because I wanted to see the "Fire defrosted (POKéMON)!" message, but as soon as my Onix defrosted it started using move 0x00 (CoolTrainer), apparently because the game thought it had to auto-select a move (but one had never been chosen prior).
So I just set up X Accuracy to use the move and conditioned the right data at F928 (D928, one byte before opponent's Pokémon 4).
Blaine only has three Pokémon so this data isn't overwritten. If this is possible in a speedrun though, you'd need to plan to condition that data in some way (because outside of a speedrun you could encounter any Trainer you want beforehand, a link trainer, etc.). One idea might be specific data at D9AB (Trainer names for Pokémon), because in NPC battles it will just be copies of the player's name in succession.
Notes: This was very funny. xD I literally came across this accidentally with Blaine because I wanted to see the "Fire defrosted (POKéMON)!" message, but as soon as my Onix defrosted it started using move 0x00 (CoolTrainer), apparently because the game thought it had to auto-select a move (but one had never been chosen prior).
So I just set up X Accuracy to use the move and conditioned the right data at F928 (D928, one byte before opponent's Pokémon 4).
Blaine only has three Pokémon so this data isn't overwritten. If this is possible in a speedrun though, you'd need to plan to condition that data in some way (because outside of a speedrun you could encounter any Trainer you want beforehand, a link trainer, etc.). One idea might be specific data at D9AB (Trainer names for Pokémon), because in NPC battles it will just be copies of the player's name in succession.