Guides:Goldenrod Glitch Pokédex Mode ACE setup (DE): Difference between revisions
Guides:Goldenrod Glitch Pokédex Mode ACE setup (DE) (view source)
Revision as of 23:39, 8 December 2023
, 6 months ago→Effect of the side effect-fixing code
(5 intermediate revisions by the same user not shown) | |||
Line 36:
* Obtaining duplicate key items requires obtaining a glitch pokémon that cannot be manually released.
* Duplicate key item swap glitch removes the CANCEL button from the key item pocket.
* Buying or obtaining additional poké balls causes issues when done with an extended ball pocket.
Line 158 ⟶ 157:
The party will now contain two Drowzee/Machop that will both be holding a bicycle each. Take these held items to add them to the bottom of the Key Item list. '''It is now safe to save.'''
===Setting up glitch pokédex mode ACE===
# Arrange the Ball pocket as follows:
Line 403 ⟶ 402:
||
21 7A D6 2A 23 F6 84 22 AF 21 E1 D5 47 4E 09 23
36 FF 2E FC 36 01 21
|}
Line 562 ⟶ 560:
By swapping an item stack using the extended Ball Pocket, we can directly overwrite the value for the last used mode. When the Pokédex is next opened, the game will read this value and attempt to launch an invalid sorting function depending on the value used, some of which will trigger ACE.
For the
===Effect of the mail===
Line 755 ⟶ 751:
C8 ret z
18 F2 jr .goBack
</pre>
===Effect of the side effect-fixing code===
When using the Mail Writer, the assembly from this code is directly written and executed as follows:
<pre>
21 7A D6 ld hl, $D67A ; Address where the original pokégear flags have been displaced to
2A ldi a, (hl)
23 inc hl
F6 84 or $84 ; Ensures that minimal pokégears are restored if $D67A is empty
22 ldi (hl), a
AF xor a ; a = $00
21 E1 D5 ld wNumKeyItems ; Current amount of key items in key item pocket
47 ld b, a ; b = $00
4E ld c, (hl) ; Set c to amount of key items
09 add hl, bc
23 inc hl
36 FF ld (hl), $FF ; Restore cancel button to key item pocket
2E FC ld l, $FC ; hl targets wNumBalls
36 01 ld (hl), $01 ; Set current amount of balls in ball pocket to 1
21 22 DA ld hl, wPartyCount
4E ld a, (hl)
35 dec (hl) ; Remove last party pokémon
09 add hl, bc
36 FF ld (hl), $FF ; Re-add proper terminator to party list
C9 ret
</pre>
===Effect of the pokédex mode-altering code===
When using the Mail Writer, the assembly from this code is directly written and executed as follows:
<pre>
3E XX ld a, $XX
EA 7E D6 ld (wLastDexMode), a
C9 ret
</pre>
|