Pokémon Ruby Version, Sapphire Version, and Emerald Version - Damage Calculation
The game performs the following steps in this order.
- Some moves have a calculated power, the determination of which is handled here. This applies to Hidden Power, Rollout and Ice Ball, Reversal and Flail, Magnitude, and so on.
- If the attacker has Pure Power or Huge Power, Attack is doubled.
- In Trainer Tower battles and battles in which Exp. Points are gained, the Gym Badges increase the appropriate stat by 1.1. (The Stone Badge/Boulder Badge raises Attack, the Balance Badge/Soul Badge raises Defense, and the Mind Badge/Volcano Badge raises Special Attack and Special Defense.)
-
The following items increase Attack by 1.1 if the attacker is holding it
and the attack is the appropriate type:
- Silk Scarf - Normal
- Black Belt - Fighting
- Sharp Beak - Flying
- Poison Barb - Poison
- Soft Sand - Ground
- Hard Stone - Rock
- Silverpowder - Bug
- Spell Tag - Ghost
- Metal Coat - Steel
-
The following items increase Special Attack by 1.1 if the attacker is
holding it and the attack is the appropriate type:
- Charcoal - Fire
- Mystic Water - Water
- Miracle Seed - Grass
- Magnet - Electric
- TwistedSpoon - Psychic
- Nevermeltice - Ice
- Dragon Fang - Dragon
- Blackglasses - Dark
- If the attacker holds a Sea Incense and the attack is a Water type, multiply Special Attack by 1.05.
- If the attacker holds a Choice Band, multiply Attack by 1.5.
- If the attacker’s current species is Latios or Latias and the attacker is holding Soul Dew, multiply Special Attack by 1.5 except in the Battle Tower and the Battle Frontier.
- If the target’s current species is Latios or Latias and the target is holding Soul Dew, multiply Special Defense by 1.5 except in the Battle Tower and the Battle Frontier.
- If the attacker’s current species is Clamperl and the attacker is holding Deepseatooth, Special Attack is doubled.
- If the target’s current species is Clamperl and the target is holding Deepseascale, Special Defense is doubled.
- If the attacker’s current species is Pikachu and the attacker is holding Light Ball, Special Attack is doubled.
- If the target’s current species is Ditto and the target is holding Metal Powder, Defense is doubled.
- If the attacker’s current species is Cubone or Marowak and the attacker is holding Thick Club, Attack is doubled.
- If the target has Thick Fat and the attack is either of Fire or Ice type, Special Attack is halved.
- If the attacker has Hustle, multiply Attack by 1.5.
- If the attacker has Plus and another Pokémon in battle has Minus, or vice versa, multiply Special Attack by 1.5.
- If the attacker has Guts and is poisoned, burned, paralyzed, frozen, or asleep, multiply Attack by 1.5.
- If the target has Marvel Scale and is poisoned, burned, paralyzed, frozen, or asleep, multiply Defense by 1.5.
- If the attack’s type is Electric and Mud Sport is in effect, the power is halved.
- If the attack’s type is Fire and Water Sport is in effect, the power is halved.
-
If the attacker has 1/3 of its maximum HP or less and one of the
following is true, multiply the power by 1.5.
- Attacker has Overgrow and attack is of type Grass.
- Attacker has Blaze and attack is of type Fire.
- Attacker has Torrent and attack is of type Water.
- Attacker has Swarm and attack is of type Bug.
- If the attack is Selfdestruct or Explosion, the target’s Defense is halved.
- The stats are modified according to the attacker’s and the target’s stat stages . If the attack is a critical hit, the Attack or Special Attack stat stage is treated as 0 if it is less than 0, and the Defense or Special Defense stat stage is treated as 0 if it is greater than 0.
-
The damage becomes equal to:
int(int(int(2*L/5+2)*A*P/D)/50)
where L is the attacker’s level, A is the attacker’s Attack or Special Attack value, P is the attack’s power, and D is the target’s Defense or Special Defense value. For physical attack types (Normal, Fighting, Flying, Poison, Ground, Rock, Bug, Ghost, Steel), use the Attack and Defense values. For special attack types (Fire, Water, Electric, Grass, Ice, Psychic, Dragon, Dark), use the Special Attack and Special Defense values. - If the attacker is burned, damage from physical attacks is halved unless attacker has Guts.
- If Reflect is in effect for the target’s side and the attack is not a critical hit, damage from physical attacks is halved if there was only one Pokémon in battle on the target’s side as the attacker began to use the move, or divided by 3 then multiplied by 2 otherwise.
- If Light Screen is in effect for the target’s side and the attack is not a critical hit, damage from special attacks is halved if there was only one Pokémon in battle on the target’s side as the attacker began to use the move, or divided by 3 then multiplied by 2 otherwise.
- If the attack targets "all opposing Pokémon" and there were two Pokémon on the opposing Pokémon’s side as the attacker began to use the move, divide the calculated damage by 2.
-
If no Pokémon in battle has the Cloud Nine or Air Lock ability, the
damage is modified as follows.
- During Sunny Day, damage from Fire-type attacks is multiplied by 1.5 and damage from Water-type attacks is halved.
- During Rain Dance, damage from Water-type attacks is multiplied by 1.5 and damage from Fire-type attacks is halved.
- During Hail, Rain Dance, or Sandstorm, Solarbeam’s damage is halved.
- If the attacker’s Flash Fire was activated, multiply the power by 1.5 if the attack is of Fire type.
- For physical attacks, the damage is set to 1 if it equals 0.
- Add 2 to the calculated damage.
- If the attack is a critical hit (see below), the damage is doubled.
- Some attacks, namely, Astonish, Extrasensory, Facade, Needle Arm, Pursuit, Revenge, SmellingSalt, Stomp, and Weather Ball, add a multiplier to the damage when certain conditions are met. The damage is multiplied accordingly if those conditions are met.
- If Charge is in effect for the attacker and the move’s original type is Electric, the damage is doubled.
- If the attacker’s partner used Helping Hand this turn, multiply the damage by 1.5.
- If the attack type shares a type with one of the attacker’s types, multiply the damage by 1.5. (This is popularly called Same Type Attack Bonus.) This doesn’t apply if the attack is Struggle.
- For each type the target has, a number is multiplied according to the attack type’s type matchup to that type. See below . This doesn’t apply if the attack is Struggle, which is always normally effective against the target’s types.
- In a final step called "damage variance", the damage is multiplied by X, where X is a random integer from 85 through 100, and divided by 100, then the damage is set to 1 if it equals 0.
For Beat Up, only the Helping Hand effect, critical hit damage multiplier, and damage variance are applied, in that order. Other effects of moves, items, types, and abilities are not applied.