• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Hex-Editing Evolution Data

Status
Not open for further replies.

Glitchfinder

Let's all get along, please?
  • 477
    Posts
    18
    Years
    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.
     
    Last edited:
    I'm cunfused.Can you make a chart for what hex equels ways of evo with levels and items?
    If you can't make one explain how you get the hex and how to insert it.I'm not relly good with hex.What hex editor does this work best with where can I get it?
     
    Last edited:
    I'm cunfused.

    Can you make a chart for what hex equels ways of evo with levels and items?

    0100: Friendly Evolution
    0200: Daytime Friendly Evolution (Doesn't work with FR/LG)
    0300: Nighttime Friendly Evolution (Doesn't work with FR/LG)
    0400: Level Evolution
    0500: Trading Evolution
    0600: Item-Based Trading Evolution
    0700: Item Evolution
    0800: Stat-Based Evolution (Atk>Def)
    0900: Stat-Based Evolution (Atk=Def)
    0A00: Stat-Based Evolution (Atk<Def)

    Levels:

    Code:
    01=1
    02=2
    03=3
    04=4
    05=5
    06=6
    07=7
    08=8
    09=9
    0A=10
    0B=11
    0C=12
    0D=13
    0E=14
    0F=15
    10=16
    ...
    63=99
    ...
    FF=255 (Note: Pokemon won't evolve due to inability to reach this level)

    Also, go to the tools section, in the temporary tools resource. They should have a link to "Whack a Hack". That site, if you look around the menues in the top section of menues in the sidebar, there should be one with hex numbers for Pokemon and items.

    If you can't make one explain how you get the hex and how to insert it.

    Just open the calculator in the Accessories mpart of the start manu. (Under "Programs") Change it to scientific mode, put in the number that you want converted to hex, and click on the round circle next to "HEX" (far left, right under the "text box" showing the number you have)

    I'm not relly good with hex.What hex editor does this work best with where can I get it?

    This should work with any hex editor that can save your work. Just use any of the recommended ones, those are what I use.
     
    So I let the hex editor find the string and then I edit that pokemon's string to what I want right?
     
    Just thought I'd tell you that in Ruby, the evolutions start at 203B90.
     
    This is pretty cool, so instead of having to hack it in you can just set some guys such as Machoke and Kadabra to evolve at a certain level instead of having to trade.
     
    I have a problem i tried to put roserade in my game but roselia dont have any evolution hexnumbers.WHAT TO DO???????
     
    Do you have the offset for Leaf Green? :o
     
    Do this mean I can't add more eeveelutions? Since you can only have up to five? =/
     
    IS THERE A WAY TO MAKE A POKEMON EVOLVE DEPENDING ON THEIR GENDER??
     
    If anyone wants the hex codes for wurmple and feebas' evolutions.

    Wurmple to cascoon
    [0C00] [0700] [2501]

    Wurmple to silcoon
    [0B00] [0700] [2301]

    Feebas to milotic
    [0F00] [AA00] [4901]

    I'd hope that [0B00] and [0C00] are random
     
    IS THERE A WAY TO MAKE A POKEMON EVOLVE DEPENDING ON THEIR GENDER??

    No, there isn't, at least not in the Advanced Generation.

    If anyone wants the hex codes for wurmple and feebas' evolutions.

    Wurmple to cascoon
    [0C00] [0700] [2501]

    Wurmple to silcoon
    [0B00] [0700] [2301]

    Feebas to milotic
    [0F00] [AA00] [4901]

    I'd hope that [0B00] and [0C00] are random

    Thank you! That's a great help. Oh, and for Wurmple and Cascoon, Nintendo says there is some kind of method to it, but they won't say what it is. Oh, and do you think you could give the locations where the data begins?
     
    [BPEE] (Emerald) BULBASAUR Evolution Data: 00325344

    It seems that just searching for 040010000200 using a hex editor will get you the data. (Worked for me with emerald and ruby.)

    Btw, I noticed some free space before the BULBASAUR->VENOSAUR data, and I remembered, isn't there a dud pokemon before BULBASAUR? So technically I think the evolution data starts a bit before the BULBASAUR data.
     
    theging, do not bump threads that are over a month old. I notice this should have actually been locked before when Juan posted it, so Juan, do not do this in future either.

    Read the rules before posting again.

    *locks*

    --FG
     
    Status
    Not open for further replies.
    Back
    Top