Pokémon Ruby Version, Sapphire Version, and Emerald Version - Stat Formulas
The game uses these formulas to find a Pokémon’s stats.
HP = floor((A*2+B+floor(C/4))*D/100)+D+10
Other Stats =floor((floor((A*2+B+floor(C/4))*D/100)+5)*E)
where:
- A = Pokémon’s Race Value
- B = Pokémon’s Individual Value
- C = Pokémon’s Base Stat (EV)
- D = Pokémon’s Level
- E = 1.1 if the Pokémon’s nature raises the stat; otherwise, 0.9 if the nature lowers the stat; otherwise, 1.
- floor(X) means "turn X down to the nearest integer."
As an exception, Shedinja’s maximum HP is always 1 (its HP race value is 1).
A Pokémon’s stats are calculated upon creation. A Pokémon’s stats are recalculated when Rare Candy or a stat enhancer is used on that Pokémon and takes effect, when a stat-reducing Berry reduces its base stat (EV), when that Pokémon is placed in the PC storage system, or when that Pokémon evolves or levels up. Its stats are also recalculated when it changes to a form with different race values within the same game A Pokémon’s stats are not recalculated when it’s traded.
In Pokémon Emerald Version, Pokémon FireRed Version, and Pokémon LeafGreen Version, the Attack, Defense, Special Attack, Special Defense, and Speed of Deoxys are continuously calculated, rather than recalculated only at certain points. (In battle, however, the usual rules for recalculating stats apply, although the Deoxys starts with the continuously calculated stats as soon as it enters the battle.)