Jump to content

Safari Zone exit glitch: Difference between revisions

no edit summary
>Torchickens
>Bbbbbbbbba
No edit summary
Line 20:
 
These Glitch Cities are not unique 'glitch areas', but rather glitchy versions of existing maps. This can be confirmed by tracking the memory address D35E (the current map location) or viewing the Town Map; the location or location name will be the same as the location you were in before the PA called you to say your Safari Zone time was over.
 
===Escaping from the Safari Zone===
The reason steps 2~4 allows you to leave the Safari Zone without properly ending the Safari game is due to an oversight in the Safari Zone entrance overworld script.
 
In Gen I, the game keeps track of a script ID for almost every overworld map. The script ID indicates the "status" of that specific map (e.g. [[Trainer escape glitch|whether the player is being seen by a trainer]]), and determines the overworld script that runs every frame when the player is in that map. The piece of script responsible for asking the player "leave early?" when the player tries to do so is script #5 in the Safari Zone entrance. A "yes" answer would end the Safari game properly, make the player walk out, and change the script ID back to 0 (the initial state). A "no" answer is supposed to make the player return to the Safari Zone, and leave the script ID at 5 (so that the player is asked again if they try to leave again).
 
However, the script makes the player walk in both cases, and "player being forced to walk" is another status that needs to have its own script ID. Hence in both cases, the script ID is actually changed to 6, with the script ID that should come afterwards (either 0 or 5) stored in memory address CF0D. When the auto walk ends, script #6 reads the value in memory address CF0D and assigns it to the script ID.
 
The oversight is that moving up will return the player to the Safari Zone first, which is a separate map, so the Safari Zone entrance script ID is stuck at 6 until the player walks back out. Normally, the script correctly read out the value 5 from CF0D and everything is fine. But the value of CF0D is not saved with the save file, and reverts to 0 upon reset. Therefore the script will erroneously change the script ID to 0, allowing the player to get the welcome message by walking down to the desk, and answer "no" to leave.
 
==Steps==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.