Obtaining Arceus via the Void Glitch
Posted by: Cryo
Date: 2017-01-10 23:20:21
The steps below must be followed exactly. The RAM values being manipulated are loaded map data, and entering any map different than the ones you'd encounter by following the steps below may overwrite the data we need.
STEPS: (from the Poketch Co. door)
[tt]
=======
Step 1
=======
1 S
17 W
14 N
2015 W
512 S
Save & Reset
=======
Step 2
=======
32 E
384 S
32 W
1792 S
128 W
32 S
192 W
64 S
160 W
=======
Step 3
=======
96 S
96 E
32 S
63 E
1 N
63 E (or 64 E if you've already been to Pal Park before)
191 N
1 N
=======
Step 4
=======
192 E
66 S
1 N
=======
Step 5
=======
192 W
64 N
64 W
32 N
128 W
64 N
64 W
96 N
226 E
Start -> RETIRE
=======
Step 6
=======
34 S
33 W
128 S
160 W
160 S
160 E
31 S
1 S
64 E
166 N
1 N
Start -> RETIRE[/tt]
Video: https://www.youtube.com/watch?v=VrhHXG3cuAw
[size=12pt]EXPLANATION[/size]
Each of the steps listed above loads a desired map property into memory, which we then travel to in order to encounter that property as our current map ID (in turn loading different map properties). Below are the target maps that get loadedas well as the map property that determines the next map IDin order to activate the RETIRE trick.
[tt]
(2) Underground
Sprite 1:
X Coordinate: 392 (Route 221)
(392) Route 221
Warp 1:
Map ID: 393 (Pal Park entrance)
(393) Route 221 R1-01
Warp 1:
Map ID: 251 (Pal Park)
[/tt]
The maps and properties below lead to the Hall of Origin.
[tt]
(45) Oreburgh City
Sprite 13:
X Coordinate: 316 (Lake Valor cavern)
(316) Lake Valor R1-03
Sprite 0:
Flag: 510 (Hall of Origin)
[/tt]
Once Arceus is captured, the only thing left to do is to disable Pal Park mode and exit the void, which is done by using RETIRE in the Pal Park map. This is the only way to initiate the [tt]StopGreatMarsh 1[/tt] function.
Note: Encountering maps with IDs greater than 558 will overwrite almost all of the map data, so RAM values 0x022F - 0xFFFF should be avoided.
THE RETIRE TRICK
Using the RETIRE option in Pal Park works as expectedasking if you'd like to leave, then either warping you out or doing nothing. However, when used anywhere else, the RETIRE option will immediately run the 4th script loaded in a given map.
An important distinction to make is that this does not refer to the script at index 3 of the map data. Instead, it refers to the order that the scripts are run. For example, the Hall of Origin has only 3 scripts, but the order that the scripts are run is as follows:
[li]Script 2[/li]
[li]Script 3[/li]
[li]Script 1[/li]
[li]Script 3[/li]
Since the 3rd script is loaded twice, using the RETIRE option runs Script 3, which happens to be the encounter script for Arceus.
EDIT: After doing research into a few rare cases of the game crashing after Arceus is caught, I noticed that the cause of the freeze was caused by users hacking the Shaymin event into their game. Specifically, the data at [Base + 0x23998] is permanently changed from 0x76 to 0x7A after using the Oak's Letter key item and opening up Seabreak Path.
This can be fixed by doing these steps in place of the [tt]1792 S[/tt]:
[tt]1152 S
32 E
64 S
32 W
576 S[/tt]