Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Okk

Pages: [1]
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:

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:

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.
Generation I Glitch Discussion / Re: Please enjoy a picture:
« on: May 20, 2009, 08:41:32 pm »
If you're curious about what healthy HoF data looks like, here's a picture:

The formatting is simple enough. Each Pokemon gets 16 bytes. One for species, then one for level, then eleven for nickname, followed by three nulls. Any leftovers in the nickname are filled with end-string characters (hex 50).
The HoF data pictures will display:
A level 6 Charmander named CHARMANDER
A level 12 Rattata named Mutton
A level 4 Rattata named AAAAAAAAAA
A level 3 Mew named MEW
A level 40 Cloyster named NAUGHTY
A level 21 Magikarp named MAGIKARP

If a team has less than six pokemon, the empty slots will still be occupied with data, with a species value of FF. There is another byte, at 284E, that seems to determine the number of E4 victories. I can't test this, though, as changing the byte causes the save file to read as corrupt.

You might also notice that the 256 bytes before the HoF (which I am affectionately calling the "Danger Zone) is filled with FF in a normal new game. I'm not certain if this is changed over the course of the game, as I (obviously) used cheats to beat the E4 early. If anyone knows about this, or has a late game save file that has never encountered a glitch pokemon, feel free to let me know.
Generation I Glitch Discussion / Re: Please enjoy a picture:
« on: May 18, 2009, 08:43:41 pm »
I took it upon myself to test the other glitches known to write to the save file, and here are the results:

MissingNo. (5F): 498-857
'M (00): 498-857
A (BF): 498-927
h POK? (C3): 498-5AF (??)
PKMN (C5): 498-927
LM4 (C6): 498-58F OR 498-78F

About half of the h POK? encounters damaged the range from 498 to 5AF, while the other half resulted in no save file damage. About half of the encounters with LM4 damaged the range from 498 to 58F, while the other half damaged 498 to 78F.

I am not entirely satisfied with these results, and feel that they are not conclusive. h POK? is known to cause damage to the Hall of Fame data, but in my tests the HoF (which starts at 598) was not reached.

In any case, all of the glitch pokemon that are known to write to the save file have the potential to damage the 256 unknown bytes directly preceeding the Hall of Fame data. My next task, if at all possible, is to determine the function of these 256 bytes.
Generation I Glitch Discussion / Please enjoy a picture:
« on: May 17, 2009, 06:18:22 am »
Introductions / Hello and welcome to a ghost
« on: March 06, 2008, 10:17:42 pm »
Hello, I am Okk, new member but long-time glitch researcher. I am responsible for the GameFAQs Missingno guide, though I never updated it after I started digging things out of the hex data, so it's a bit out of date. I also used to be a mod on the forums at Team Rocket's Rockin.

I have some renown in the internet for other reasons as well, but I'd prefer not to discuss that.
Pages: [1]