Evie (ChickasaurusGL) 🌺 | Special text box IDs during Trainer-Fly that work independent of maps (Generation I) @ChickasaurusGL | Uploaded April 2023 | Updated October 2024, 13 hours ago.
(For this video I'm copy and pasting text I wrote for this article https://glitchcity.wiki/List_of_text_control_codes )
There are six special text IDs which always result in the same message box. They can be manipulated with text box ID matching by setting up the Trainer escape glitch and having CF13 as one of the following values.
00 - Open the Start menu (what players are expected to do before returning to the route)
D0 - Displays "[$CD6D] fainted!" but seemingly doesn't actually faint a Pokémon. There are numerous interactions which will update CD6D, such as Flying (displaying [Town Map name] fainted!) and having previously fought a Trainer (displaying [Trainer name] fainted!) but assuming it is possible to keep CF13 as D0. (If the player wanted, they could also use arbitrary code execution to write a custom message at CD6D)
D1 - Displays "[PLAYER NAME] is out of useable POKéMON! RED blacked out!" but doesn't actually black out Red.
D2 - Displays the message "REPEL's effect wore off." but seemingly doesn't actually affect Repel steps.
D3 - Displays the message "PA: Your SAFARI GAME is over!" but doesn't actually warp Red to the Safari Zone gate.
D4 - Brings up Pikachu's emotion box with Pikachu's current emotion. If done during the Trainer escape glitch (possible by simply talking to Pikachu immediately before returning to the route), it brings up a blank text box as well. This ID is exclusive to Pokémon Yellow. It will also work even if the player never obtained a Pikachu by adjusting a meta-map script to 01 for a route with Trainers, and the emotion may be as if the player just obtained Pikachu.
See also:
github.com/pret/pokered/blob/master/constants/text_constants.asm
github.com/pret/pokeyellow/blob/master/constants/text_constants.asm
(For this video I'm copy and pasting text I wrote for this article https://glitchcity.wiki/List_of_text_control_codes )
There are six special text IDs which always result in the same message box. They can be manipulated with text box ID matching by setting up the Trainer escape glitch and having CF13 as one of the following values.
00 - Open the Start menu (what players are expected to do before returning to the route)
D0 - Displays "[$CD6D] fainted!" but seemingly doesn't actually faint a Pokémon. There are numerous interactions which will update CD6D, such as Flying (displaying [Town Map name] fainted!) and having previously fought a Trainer (displaying [Trainer name] fainted!) but assuming it is possible to keep CF13 as D0. (If the player wanted, they could also use arbitrary code execution to write a custom message at CD6D)
D1 - Displays "[PLAYER NAME] is out of useable POKéMON! RED blacked out!" but doesn't actually black out Red.
D2 - Displays the message "REPEL's effect wore off." but seemingly doesn't actually affect Repel steps.
D3 - Displays the message "PA: Your SAFARI GAME is over!" but doesn't actually warp Red to the Safari Zone gate.
D4 - Brings up Pikachu's emotion box with Pikachu's current emotion. If done during the Trainer escape glitch (possible by simply talking to Pikachu immediately before returning to the route), it brings up a blank text box as well. This ID is exclusive to Pokémon Yellow. It will also work even if the player never obtained a Pikachu by adjusting a meta-map script to 01 for a route with Trainers, and the emotion may be as if the player just obtained Pikachu.
See also:
github.com/pret/pokered/blob/master/constants/text_constants.asm
github.com/pret/pokeyellow/blob/master/constants/text_constants.asm