Please donate money and help me raise over $3100 for my education.

Pokemon Ruby/Sapphire - Damage Calculation

Damage Formula

int(int(int(2*L/5+2)*A*P/D)/50)+2

where:

  • L = Attacker's level
  • A = Attacker's current Attack/Special Attack value
  • P = Attack's base damage
  • D = Defender's current Defense/Special Defense

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.

Damage Calculation in Detail

  • Some moves have a calculated base damage, the determination of which is handled here. This applies to Hidden Power, Rollout and Ice Ball, Reversal and Flail, Magnitude, etc.
  • In internal battles, the Gym Badges increase the appropriate stat by 1.1. (The Stone Badge increases Attack, the Balance Badge increases Defense, and the Mind Badge increases Special Attack and Special Defense.)
  • The stats are modified according to the attacker's and opponent's stat stages. If the attack is a critical hit, the Attack/Special Attack stat stage is temporarily 0 if it is less than 0, and the Defense/Special Defense stat stage is temporarily 0 if it is greater than 0.
  • If the opponent has Marvel Scale and has a status problem, multiply Defense by 1.5.
  • If the attack is Selfdestruct or Explosion, the opponent's Defense is halved.
  • If the opponent is Clamperl with Deepseascale, Special Defense is doubled.
  • If the attacker is Latios/Latias with Soul Dew, multiply Special Attack by 1.5 except in the Battle Tower and the Battle Frontier.
  • If the opponent is Latios/Latias with Soul Dew, multiply Special Defense by 1.5 except in the Battle Tower and the Battle Frontier.
  • If the opponent is Ditto with Metal Powder, Defense is doubled.
  • 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 is Clamperl with Deepseatooth, Special Attack is doubled.
  • If the attacker is Pikachu with Light Ball, Special Attack is doubled.
  • If the attacker is Cubone/Marowak with Thick Club, Attack is doubled.
  • If the attacker has Pure Power or Huge Power, Attack is doubled.
  • If the attacker has Hustle, multiply Attack by 1.5.
  • If the attacker has Guts and has a status problem, multiply Attack by 1.5.
  • If the attacker has Minus and another active Pokemon has Plus, multiply Special Attack by 1.5.
  • If the attacker has Plus and another active Pokemon has Minus, multiply Special Attack by 1.5.
  • If the attacker has Flash Fire and that ability is activated, multiply the base damage by 1.5 if the attack is of Fire type.
  • If the attacker's HP is 1/3 or less and one of the following is true, multiply the base damage 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.
  • Mud Sport/Water Sport
  • If the opponent has Thick Fat and the attack is either of Fire or Ice type, Special Attack is halved.
  • Now calculate the damage using the formula above (except the +2 at the end).
  • If there are two Pokemon on the opposing Pokemon's side and the attack targets "all opposing Pokemon" (those marked [08] in the attack list), divide the calculated damage by 2.
  • If no active Pokemon has the Cloud Nine or Air Lock ability, the damage is modified as follows.
    • If the weather is sunny, effectiveness of fire-type attacks is multiplied by 1.5 and effectiveness of water-type attacks is halved.
    • If the weather is rain, effectiveness of water-type attacks is multiplied by 1.5 and effectiveness of fire-type attacks is halved.
    • During Hail, Rain Dance, or Sandstorm, Solarbeam's effectiveness is halved.
  • Add 2 to the calculated damage.
  • If the attack type shares a type with one of the attacker's types, multiply the damage by 1.5. (This is called Same Type Attack Bonus.)
  • For each type the opponent has, a number is multiplied according to the attack type's effectiveness to that type. See below.
  • Stomp/Needle Arm/Astonish/Extrasensory
  • Weather Ball
  • Pursuit/Facade/Smellingsalt/Revenge
  • If the attacker's partner used Helping Hand this round, multiply the damage by 1.5.
  • If the attacker is burned, effectiveness of physical attacks is halved unless attacker has Guts or the attack is Facade.
  • If Charge is in effect for the attacker and the attack is of Electric type, multiply the damage by 1.5.
  • If Reflect is in effect for opponent and the attack is not a critical hit, effectiveness of physical attacks is halved if there is only one active Pokemon on the opponent's side, or multiplied by 2/3 otherwise.
  • If Light Screen is in effect for opponent and the attack is not a critical hit, effectiveness of special attacks is halved if there is only one active Pokemon on the opponent's side, or multiplied by 2/3 otherwise.
  • The damage is multiplied by X, where X is a random number from 85 through 100, and divided by 100. This step is called "damage weighting."
  • If the attack is a critical hit, the damage is doubled.

