Rhydon trap

From Glitch City Wiki
(Redirected from Rhydon glitch)
Jump to navigation Jump to search
Error prevention and placeholders in the Pokémon games:

?????????? | ????? | ! | Abnormal Pokémon | Bad Egg | Enigma Berry (Generation III) | Error! | Error codes (Generations I and II) | Error traps for damaged save data | Error traps to prevent impossible progress | Event data debugging messages | Instant victory effect (Generation II) | Mystery Zone | N/A | Pokégear instruction booklet trap | Rhydon trap | Special (location) | This Game Pak is designed only for use on the Game Boy Color. | This Pokémon cannot be traded.


(view, talk, edit)
Bulbapedia also has an article about Rhydon trap.

The Rhydon trap is a error trap in Pokémon Red, Green, Blue, and Yellow, and the Japanese Gold/Silver Nintendo Space World 1997 demo.

Whenever a glitch Pokémon with a Pokédex number (family) greater than 151 (or 0) is captured in the wild or obtained as a gift Pokémon, and its Pokédex entry is registered, it will become a Rhydon if there is space in the party or a Rhydon/original glitch Pokémon hybrid if the glitch Pokémon is sent to the Pokémon Storage System. In the demo versions of Gold and Silver, this Pokémon is Bulbasaur instead, due to it occupying index number 1, where Rhydon had been located previously.

A glitch Pokémon with a Pokédex number greater than 151 or 0 in the Pokémon Storage System may also become a Rhydon/original glitch Pokémon hybrid if the player views its status, regardless of registered Pokédex flags.

Avoiding the trap

The Rhydon trap can be avoided if the game considers the glitch Pokémon to have already been registered as being owned in the Pokédex.

Registering the capture flag

The "own" glitch Pokédex flags for all glitch Pokémon are the "seen" Pokédex flags for valid Pokémon (with the exception of アノ ゙ in Pokémon Blue (Japanese); a #152 which registers its own entry). For example, the "own" Pokédex flag for Missingno., 'M (00), g g and $ (No. 000 glitch Pokémon) is seeing Cubone; hence if the player has encountered Cubone, obtaining a Missingno. will not turn it into a Rhydon.

Additionally, in this example capturing the Missingno. would register Cubone as seen if it wasn't already; meaning that the player can avoid the trap by obtaining the same Pokémon twice.

Evolution

If one glitch Pokémon evolves into another with a Pokédex number greater than 151 or 0, then the Rhydon trap does not apply. For example, the Pokémon Red and Blue glitch Pokémon "……" can evolve into a hex:AF Missingno. at level 25. Cubone would be registered as seen but the "……" would not become a Rhydon.

Obtaining hybrids

Another means of avoiding the Rhydon trap is by obtaining an unstable hybrid that will become (a stable version of) the glitch Pokémon when it is received from the Day Care and stabilizing it. The action of withdrawing a Pokémon from the Day Care does not register the Pokémon in the Pokédex. It is possible to obtain such a Pokémon through the large storage box byte shift glitch.

The Pokémon merge glitch and PC Pokémon 9 hybridization side effect of the international 'dokokashira door glitch' may be used to obtain a Pokémon with a different or lesser ID of the original Pokémon, that is a hybrid between one Pokémon (the one that the player obtains) and the original. Since the recipient byte is unchanged, the only way to stabilize the Pokémon into the new Pokémon is to evolve it (or possibly use Pokémon Stadium 2).

Trading

A glitch Pokémon obtained from a trade will not become a Rhydon regardless of its Pokédex number. The Time Capsule exploit can be abused to obtain Pokémon unobtainable from the Trainer escape glitch regardless of their Pokédex number (family), and new glitch Pokémon can be obtained with a regular trade with equivalent glitch Pokémon trading (for example, 'M (00) from Red/Blue (#000) can be traded on to Pokémon Yellow to become 3TRAINERPOKé₽ (#176)).

If a 3TRAINERPOKé₽ was obtained as a wild Pokémon or gift Pokémon through some means (such as arbitrary code execution), one would normally need to have Arbok registered in the Pokédex as seen to avoid it becoming a Rhydon.

Arbitrary code execution

With arbitrary code execution or a memory editor/cheating device, one can directly modify an address controlling an existing Pokémon species, such as D164 and D16B (D163 and D16A in Yellow) which control bytes 1 and 2 of the first party Pokémon species or DA81 and DA96 (DA80 and DA95 in Yellow) which control bytes 1 and 2 of the first stored Pokémon in the Pokémon Storage System species.

Cheating device

The following codes for a GameShark or Xploder GB modify the species of the first Pokémon in the party 01xx64D1, 01xx6AD1 (01xx63D1 and 01xx69D1 in Yellow) where xx should be replaced with the species ID (can be looked up at The Big HEX List).

These codes will modify the species bytes 1 and 2 of the first stored Pokémon in the Pokémon Storage System: 01xx80DA, 01xx95DA (01xx7FDA, 01xx94DA in Yellow).

Is it a glitch?

The Rhydon trap itself is not considered a glitch, and was programmed into the game as an intended feature, which may have been used for debugging purposes.

The following code in the Pokémon Red and Blue ROM is responsible for converting the glitch Pokémon into a Rhydon. It is part of the function LoadFrontSpriteByMonIndex.

    and a                      ; Is the dex number 000?
    pop hl
    jr z, .invalidDexNumber    ; If it is, it's invalid
    cp NUM_POKEMON + 1         ; Is the dex number less than 152?
    jr c, .validDexNumber      ; If it is, it's valid
.invalidDexNumber
    ld a, RHYDON
    ld [wcf91], a              ; Set the index number to 01 (Rhydon)
    ret                        ; Return without loading the sprite
.validDexNumber
    push hl
    (...)

(Source: TheZZAZZGlitch)

Despite this, it is unclear what the developers intend to achieve by setting [wcf91] to 01, since this function is called in multiple places, and while some of them will use the value of [wcf91] for further processing (e.g. adding captured Pokémon to party), others will get the species byte from some other memory address instead. In particular, if there was no space in the party before catching the glitch Pokémon and it is sent to the Pokémon Storage System, it will become an unstable hybrid Pokémon with Rhydon as the donor and the original glitch Pokémon as the recipient.

The player may also obtain a Rhydon/original glitch Pokémon hybrid if the glitch Pokémon has its status viewed in the Pokémon Storage System, regardless of registered Pokédex flags.

This Pokémon can be stabilized if it is deposited and withdrawn from the Pokémon Day Care on Route 5.