The Complete Damage Formula for Diamond & Pearl

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!

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.

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

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.

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 Assurance 100 if the foe was hurt that turn, 50 otherwise. Avalanche 120 if the targeted Pokemon did damage to the user, 60 otherwise. Brine 130 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. Facade 140 if the user is paralyzed, poisoned, or burned, 70 otherwise. Flail 200 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. Frustration 102 - (User's Happiness × 2 ÷ 5), rounded down. If BP is 0, it becomes 1. Fury Cutter 10 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 Knot 20 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 Ball 1 + (25 × Foe's Speed ÷ User's Speed), rounded down. If BP is greater than 150, it becomes 150. Ice Ball If 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 Power Check the move's page for more details. Low Kick 20 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. Magnitude 10 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 Gift Check the move's page for more details Nature Power Becomes 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. Payback 100 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. Punishment 60 + (20 × Sum of positive stat modifiers of the foe). If BP is greater than 200, it becomes 200. Pursuit 80 if the foe switches out during that turn, 40 otherwise. Return User's Happiness × 2 ÷ 5, rounded down. If BP is 0, it becomes 1. Revenge 120 if the targeted Pokemon did damage to the user, 60 otherwise. Reversal 200 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. Rollout If 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. SmellingSalt 120 if the foe is paralyzed (and is healed from paralysis afterwards), 60 otherwise. Spit Up 100 if one Stockpile was used, 200 if two Stockpiles were used, 300 if three Stockpiles were used, 0 otherwise. Stomp 130 if the foe used the move Minimize, 65 otherwise. Triple Kick 10 in the first kick, 20 in the second kick, 30 in the third kick. Trump Card 40 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 Slap 120 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 Ball 100 if the weather is Sunny Day, Rain Dance, Sandstorm, Hail, or Fog, 50 otherwise. Wring Out 1 + (120 × Foe's Current HP ÷ Foe’s Max HP), rounded down.

*** - Exact BP not confirmed.

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

Item name IT multiplier Muscle Band 1.1 if the move used is physical, 1 otherwise. Wise Glasses 1.1 if the move used is special, 1 otherwise. Type-boosting items, plates and incenses 1.2 if the move used is of the same type as the type that the item, plate or incense boosts, 1 otherwise. Adamant Orb 1.2 if the user is Dialga and the move used is Steel- or Dragon-type, 1 otherwise. Lustrous Orb 1.2 if the user is Palkia and the move used is Water- or Dragon-type, 1 otherwise. Griseous Orb 1.2 if the user is Giratina and the move used is Ghost- or Dragon-type, 1 otherwise. Any other item 1.

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

User ability UA multiplier Rivalry 1.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. Reckless 1.2 if the user uses a recoil move, 1 otherwise. Iron Fist 1.2 if the user uses a punching move, 1 otherwise. Blaze 1.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. Overgrow 1.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. Torrent 1.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. Swarm 1.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. Technician 1.5 if the user uses a move with BP at most 60, 1 otherwise. All other user abilities 1.

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

Foe ability FA multiplier Thick Fat 0.5 if the user is using an Ice or Fire move, 1 otherwise. Heatproof 0.5 if the user is using a Fire move, 1 otherwise. Dry Skin 1.25 if the user is using a Fire move, 1 otherwise. All other foe abilities 1.

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.

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 -6 2/8 0.25 -5 2/7 0.2857 -4 2/6 0.3333 -3 2/5 0.4 -2 2/4 0.5 -1 2/3 0.6667 0 2/2 1 +1 3/2 1.5 +2 4/2 2 +3 5/2 2.5 +4 6/2 3 +5 7/2 3.5 +6 8/2 4

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 -6 2/8 0.25 -2 2/6 0.3333 -1 2/4 0.5 0 2/2 1 +1 4/2 2 +2 6/2 3 +3 to +6 8/2 4

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 Power 2. Huge Power 2. Flower Gift 1.5 if Sunny Day is in effect, AM = 1 otherwise. Guts 1.5 if the user is paralyzed, poisoned, burned, or asleep, AM = 1 otherwise. Hustle 1.5 (and physical moves have 80% accuracy). Slow Start 0.5 if the user has been in the battlefield for less than 5 turns, AM = 1 otherwise. Other abilities 1.

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 Plus 1.5 if the partner has ability Minus, 1 otherwise. Minus 1.5 if the partner has ability Plus, 1 otherwise. Solar Power 1.5 if Sunny Day is in effect (and loses 1/8 of HP per turn), 1 otherwise. Other abilities 1.

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 Band 1.5 (the user can't use any other move). Light Ball 2 if the user is Pikachu, 1 otherwise. Thick Club 2 if the user is Cubone or Marowak, 1 otherwise. Other items 1.

Items that affect the Special Attack stat:

Item name IM multiplier Choice Specs 1.5 (the user can't use any other move). Light Ball 2 if the user is Pikachu, 1 otherwise. Soul Dew 1.5 if the user is Latios or Latias, 1 otherwise. Deepseatooth 2 if the user is Clamperl, 1 otherwise. Other items 1.

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 Powder 1.5 if the foe is Ditto, is holding the item Metal Powder and has not used the move Transform. Marvel Scale 1.5 if the foe has the ability Marvel Scale and is paralysed, poisoned, burned, asleep, or frozen.

Special Defense modifiers:

Name Modifier Sandstorm 1.5 if Sandstorm is in effect and the foe is of Rock-type. Soul Dew 1.5 if the foe is Latios or Latias and is holding the item Soul Dew. Metal Powder 1.5 if the foe is Ditto, is holding the item Metal Powder and has not used the move Transform. Deepseascale 2 if the foe is Clamperl and is holding the item Deepseascale. Flower Gift 1.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.

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:

0.5 if the move performed is physical, the foe has setup a Reflect and the game is 1vs1.

0.5 if the move performed is special, the foe has setup a Light Screen and the game is 1vs1.

2/3 if the move performed is physical, the foe has setup a Reflect and the game is 2v2.

2/3 if the move performed is special, the foe has setup a Light Screen and the game is 2v2.

1 otherwise.

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:

1.5 if Sunny Day is in effect and the move is of Fire-type.

1.5 if Rain Dance is in effect and the move is of Water-type.

0.5 if Sunny Day is in effect and the move is of Water-type.

0.5 if Rain Dance is in effect and the move is of Fire-type.

1 otherwise.

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.

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

Mod2 is

1.3 if the user is holding the item Life Orb.

1, 1.1, 1.2, 1.3, ..., 2 if the user is holding the item Metronome and has used the same move once, twice, three times, four times, ... etc. consecutively.

1.5 if the user is attacking with the move Me First.

1 otherwise.

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.

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:

0.5 if the foe is holding one of the type resisting Berries and the move used is super effective and of the same type as the type that the Berry knocks down.

0.5 if the foe is holding Chilan Berry and the move used is Normal-type.

1 otherwise.

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

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