The Complete Damage Formula for Diamond & Pearl

By X-Act and Peterko, updated by Kaphotics.
  1. Introduction
  2. The Damage Formula and How to Use It
  3. The Base Power and Its Modifiers
    1. Moves having a Variable Base Power
    2. Items that affect Base Power
    3. User Abilities that affect Base Power
    4. Foe Abilities that affect Base Power
  4. The Attack and Special Attack stats and their Modifiers
    1. The Stat Modifier Multipliers
    2. Abilities that change the Attack or Special Attack stat
    3. Items that change the Attack or Special Attack stat
  5. The Defense and Special Defense stats and their Modifiers
  6. The First Modifier to the Damage Formula
  7. The Second Modifier to the Damage Formula
  8. The Third Modifier to the Damage Formula
  9. Exceptional Cases

Introduction

The Damage Formula is one of the two most important calculations in a Pokemon game (the other one being the Stats Formula). Here, we provide the damage formula for Diamond, Pearl, and Platinum (DPP). Note that this formula is not the same as that for the games preceding DPP, so don't use it to calculate damage for other games.

I need to immediately thank Peterko for all the testing data he has provided for me. This guide wouldn't have seen the light of day without all his efforts. He literally triggered the damage formula thousands of times (not an exaggeration) during the game so that I could come up with such a detailed description of it. I cannot thank him enough for his efforts. Thank you Peterko... you are one of the best testers I've ever seen!

Section 1: The Damage Formula and How to Use It

Here is the damage formula for DPP:

Damage Formula = (((((((Level × 2 ÷ 5) + 2) × BasePower × [Sp]Atk ÷ 50) ÷ [Sp]Def) × Mod1) + 2) × 
                 CH × Mod2 × R ÷ 100) × STAB × Type1 × Type2 × Mod3)

where:

Level
The user's current level.
BasePower
The move's Base Power (after performing all necessary modifiers to it... see Section 2).
[Sp]Atk
The user's Attack or Special Attack stat (after performing all necessary modifiers to it... see Section 3). If the move used is physical, the Attack stat is utilized; otherwise, the Special Attack stat is used.
[Sp]Def
The foe's Defense or Special Defense stat (after performing all necessary modifiers to it... see Section 4). If the move used is physical, the Defense stat is utilized; otherwise, the Special Defense stat is used.
Mod1
The first modifier to the damage formula. See Section 5 for more details.
CH
3 if the move is a critical hit and the user has the Sniper ability, 2 if the move is a critical hit and the user's ability is not Sniper, and 1 otherwise.
Mod2
The second modifier to the damage formula. See Section 6 for more details.
R
(100 - Rand), where Rand is a random whole number between 0 and 15 inclusive with uniform probability. This produces a whole number between 85 and 100 inclusive, with uniform probability.
STAB
2 if the move is of the same type as that of the user and the user has the Adaptability ability, 1.5 if the move is of the same type as that of the user and the user's ability is not Adaptability, and 1 otherwise. This is known as Same Type Attack Bonus (hence STAB).
Type1
2 if the move is super effective against the first type of the foe, 0.5 if the move is not very effective against the first type of the foe, 0 if the move type does not affect the first type of the foe, and 1 otherwise.
Type2
2 if the move is super effective against the second type of the foe, 0.5 if the move is not very effective against the second type of the foe, 0 if the move type does not affect the type of the foe, and 1 otherwise (or if the foe has only one type).
Mod3
The third modifier to the damage formula. See Section 7 for more details.

It should be immediately mentioned that after successfully performing an operator (an operator being +, -, × or ÷), you need to "round down" the number to the nearest whole number before performing the next one. In simple terms, this means to remove all the numbers to the right of the decimal point every time the answer is a decimal before proceeding with the next arithmetic operation.

If the damage formula's damage is 0 and the foe is not immune to the move used, the damage dealt will be 1 instead. This will happen if, say, a Level 2 Bidoof uses Tackle against a Level 100 Aggron. To paraphrase, unless the move does not affect the foe, the minimum amount of damage done is 1.

The way the formula is written above is such that you can actually ignore all the brackets and proceed from left to right (ignoring the BODMAS rules, so to speak) and still come up with the correct answer.

Let's provide an example here. For the sake of simplicity, we shall assume that Mod1, Mod2, and Mod3 are all 1 in this example.