Stat Stages

Stat stages refer to levels that increase or decrease stats during a battle. Each stat stage has 13 different levels.

Stat Stage -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
Stat Multiplier 10/40 10/35 10/30 10/25 10/20 10/15 10/10 15/10 20/10 25/10 30/10 35/10 40/10

That stat scale applies to the stat stages for Attack, Defense, Speed, Special Attack, and Special Defense. At the start of a battle, each Pokemon's stat stages begin at 0. The stat stages for a Pokemon are reset to 0 when the Pokemon is switched.

To apply stat stages, multiply the stat by the stat multiplier for the corresponding stat stage.

The term "stat stages" refers to those for Attack, Defense, Speed, Special Attack, and Special Defense, as well as those for evasion and Accuracy (see Accuracy check).

Critical Hit Method

  • Set C to 0.
  • If Focus Energy is in effect for attacker, add 2 to C.
  • If attack is one marked as "good chance for a Critical Hit", add 1 to C.
  • If attacker is Chansey with Lucky Punch, add 2 to C.
  • If attacker is Farfetch'd with Stick, add 2 to C.
  • If attacker has Scope Lens attached, add 1 to C.
  • The critical hit ratio is as follows:
    • C = 0: 1/16
    • C = 1: 1/8
    • C = 2: 1/4
    • C = 3: 1/3
    • C = 4 or more: 1/2

Battle Chart

Attack types are the rows; Pokemon types are the columns.

Attack Type NOR FIG FLY POI GRO ROC BUG GHO STE FIR WAT GRA ELE PSY ICE DRA DAR
NORMAL 1x 1x 1x 1x 1x 1/2 1x 0 1/2 1x 1x 1x 1x 1x 1x 1x 1x
FIGHTING 2x 1x 1/2 1/2 1x 2x 1/2 0 2x 1x 1x 1x 1x 1/2 2x 1x 2x
FLYING 1x 2x 1x 1x 1x 1/2 2x 1x 1/2 1x 1x 2x 1/2 1x 1x 1x 1x
POISON 1x 1x 1x 1/2 1/2 1/2 1x 1/2 0 1x 1x 2x 1x 1x 1x 1x 1x
GROUND 1x 1x 0 2x 1x 2x 1/2 1x 2x 2x 1x 1/2 2x 1x 1x 1x 1x
ROCK 1x 1/2 2x 1x 1/2 1x 2x 1x 1/2 2x 1x 1x 1x 1x 2x 1x 1x
BUG 1x 1/2 1/2 1/2 1x 1x 1x 1/2 1/2 1/2 1x 2x 1x 2x 1x 1x 2x
GHOST 0 1x 1x 1x 1x 1x 1x 2x 1/2 1x 1x 1x 1x 2x 1x 1x 1/2
STEEL 1x 1x 1x 1x 1x 2x 1x 1x 1/2 1/2 1/2 1x 1/2 1x 2x 1x 1x
FIRE 1x 1x 1x 1x 1x 1/2 2x 1x 2x 1/2 1/2 2x 1x 1x 2x 1/2 1x
WATER 1x 1x 1x 1x 2x 2x 1x 1x 1x 2x 1/2 1/2 1x 1x 1x 1/2 1x
GRASS 1x 1x 1/2 1/2 2x 2x 1/2 1x 1/2 1/2 2x 1/2 1x 1x 1x 1/2 1x
ELECTRIC 1x 1x 2x 1x 0 1x 1x 1x 1x 1x 2x 1/2 1/2 1x 1x 1/2 1x
PSYCHIC 1x 2x 1x 2x 1x 1x 1x 1x 1/2 1x 1x 1x 1x 1/2 1x 1x 0
ICE 1x 1x 2x 1x 2x 1x 1x 1x 1/2 1/2 1/2 2x 1x 1x 1/2 2x 1x
DRAGON 1x 1x 1x 1x 1x 1x 1x 1x 1/2 1x 1x 1x 1x 1x 1x 2x 1x
DARK 1x 1/2 1x 1x 1x 1x 1x 2x 1/2 1x 1x 1x 1x 2x 1x 1x 1/2

Please donate money and help me raise over $3100 for my education.


Discussion