View Single Post
  #1    
Old May 6th, 2007 (12:01 AM). Edited May 7th, 2007 by Coolboyman.
Coolboyman's Avatar
Coolboyman Coolboyman is offline
Veteran Hacker
     
    Join Date: Sep 2003
    Location: The East Bay
    Age: 29
    Gender: Male
    Nature: Bold
    Posts: 471
    Ever wanted to change the weaknesses and strengths of what types do? (For example, When water attacks fire, it's super effective, this tutorial will teach you how to make it so when Water attacks fire, it isn't very effective or deals no damage at all, and way beyond).

    Step 1: Load up a Pokemon ROM
    Step 2: Go to the address based on which rom you loaded up

    Red and Blue: 3E474
    Yellow: 3E62D
    Gold and Silver: 34D01
    Crystal: 34BB1

    Ruby: 1F9720
    Sapphire: 1F96B0
    Emerald: 31ACE8
    Fire Red: 24F050
    Leaf Green: 24F02C
    Diamond: 1DE1B8

    For Red/Blue/Yellow:
    (All Values are hex)
    00 = Normal
    01 = Fighting
    02 = Flying
    03 = Poison
    04 = Ground
    05 = Rock
    06 = Bird
    07 = Bug
    08 = Ghost
    09-13 = Blank
    14 = Fire
    15 = Water
    16 = Grass
    17 = Electric
    18 = Psychic
    19 = Ice
    1A = Dragon

    For Gold/Silver/Crystal
    (All Values are hex)
    00 = Normal
    01 = Fighting
    02 = Flying
    03 = Poison
    04 = Ground
    05 = Rock
    06 = Bird
    07 = Bug
    08 = Ghost
    09 = Steel
    0A-12 = Blank
    13 = ???
    14 = Fire
    15 = Water
    16 = Grass
    17 = Electric
    18 = Psychic
    19 = Ice
    1A = Dragon
    1B = Shadow

    For Ruby/Sapphire/Emerald/Fire Red/Leaf Green/Diamond/Pearl:
    (All Values are hex)
    00 = Normal
    01 = Fighting
    02 = Flying
    03 = Poison
    04 = Ground
    05 = Rock
    06 = Bug
    07 = Ghost
    08 = Steel
    09 = ???
    0A = Fire
    0B = Water
    0C = Grass
    0D = Electric
    0E = Psychic
    0F = Ice
    10 = Dragon
    11 = Dark

    Step 2: regardless of your version, you will see three bytes, 00 05 05. The first byte is the one attack, so we have the Normal Type attacking.

    The second value is the type being attacked. So 05 = Rock, we have Normal attacking Rock.

    The final byte is the damage multiplier. The 05 stands for *.5
    damage. So the game reads this, and when a Normal Pokemon attacks a Rock Pokemon, half of the normal damage is done. You will see that all are either 05, 14 (in dec is 20, so its *2), and 00 (which is *0 which makes the attack never hit, this is used for Ground Vs. flying and others). Right after that is another strength/weakness definition, and keeps going on until a FF. However, you can mix it up a bit!

    Step 3: Changing
    Lets say you want it so when a Flying Pokemon attacks a Poison Pokemon, it does *2 the damage. Overwrite the bytes with 02 03 14, and it will take effect. You can even do as low as *0.10 (which would be 01), and as high as *25.40 the damage (Which would be FE). That is murder!

    So have some fun, make some new types if you want, or just balance out the system.