Say we want to calculate the minimum and maximum damage that a Level 47 Staraptor with 140 Attack stat will deal with the move Aerial Ace against a Roserade with 77 Defense stat.

  1. We start with the Level of Staraptor, 47, and multiply it by 2, getting 94.
  2. Next, we divide 94 by 5, getting 18.8, which is rounded down to 18.
  3. Next, we add 2 to 18, getting 20.
  4. Next, we multiply 20 by 60 (the move power of Aerial Ace), getting 1200.
  5. Next, we multiply 1200 by 140 (the Attack stat of Staraptor), getting 168000.
  6. Next, we divide 168000 by 50, getting 3360.
  7. Next, we divide 3360 by 77 (the Defense stat of Roserade), getting 43.636363..., which is rounded down to 43.
  8. Next, we multiply 43 by 1 (Mod1 is 1 here), getting 43.***
  9. Next, we add 2 to 43, getting 45.
  10. Next, we multiply 45 by 1 (assuming that we didn't get a critical hit here), getting 45.***
  11. Next, we multiply 45 by 1 (Mod2 is 1 here), getting 45.***
  12. Next, we multiply 45 by 85 (the minimum number that the random number can be), getting 3825.
  13. Next, we divide 3825 by 100, getting 38.25, which is rounded down to 38.
  14. Next, we multiply 38 by 1.5 (since Aerial Ace is Flying-type, like one of Staraptor's types is), getting 57.
  15. Next, we multiply 57 by 2 (since Aerial Ace is Flying-type, which is super effective against Roserade's first type, Grass), getting 114.
  16. Next, we multiply 114 by 1 (since Aerial Ace is Flying-type, which is neutral against Roserade's second type, Poison), getting 114.***
  17. Finally, we multiply 114 by 1 (Mod3 is 1 here), getting 114.***

So Staraptor's minimum damage would be 114.

For the maximum damage, we do exactly the same steps, except that we multiply by 100 instead of by 85 in Step 12. We get 134 as the maximum damage if we do that. Try it out. (If you do not get 134, make sure that you have actually rounded down your answer at EVERY step in the calculation.)

Note: The steps marked *** can be omitted, since multiplying by 1 does not change the answer.

Section 2: The Base Power and its Modifiers

The Base Power of the move might be considered to be simple, but in fact it can change by many things during the battle that can affect it.

So many, in fact, that it can be summarised by the following formula:

BasePower = HH × BP × IT × CHG × MS × WS × UA × FA

where

HH
1.5 if the move has been boosted by the move Helping Hand by the partner, and 1 otherwise.
BP
The Base Power of the move. This is usually found easily, like 80 for Energy Ball, 60 for Aerial Ace, etc. Some moves have a variable BP, a list of which is given in Section 2A.
IT
The item multiplier. The list of items that affect Base Power, together with their effects, is given in Section 2B.
CHG
2 if the Pokemon's last move was Charge and this move's type is Electric and 1 otherwise.
MS
0.5 if one of the Pokemon in play used the move Mud Sport and this move's type is Electric, and 1 otherwise.
WS
0.5 if one of the Pokemon in play used the move Water Sport and this move's type is Fire, and 1 otherwise.
UA
The user ability multiplier. A list of user abilities that affect Base Power, together with their effects, is given in Section 2C.
FA
The foe ability multiplier. A list of foe abilities that affect Base Power, together with their effects, is given in Section 2D.

The Base Power is calculated from left to right, and is rounded down before the next multiplication is performed. The order of the multiplications is as written in the formula above... changing the order might result in the incorrect Base Power.

Section 2A - Moves having a Variable Base Power

Here is a list of moves having variable Base Power. This Base Power is equal to BP in the Base Power formula.

Move name Base Power
Assurance100 if the foe was hurt that turn, 50 otherwise.
Avalanche120 if the targeted Pokemon did damage to the user, 60 otherwise.
Brine130 if the targeted Pokemon's current HP is less than or equal to half of its maximum HP, rounded down, 65 otherwise.
Crush Grip***1 + (120 × Foe's Current HP ÷ Foe's Max HP), rounded down.
Eruption***150 × User's Current HP ÷ User's Max HP, rounded down.
Facade140 if the user is paralyzed, poisoned, or burned, 70 otherwise.
Flail200 if CP is between 0 and 1, 150 if CP is between 2 and 5, 100 if CP is between 6 and 12, 80 if CP is between 13 and 21, 40 if CP is between 22 and 42, and 20 if CP is between 43 and 64, where CP = User's Current HP × 64 ÷ User's Total HP, rounded down.
Fling***Check the move's page for more details.
Frustration102 - (User's Happiness × 2 ÷ 5), rounded down. If BP is 0, it becomes 1.
Fury Cutter10 if Fury Cutter was not already used or it missed when it was last used, otherwise, BP is double the BP of the last used Fury Cutter. If BP is greater than 160, it becomes 160.
Grass Knot20 if W is between 0 and 10, 40 if W is between 10.1 and 25, 60 if W is between 25.1 and 50, 80 if W is between 50.1 and 100, 100 if W is between 100.1 and 200, and 120 otherwise, where W is the weight of the foe in kilograms.
Gyro Ball1 + (25 × Foe's Speed ÷ User's Speed), rounded down. If BP is greater than 150, it becomes 150.
Ice BallIf Defense Curl was used by the user in any of the previous turns, then 60 for the first turn that Ice Ball is used, followed by 120, 240, 480 and 960 for the second, third, fourth and fifth turns respectively. If Defense Curl was not used by the user in any of the previous turns, then 30 for the first turn that Ice Ball is used, then 60, 120, 240, and 480 for the second, third, fourth and fifth turns respectively. If Ice Ball fails, BP restarts from 60 or 30 in its next usage.
Hidden PowerCheck the move's page for more details.
Low Kick20 if W is between 0 and 10, 40 if W is between 10.1 and 25, 60 if W is between 25.1 and 50, 80 if W is between 50.1 and 100, 100 if W is between 100.1 and 200, and 120 otherwise, where W is the weight of the foe in kilograms.
Magnitude10 if R is between 0 and 4 (Magnitude 4), 30 if R is between 5 and 14 (Magnitude 5), 50 if R is between 15 and 34 (Magnitude 6), 70 if R is between 35 and 64 (Magnitude 7), 90 if R is between 65 and 84 (Magnitude 8), 110 if R is between 85 and 94 (Magnitude 9), and 150 if R is between 95 and 99 (Magnitude 10), where R is a random whole number between 0 and 99 with uniform probability.
Natural GiftCheck the move's page for more details
Nature PowerBecomes Earthquake if the location is on a road or in the desert, Tri Attack if the location is inside a building (this is the default choice in battles), Seed Bomb if the location is on grass or tall grass, Rock Slide if the location is in a cave or on a mountain, Blizzard if the location is on snow, and Hydro Pump if the location is on a pond or in the sea.
Payback100 if the targeted Pokemon moves before the user, 50 otherwise.
Present***40 if R is between 0 and 102, 80 if R is between 103 and 179, 120 if R is between 179 and 204, and 0 and the foe is healed by 80 HP otherwise, where R is a random whole number between 0 and 255 inclusive, with uniform probability.
Punishment60 + (20 × Sum of positive stat modifiers of the foe). If BP is greater than 200, it becomes 200.
Pursuit80 if the foe switches out during that turn, 40 otherwise.
ReturnUser's Happiness × 2 ÷ 5, rounded down. If BP is 0, it becomes 1.
Revenge120 if the targeted Pokemon did damage to the user, 60 otherwise.
Reversal200 if CP is between 0 and 1, 150 if CP is between 2 and 5, 100 if CP is between 6 and 12, 80 if CP is between 13 and 21, 40 if CP is between 22 and 42, and 20 if CP is between 43 and 64, where CP = User's Current HP × 64 ÷ User's Total HP, rounded down.
RolloutIf Defense Curl was used by the user in any of the previous turns, then 60 for the first turn that Rollout is used, followed by 120, 240, 480 and 960 for the second, third, fourth and fifth turns, respectively. If Defense Curl was not used by the user in any of the previous turns, then 30 for the first turn that Rollout is used, then 60, 120, 240, and 480 for the second, third, fourth and fifth turns, respectively. If Rollout fails, BP restarts from 60 or 30 in its next usage.
SmellingSalt120 if the foe is paralyzed (and is healed from paralysis afterwards), 60 otherwise.
Spit Up100 if one Stockpile was used, 200 if two Stockpiles were used, 300 if three Stockpiles were used, 0 otherwise.
Stomp130 if the foe used the move Minimize, 65 otherwise.
Triple Kick10 in the first kick, 20 in the second kick, 30 in the third kick.
Trump Card40 if P is at least 4, 50 if P is 3, 60 if P is 2, 80 if P is 1, and 200 if P is 0, where P is the PP of Trump Card after being used.
Wake-Up Slap120 if the foe is asleep (and is healed from sleep afterwards), 60 otherwise.
Water Spout***150 × User's Current HP ÷ User's Max HP, rounded down.
Weather Ball100 if the weather is Sunny Day, Rain Dance, Sandstorm, Hail, or Fog, 50 otherwise.
Wring Out1 + (120 × Foe's Current HP ÷ Foe’s Max HP), rounded down.

*** - Exact BP not confirmed.

Section 2B - Items that affect Base Power

The following items equipped to the user provide the following boost to the IT multiplier:

Item name IT multiplier
Muscle Band1.1 if the move used is physical, 1 otherwise.
Wise Glasses1.1 if the move used is special, 1 otherwise.
Type-boosting items, plates and incenses1.2 if the move used is of the same type as the type that the item, plate or incense boosts, 1 otherwise.
Adamant Orb1.2 if the user is Dialga and the move used is Steel- or Dragon-type, 1 otherwise.
Lustrous Orb1.2 if the user is Palkia and the move used is Water- or Dragon-type, 1 otherwise.
Griseous Orb1.2 if the user is Giratina and the move used is Ghost- or Dragon-type, 1 otherwise.
Any other item1.

Section 2C - User Abilities that affect Base Power

The following abilities provide the following numbers to the UA multiplier if the user has one of them:

User ability UA multiplier
Rivalry1.25 if the user is of the same gender as the targeted Pokemon, 0.75 if the user is of the opposite gender of the targeted Pokemon, 1 otherwise.
Reckless1.2 if the user uses a recoil move, 1 otherwise.
Iron Fist1.2 if the user uses a punching move, 1 otherwise.
Blaze1.5 if the user uses a Fire move and its current HP is less than 1/3 of its maximum HP (rounded down), 1 otherwise.
Overgrow1.5 if the user uses a Grass move and its current HP is less than 1/3 of its maximum HP (rounded down), 1 otherwise.
Torrent1.5 if the user uses a Water move and its current HP is less than 1/3 of its maximum HP (rounded down), 1 otherwise.
Swarm1.5 if the user uses a Bug move and its current HP is less than 1/3 of its maximum HP (rounded down), 1 otherwise.
Technician1.5 if the user uses a move with BP at most 60, 1 otherwise.
All other user abilities1.

Section 2D - Foe Abilities that affect Base Power

The following abilities provide the following numbers to the FA multiplier if the foe has one of them:

Foe ability FA multiplier
Thick Fat0.5 if the user is using an Ice or Fire move, 1 otherwise.
Heatproof0.5 if the user is using a Fire move, 1 otherwise.
Dry Skin1.25 if the user is using a Fire move, 1 otherwise.
All other foe abilities1.

Section 3 - The Attack and Special Attack stats and their Modifiers

The Attack and Special Attack stats can also be changed throughout the match by various things.

[Sp]Atk = Stat × SM × AM × IM

where:

Stat
The normal Attack or Special Attack stat.
SM
The stat modifier multiplier. See Section 3A for more information.
AM
The ability modifier. See Section 3B for a list of abilities that change the attacking stats.
IM
The item modifier. See Section 3C for a list of items that change the attacking stats.

As we said for the calculation of the Base Power, the above multiplication is also performed from left to right, rounding down before performing the next one.

Section 3A - The Stat Modifier Multipliers

Each stat (excluding HP) has a stat modifier which is a whole number between -6 and 6 inclusive. This stat modifier starts from 0 and is changed by various moves like Swords Dance and Defense Curl. Some attacks can also change either the user’s stat modifier or that of the foe as a secondary effect, like Overheat and Shadow Ball.

The effect of SM is the following:

Stat Modifier SM multiplier Decimal Approximate
-62/80.25
-52/70.2857
-42/60.3333
-32/50.4
-22/40.5
-12/30.6667
02/21
+13/21.5
+24/22
+35/22.5
+46/23
+57/23.5
+68/24

A few points:

Critical Hits
If the Stat Modifier for Attack or Special Attack is less than zero, SM is made equal to 1 if the attack hits for a critical hit. Also, if the Stat Modifier for Defense or Special Defense is greater than zero, SM is made equal to 1 if the attack hits for a critical hit.
Unaware
If the user has the ability Unaware, SM for Defense or Special Defense of the foe is made equal to 1. If the foe has the ability Unaware, SM for Attack or Special Attack of the user is made equal to 1.
Simple
If any Pokemon has the ability Simple, SM conforms to a different chart, as shown below.
Stat Modifier SM multiplier Decimal Approximate
-3 to -62/80.25
-22/60.3333
-12/40.5
02/21
+14/22
+26/23
+3 to +68/24

Section 3B - Abilities that change the Attack or Special Attack stat

Here is a list of abilities that modify the Attack or Special Attack stat of the user, which affect the AM multiplier:

Abilities that affect the Attack stat:

Ability name AM multiplier
Pure Power2.
Huge Power2.
Flower Gift1.5 if Sunny Day is in effect, AM = 1 otherwise.
Guts1.5 if the user is paralyzed, poisoned, burned, or asleep, AM = 1 otherwise.
Hustle1.5 (and physical moves have 80% accuracy).
Slow Start0.5 if the user has been in the battlefield for less than 5 turns, AM = 1 otherwise.
Other abilities1.

If there are two simultaneous boosts in the Attack stat, first apply the attacking Pokemon's ability boost, then the allies ability boost.

Abilities that affect the Special Attack stat:

Ability name AM multiplier
Plus1.5 if the partner has ability Minus, 1 otherwise.
Minus1.5 if the partner has ability Plus, 1 otherwise.
Solar Power1.5 if Sunny Day is in effect (and loses 1/8 of HP per turn), 1 otherwise.
Other abilities1.

Section 3C - Items that change the Attack or Special Attack stat

Here is a list of items that modify the Attack or Special Attack stat of the user, which affect the IM multiplier:

Items that affect the Attack stat:

Item name IM multiplier
Choice Band1.5 (the user can't use any other move).
Light Ball2 if the user is Pikachu, 1 otherwise.
Thick Club2 if the user is Cubone or Marowak, 1 otherwise.
Other items1.

Items that affect the Special Attack stat:

Item name IM multiplier
Choice Specs1.5 (the user can't use any other move).
Light Ball2 if the user is Pikachu, 1 otherwise.
Soul Dew1.5 if the user is Latios or Latias, 1 otherwise.
Deepseatooth2 if the user is Clamperl, 1 otherwise.
Other items1.

Section 4 - The Defense and Special Defense stats and their Modifiers

Various changes can also be performed to the Defense and Special Defense stats of the foe during a match.

In this case, there aren't many things that can change the Defense or Special Defense stats:

[Sp]Def = Stat × SM × Mod × SX

where:

Stat
The normal Defense or Special Defense stat.
SM
The stat modifier multiplier. See Section 3A for more information.
SX
0.5 if the move used by the user is Selfdestruct or Explosion, otherwise 1.
Mod
A modifier depending on a few factors. These are as follows:

Defense modifiers:

Name Modifier
Metal Powder1.5 if the foe is Ditto, is holding the item Metal Powder and has not used the move Transform.
Marvel Scale1.5 if the foe has the ability Marvel Scale and is paralysed, poisoned, burned, asleep, or frozen.

Special Defense modifiers:

Name Modifier
Sandstorm1.5 if Sandstorm is in effect and the foe is of Rock-type.
Soul Dew1.5 if the foe is Latios or Latias and is holding the item Soul Dew.
Metal Powder1.5 if the foe is Ditto, is holding the item Metal Powder and has not used the move Transform.
Deepseascale2 if the foe is Clamperl and is holding the item Deepseascale.
Flower Gift1.5 if one of the foes has the ability Flower Gift and Sunny Day is in effect.

Otherwise, Mod = 1.

Again, remember to multiply from left to right and round down after each multiplication.

If there are two simultaneous boosts in Mod, first apply the ability boost, then the item boost, and finally the Sandstorm boost.

If the Defense or Special Defense stat is equal to zero after all these modifiers, it becomes 1 instead.

Section 5 - The First Modifier to the Damage Formula

This section will explain the function of Mod1, the first modifier to the damage formula.

Mod1 = BRN × RL × TVT × SR × FF

where:

BRN
The Burn modifier
RL
The Reflect/Light Screen modifier
TVT
The 2v2 modifier
SR
The Sunny Day/Rain Dance modifier
FF
The Flash Fire modifier

BRN is 0.5 if the move performed is physical, the user is affected by the burn special condition and the user's ability is not Guts, and 1 otherwise.

RL is:

Also, if the move is a critical hit, RL is made equal to 1 no matter what.

TVT is 0.75 if the game is 2v2 and the move used hits more than one Pokemon, and 1 otherwise. Note: These moves don't always hit for 75% damage. Research on what conditions trigger the 75% damage is being carried out.

SR is:

FF is 1.5 if the user has the ability Flash Fire, was previously attacked by a move that is of Fire-type, and is using a Fire move, 1 otherwise.

Yet again, it must be emphasized that the order of the multiplication must be as written above.

Section 6 - The Second Modifier to the Damage Formula

This section explains what affects Mod2, the second modifier of the damage formula.

Mod2 is

In the case when the Pokemon is using Me First and is also holding the item Life Orb or Metronome, the item boost multiplier is done first, followed by the Me First (x1.5) multiplier.

Section 7 - The Third Modifier to the Damage Formula

Finally, we come to the third and final modifier to the damage formula, Mod3.

Mod3 = SRF × EB × TL × TRB

where:

SRF
The Solid Rock/Filter modifier
EB
The Expert Belt modifier
TL
The Tinted Lens modifier
TRB
The type-resisting Berry modifier

SRF is 0.75 if the foe's ability is Solid Rock or Filter and the move used is super effective against it, and 1 otherwise.

EB is 1.2 if the user is holding the item Expert Belt and the move used is super effective against the foe, and 1 otherwise.

TL is 2 if the user's ability is Tinted Lens and the move used is not very effective against the foe, and 1 otherwise.

TRB is:

Remember once again that the multiplication must be carried out in the order listed above.

Section 8 - Exceptional Cases

The eighth and final section will concern moves that do not follow the damage formula to the rule.

  1. Doom Desire and Future Sight use a slightly different variation of the damage formula for the calculation of the damage dealt two turns after they are used. They use the Special Defense stat of the foe that was targeted when the move was used. Type1 and Type2 are also both equal to 1 irrespective of the type of the Pokemon that is being dealt damage.
  2. When Spit Up is used, the variable R in the damage formula (i.e. the random number between 85 and 100) is always taken to be 100.
  3. Pain Split does not even do damage. The user's remaining HP and that of the foe are averaged and rounded down, and then both are set to this value.
  4. There are certain moves that do not use the usual damage formula to determine the damage done to the foe. Here is a list of them, and how to determine the damage dealt by each:
    Bide
    Damage is equal to twice the damage received during the last two turns to the last Pokemon attacking the user.
    Counter
    Damage is equal to twice the damage received from the last Pokemon attacking the user during that turn, if the move used was physical.
    Dragon Rage
    Damage is always 40.
    Endeavor
    Damage is equal to the foe's remaining HP minus the user's remaining HP. It fails if this number is not positive.
    Fissure, Guillotine, Horn Drill and Sheer Cold
    Damage is equal to the foe's maximum HP (even if the foe is behind a substitute, in which case this amount of damage is dealt to the substitute instead).
    Metal Burst
    Damage is equal to 1.5 times the damage received from the last Pokemon attacking the user during that turn. Fails if that Pokemon is your partner.
    Mirror Coat
    Damage is equal to twice the damage received from the last Pokemon attacking the user during that turn, if the move used was special.
    Night Shade
    Damage is equal to the user's Level.
    Psywave
    Damage is equal to (R + 5) × Level ÷ 10, rounded down, where R is a random whole number between 0 and 10 inclusive with uniform probability, and Level is the user's Level.
    Seismic Toss
    Damage is equal to the user's Level.
    SonicBoom
    Damage is always 20.
    Super Fang
    Damage is equal to half the foe's remaining HP, rounded down. (If this damage is 0, it becomes 1 instead.)