Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Generation II Glitch Discussion

[GSC] Advanced Celebi Glitch - Page 1

[GSC] Advanced Celebi Glitch

Posted by: gia
Date: 2009-09-22 15:08:44
Hey, since I learned the Celebi glitch from this forum and used that very useful hexadecimal table (the big list) I guess you could have fun with this if you didn't know already. This is for Crystal, GS menus may behave differently.

The Celebi glitch leftshifts the Pokémon bytes one by one, that's why you need 4 deposits to move Beat Up to the species byte. The nicknames sometimes are destroyed and sometimes not because the byte shift stops when it finds FF, which marks the end of the party species list, which gets destroyed when you move the 7th Pokémon to your party. But since your Pokémon can have FF as part of their own data, then the shifting can end when it finds this byte instead of going all the way until past the daycare data to find a natural FF, the PokéDex is also on the way so it also gets scrambled.

When you withdraw a Pokémon the FF is placed again so it breaks the shifting mode. But the FF isn't placed when you use Move, so you can always rightshift by moving Pokémon in and leftshift by moving them out. The shifting like I said stops when you meet an FF, so you can have a Pokémon dedicated to this role, so that the nicknames aren't destroyed (or whatever data you want to protect from shifting like another Pokémon,or the PokéDex).

By depositing with the wall behind your test subject then you leftshift its bytes without corrupting more data, but you can deposit a max of Pokémon since your party isn't infinite. To be able to keep shifting you have to bring Pokémon in, but this rightshifts and undoes your advance, to fix this you put the wall in front of the test subject before bringing Pokémon in, that way the subject doesn't shift and then you can continue the deposits to keep working.

This way you can build any Pokémon, your only trouble would be inserting FF values in your Pokémon structure which might be wanted for DVs at least (since getting this FF in would not allow you to modify the rest of the Pokémon data past this value). For that a little planning, plan it so that after you finish you can max the Pokémon happiness (putting an FF there) and then shift the rest of data so that the species, items and moves are set properly along with the maxed DVs.

I made a video where I build a shiny celebi lvl 0 (turns to 1 then to 100 later), but if you think about it you can build any Pokémon using the species from your many donors, the happiness counter for any hex that isn't available on a Pokémon species and the status byte and Full Heals to easily set bytes to zero.


Data structure:
Held Item
Move 1
Move 2
Move 3
Move 4
XP Med
XP Low
Attack EV Hi
Attack EV Low
Defense EV Hi
Defense EV Low
Speed EV Hi
Speed EV Low
Special EV hi
Special EV Low
IV Low
Caught Data Hi (Where)
Caught Data Low (Time, Level)
Current HP Hi
Current HP Low
Max HP Hi
Max HP Low
Attack Hi
Attack Low
Defense Hi
Defense Low
Speed Hi
Speed Low
Special Attack hi
Special Attak Low
Special Defense Hi
Special Defense Low
[Next Pokémon]

Re: [GSC] Advanced Celebi Glitch

Posted by: echinodermata
Date: 2009-09-23 00:02:31
You know, I never really knew how the celebi glitch worked before. Now that I look at it, it's got much in common with the tradition of the Q trick, the johto guard trick, and the lesser known item duplication trick. All have to do with messing up the list termination / shifting procedure.