Glitchfinder
Let's all get along, please?
- 477
- Posts
- 18
- Years
- Age 35
- The Twilight Zone
- Seen May 4, 2014
Hi! Once again, I decided to post a tutorial that I had translated from the tutorials at the German site Rom Hackers World. This one is on hex-editing Pokémon Evolutions.
In US version of Sapphire, evolution data begins at 203B20
In the US version of Ruby, the evolution data begins at 203B90 (Thanks Blaziken626!)
1. Level Evolution
Example: Bulbasaur
[ 0400 ] [ 1000 ] [ 0200 ]
Meant: [ Level evolution = 0400 ] [ level = &H10 = DEC 16 ] [ Evolves into Ivysaur = 0200 ]
2. Item Evolution
Example: Gloom
[ 0700 ] [ 6200 ] [ 2D00 ]
Meant: [ Item Evolution = 0700 ] [ Item = 6200 = Leaf Stone ] [ Evolves into Vileplume = 2D00 ]
3. Trading Evolution
A) Example: Kadabra
[ 0500 ] [ 0000 ] [ 4100 ]
[ 0500 ]=Trading Evolution
[ 0000 ]=It always works.
[ 4100 ]=Evolves into Alakazam
B) Item-based Trading Evolution
Example: Porygon
[ 0600 ] [ DA00 ] [ E900 ]
[ 0600]=Item-based Trading Evolution
[ DA00]=Item, which is Upgrade
[ E900]=Evolves into Porygon2
4. Friendly Evolution
Example: Cleffa to Clefairy
[ 0100 ] [ 0000 ] [ 2300 ]
Meant: [ Friendly Evolution = 0100 ] [ 0000 Evolves at maximum friendliness when it levels up ] [ evolution to Clefairy = 2300 ]
5. Stat-based Evolution
5a)
Example: Tyrogue to Hitmonlee
[ 0800 ] [ 1400 ] [ 6A00 ]
[ 0800 = Attack is higher than Defense ]
[ 1400 = Evolves at level 20 ]
[ 6A00 = Evolves into Hitmonlee ]
5b)
Example: Tyrogue to Hitmontop
[ 0900 ] [ 1400 ] [ ED00 ]
[ 0900 = Attack equals Defense ]
[ 1400 = Evolves at level 20 ]
[ ED00 = Evolves into Hitmontop ]
5c)
Example: Tyrogue to Hitmonchan
[ 0A00 ] [ 1400 ] [ 6B00 ]
[ 0A00 = Attack is lower than Defense ]
[ 1400 = Evolves at level 20 ]
[ 6B00 = Evolves into Hitmonchan ]
6. Time-based Friendliness Evolution
6a) Daytime Friendliness Evolution
Example: Eevee to Espeon
[ 0200 ] [ 0000 ] [ C400 ]
[ 0200 =Evolves during the daytime at maximum friendliness (when it levels up) ]
[ 0000 =?? ]
[ C400 = Evolves into Espeon ]
6b) Nighttime Friendliness Evolution
Example: Eevee to Umbreon
[ 0300 ] [ 0000 ] [ C500 ]
[ 0300 = during the nighttime at maximum friendliness (when it levels up) ]
[ 0000 = ?? ]
[ C500 = Evolves into Umbreon]
After the evolution data there are 40 bytes that all say "00".
Every Pokémon has up to five spaces for evolutions.
In US version of Sapphire, evolution data begins at 203B20
In the US version of Ruby, the evolution data begins at 203B90 (Thanks Blaziken626!)
1. Level Evolution
Example: Bulbasaur
[ 0400 ] [ 1000 ] [ 0200 ]
Meant: [ Level evolution = 0400 ] [ level = &H10 = DEC 16 ] [ Evolves into Ivysaur = 0200 ]
2. Item Evolution
Example: Gloom
[ 0700 ] [ 6200 ] [ 2D00 ]
Meant: [ Item Evolution = 0700 ] [ Item = 6200 = Leaf Stone ] [ Evolves into Vileplume = 2D00 ]
3. Trading Evolution
A) Example: Kadabra
[ 0500 ] [ 0000 ] [ 4100 ]
[ 0500 ]=Trading Evolution
[ 0000 ]=It always works.
[ 4100 ]=Evolves into Alakazam
B) Item-based Trading Evolution
Example: Porygon
[ 0600 ] [ DA00 ] [ E900 ]
[ 0600]=Item-based Trading Evolution
[ DA00]=Item, which is Upgrade
[ E900]=Evolves into Porygon2
4. Friendly Evolution
Example: Cleffa to Clefairy
[ 0100 ] [ 0000 ] [ 2300 ]
Meant: [ Friendly Evolution = 0100 ] [ 0000 Evolves at maximum friendliness when it levels up ] [ evolution to Clefairy = 2300 ]
5. Stat-based Evolution
5a)
Example: Tyrogue to Hitmonlee
[ 0800 ] [ 1400 ] [ 6A00 ]
[ 0800 = Attack is higher than Defense ]
[ 1400 = Evolves at level 20 ]
[ 6A00 = Evolves into Hitmonlee ]
5b)
Example: Tyrogue to Hitmontop
[ 0900 ] [ 1400 ] [ ED00 ]
[ 0900 = Attack equals Defense ]
[ 1400 = Evolves at level 20 ]
[ ED00 = Evolves into Hitmontop ]
5c)
Example: Tyrogue to Hitmonchan
[ 0A00 ] [ 1400 ] [ 6B00 ]
[ 0A00 = Attack is lower than Defense ]
[ 1400 = Evolves at level 20 ]
[ 6B00 = Evolves into Hitmonchan ]
6. Time-based Friendliness Evolution
6a) Daytime Friendliness Evolution
Example: Eevee to Espeon
[ 0200 ] [ 0000 ] [ C400 ]
[ 0200 =Evolves during the daytime at maximum friendliness (when it levels up) ]
[ 0000 =?? ]
[ C400 = Evolves into Espeon ]
6b) Nighttime Friendliness Evolution
Example: Eevee to Umbreon
[ 0300 ] [ 0000 ] [ C500 ]
[ 0300 = during the nighttime at maximum friendliness (when it levels up) ]
[ 0000 = ?? ]
[ C500 = Evolves into Umbreon]
After the evolution data there are 40 bytes that all say "00".
Every Pokémon has up to five spaces for evolutions.
Last edited: