Jump to content

Bad clone glitch: Difference between revisions

Added explanation. TODO: Explain the unterminated names of bad clones, and maybe "pseudo bad clones" (which have unterminated names but are not donor/00 hybrids).
>Bbbbbbbbba
(I decided that "bad clone glitch" should denote the actual process of obtaining a bad clone, rather than what we can do with it (the subglitches). Merging bad clone with this.)
>Bbbbbbbbba
(Added explanation. TODO: Explain the unterminated names of bad clones, and maybe "pseudo bad clones" (which have unterminated names but are not donor/00 hybrids).)
Line 13:
 
==Properties of the bad clone==
A "real" bad clone is an [[unstable hybrid Pokémon|unstable hybrid]] between the cloned Pokémon and a ????? (hex 00). It is sometimes referred to as a glitched version of the original Pokémon; for example, a "glitched Sneasel".
 
The bad clone will usually have a nickname with a large amount of [[glitch text]]. It usually is female and level 0 in the PC, but will become level 1 after you withdraw it. It usually has no moves, but sometimes may have glitched moves, and on rare occasions cannot be withdrawn from the PC {{clarify}}.
 
==Explanation==
The bad clone glitch happens when the game is reset in the middle of saving the contents of a box. The Gen II box data structure is as follows:
 
Box Pokémon count (1 byte)
Box Pokémon 1 species (1 byte)
Box Pokémon 2 species (1 byte)
...
Box Pokémon 20 species (1 byte)
Extra space used for end-of-box marker (1 byte)
Box Pokémon 1 data (32 bytes)
Box Pokémon 2 data (32 bytes)
...
Box Pokémon 20 data (32 bytes)
Box Pokémon 1 OT name (11 bytes)
Box Pokémon 2 OT name (11 bytes)
...
Box Pokémon 20 OT name (11 bytes)
Box Pokémon 1 nickname (11 bytes)
Box Pokémon 2 nickname (11 bytes)
...
Box Pokémon 20 nickname (11 bytes)
Unused (2 bytes)
 
Of course, the species list is usually redundant since the species information is stored in the 32-byte Box Pokémon data struct (one exception is when the Pokémon is an egg, the species list will have EGG (hex FD) while the data struct has the real species). Such a redundancy occurs similarly in the party data structure. Hybrid Pokémon happens when those two species bytes disagree with each other.
 
In the simplest form of the bad clone glitch, one more Pokémon (say, Pokémon 18) is added to the box, then the saving of the box is interrupted by a hard reset. If the reset happens after the box count and the species byte of that Pokémon is written, but before the main data of that Pokémon are written (for example, it happens right in the middle of "Box Pokémon 15 data"), then the PC will recognize the existence of a 18th Pokémon and know its species, but its main data, OT name, and nickname will remain uninitialized. (In this case, no other Pokémon's data is corrupted, not even Pokémon 15 — the game is interrupted when overwriting the "Box Pokémon 15 data" with the exact same data.)
 
Uninitialized SRAM data on a real cartridge can be non-deterministic, and emulators also have different behaviors in this regard. However, one way to be sure of the data is to clear the save data (by Select + Up + B on the title screen) before playing the game, which fills the entire SRAM with 00. If we do this, then those uninitialized data is guaranteed to be 00 — even if we put Pokémon in the box then withdraw them, the 00 sections under them will "shift up" — with the exception that if a box has ever been completely full, then when withdrawing from it, the last Pokémon's data will "shift up" instead of 00 sections. This is why such boxes are unsuitable for getting bad clones (although they may be useful in getting other hybrids).
 
Anyway, in this case, the Pokémon will have all of its main data, including the second species byte, be 00. Such a Pokémon will exhibit all the properties of a typical bad clone: Female, level 0, stabilizes into a ????? (hex 00), etc.
 
==Exploits==
A "real" bad clone can be taken into the Day Care and out to become a ????? (hex 00). Using the ????? party overloading trick will allow the player to perform various glitches, including:
 
*[[Celebi trick]], [[Celebi Egg trick]], [[Shiny Celebi trick]], etc. (a result of removing an FF terminator from the party and performing data shifts).
*Converting a ????? (hex 00) into a ????? (hex FF) for use with the Time Capsule exploit.
*[[????? map corruption]]
*Obtaining [[Glitch Unown]]
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.