(All Games) Type Weakness/Strength Changing
--------------------------------------------------------------------------------
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.