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

Regarding the 2nd Gen "Celebi" Glitch (stop me if you've heard this one) - Page 1

Regarding the 2nd Gen "Celebi" Glitch (stop me if you've heard this one)

Posted by: Okk
Date: 2012-06-12 04:50:40
Before I start, I'd like to state that this is a THEORY, and I have not personally tested it. I can't be certain that any of this is at all accurate or useful.
I'd also like to state that I also have not researched this theory; it's possibly that somebody already came up with this idea years ago, and this is all old hat, in which case I apologize.

I've been thinking about the Gold/Silver/Crystal "Celebi" glitch lately. You know, the one that lets you obtain any Pokemon (except Ledyba.) And Celebi is a Pokemon. Thus, The Celebi Glitch. Yes, it's a terrible name that doesn't do justice to the magnitude of the glitch, but I didn't name it, so don't blame me.

At some point after learning about this glitch, I introspectively posited the question, "If we can manipulate this Pokemon's species and held item, then might it be possible to also manipulate its other vital statistics?" To be more specific, I want perfect IVs.

Let's start by taking a look at the Generation 2 Data Structure:
http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_data_structure_in_Generation_II

As you can see, the index number of move 3 (which becomes the Species) is stored four bytes after the species itself. Similarly, the fourth move (which becomes the held item) is stored four bytes after the Pokemon's held item. Thus, I theorize that the Celebi Glitch truncates a Pokemon's data by four bytes. So, what I'm looking at are the PP values for moves 3 and 4, which are four bytes after the Pokemon's IV data. Theoretically, they should become the Pokemon's IV data, assuming the Pokemon's data is truncated by four bytes.

But take a look at this:
http://www.youtube.com/watch?v=BIz1RAg25yM

This is a variation on the Celebi glitch, and you might already know of it. However, this fellow doesn't seem to realize the full implications of what he's accomplished here. About seven minutes in, he pulls a Pokemon out of the day care which turns out to be Hypno. He claims that the Pokemon is Hypno because the doner Pokemon's third attack was Agility, but this video shows evidence to the contrary. It appears that the move Agility was never even in the third slot at all. Given that the resulting Pokemon has the nickname CCELEBI, it appears that its data has been truncated by only three bytes!

I believe that this method actually truncates a Pokemon's data by ONE byte, and is repeated four times.

If this is true, consider for a moment how much of a Pokemon's data we can actually manipulate. Experience total, EV values, Friendship, Current HP and possibly Level are all factors over which we can demonstrate a resonable degree of control. Thus, consider this proposed theoretical method of yielding perfect IVs:

1. Max out your "doner" Pokemon's happiness.
2. Truncate by one byte.
3. Move four should now show 63 PP and have 3 PP Ups applied. Swap the positions of move 4 and move 1.
4. Max out happiness again.
5. Truncate by one byte.
6. Move four should again show 63 PP and have 3 PP Ups applied. Swap the positions of move 4 and move 1 again.
7. Give your Pokemon a held item that has the same database number as the Pokemon species you desire.
8. Truncate by one byte.

EDIT: Before truncating each of the first two times, it might be a good idea to make sure your Pokemon is holding any item that corresponds to a valid Pokemon species.

Boffo. You should now have your desired Pokemon, with maxed out IVs. The old IV values should be shifted up to the Special EVs, but if the Pokemon was freshly caught, its other EVs should still be blank.

Now, if you don't mind things getting needlessly complicated and/or tedious, it should be theoretically possibly to control the rest of its data too, including the moves it knows and ite Original Trainer ID number. Unfortunately, I don't have information on what exactly happens to its nickname or the Original Trainer's nickname; if anybody knows precisely how this information is stored in memory, it would be appreciated.

Now, hypothetically, even if I'd made a mistake and everything I just typed is useless, I think it may still be possible to have a degree of control over the pokemon's IVs by manipulating the remaining PP of the doner's moves and how many PP Ups have been applied.

Re: Regarding the 2nd Gen "Celebi" Glitch (stop me if you've heard this one)

Posted by: Pokeglitch86
Date: 2012-06-19 22:30:04
Hello Okk,

http://forums.glitchcity.info/index.php/topic,5475.0.html
It looks like Gia had the same idea a few years ago and it went pretty unnoticed. Gia also provides video proof of this concept at work.

About two months ago I spent quite a bit of time researching the Celebi Glitch in Pokemon Crystal along with the properties of ????? (both the 000 and 255 variants). Paco81 just scratched the surface and there are a number of different exploitations that can be done. I've discovered a method of generating a pokemon, the item its holding and it's four moves based upon the first six letters/characters of a pokemon's name. I came across quite a bit of what appears to be new knowledge. I have all my research written up in a word document and have been meaning to post it sometime with videos and better explanations. Hopefully that'll happen soon.