Damage Formula

[[[[[[2xA/5 +2] xBxC/D] /50] +2] xXxY/10] xZ/255]

A = Attacker’s Level

B = Attacker’s Attack or Special Attack (Depending on type of attack)

C = Strength of Attack

D = Defender’s Defense or Special Defence (Depending on type of attack)

X = 1.5 if type of attack matches attacker’s type, otherwise X = 1 (STAB)

Y = 20 if defender is weak to attack
       5 if defender is resistant to attack
       0 if attack has no effect on defender (i.e. normal attack on ghost)
       10 in all other cases

Z = Random number from 217 to 255

Important note about the formula, sections enclosed in []’s must have normal mathmatetical rules run within them, but the final value must be rounded down to the closest integer.

So:  [2 x 2 / 5 + 2] becomes [2.8] which then becomes 2 before you can proceed with the rest of the formula.

A full example:

My Level 2 Rattata with an attack of 12, uses Tackle (Strength 35) against a Pidgey (Defense of 15).  The Random number for Z was 223...

[[[[[[2 x 2 / 5 + 2] x 12 x 35 / 15] / 50] + 2] x 1 x 10 / 10] x 223 / 255]

[[[[[[2.8] x 12 x 35 / 15] / 50] + 2] x 1 x 10 / 10] x 223 / 255]

[[[[[2 x 12 x 35 / 15] / 50] + 2] x 1 x 10 / 10] x 223 / 255]

[[[[[56] / 50] + 2] x 1 x 10 / 10] x 223 / 255]

[[[[1.12] + 2] x 1 x 10 / 10] x 223 / 255]

[[[1 + 2] x 1 x 10 / 10] x 223 / 255]

[[3 x 1 x 10 / 10] x 223 / 255]

[[3] x 223 / 255]

[3 x 223 / 255]

[2.6235294118]

2

So my Rattata did 2 damage.