Azure Heights Pokémon Laboratory
Main Menu
What's New?
Weird Science

Box Trick
Battle Damage
Type Chart

Box Trick
Battle Damage
Type Chart
This page discusses factors relevant to how Pokémon cause damage to one another.
Physical, Special, and Calculated Attacks

Physical Attacks cause damage as a function of the Attack statistic of the attacking Pokémon and the Defense stat of the defending Pokémon. Most damaging moves of the types Normal, Fighting, Flying, Ground, Rock, Bug, Ghost, and Poison are physical attacks.

Special Attacks cause damage as a function of the Special stats of the two battling Pokémon. Most damaging moves of the types Water, Grass, Fire, Ice, Electric, and Psychic are special attacks.

For Calculated Attacks, damage is calculated via some method other than the Battle Damage Formula described below. The Attack, Defense, and Special statistics of the combatants are not relevant, nor is the Type of the calculated attack, in most cases. For example, Seismic Toss inflicts one HP of damage for every Level of the attacker, regardless of all other factors. Furthermore, despite the fact that it is a Fighting attack, it is effective against Ghosts, and Fighting Pokémon like Poliwrath do not receive a same-type attack bonus (see next section) when using it.

Other examples of calculated attacks include Psywave, which does a randomly-determined amount of damage, and Dragon Rage, which always does exactly 40 points of damage.

Same-Type Attack Bonus (STAB)

To help maximize damage, you should match the Type of your Pokémon with the Type of the attack. For physical and special (but not calculated) attacks, this provides a 1.5x damage boost as compared to a non-matching Pokémon using that attack. Thus, while Magmar can learn Psychic, it's better suited for Hypno. For dual-type Pokémon, only one of their types need match to get the 1.5x bonus. Also, note that type-matching can only help, not hinder, the amount of damage you do. So a Water Pokémon learning Thunderbolt won't be penalized because it is using an Electric attack: it simply won't receive any bonus.

Type Modifiers

The damage caused by physical and special attacks is also influenced by how the attack Type interacts with the defender's Type(s). For example, you've probably noticed that when your Pikachu uses Thundershock on a Pidgey, the game displays the message, "It's super effective!", and it seems to do a lot of damage. It's true that Pikachu gets STAB when using Thundershock, but something more is happening here: because Pidgey is a Flying Type, it is taking double the damage that it would otherwise receive.

Unfortunately, the messages displayed by the game can be misleading when the enemy has more than one Type. Take for instance Low Kick, a Fighting attack, used against Articuno, an Ice/Flying Pokémon. When Low Kick is used, the game may display the message, "It's not very effective", but what's actually happening is Ice's weakness and Flying's resistance are cancelling each other out. The lesson here is that both of the enemy's Types factor into damage. Check out the Type Modifier Chart for a complete account of how the Types match up.

Keep in mind that it is the Type of the attack, not of the attacker, that is relevant. A Sandslash using Submission will get the same Type Modifier bonus against Clefable that Machop would. (However, the former would not get STAB.) Conversely, a Machop using Body Slam will get no particular bonus against Clefable, just because he is a Fighting Type.

The Battle Damage Formula

This is the formula for predicting the damage that will be done by any physical or special attack. If you remember the formula that was here before, this will look a little different! The previous formula was not extracted from the game code, but was "reverse-engineered" by examining many examples of actual damage. Though it was very accurate, it was sometimes a point or two off. This formula does come from the game code*, and should therefore predict damage perfectly (to date, no test has found any discrepancy between predicted and actual damage).

If this seems like more math than you want to learn in order to play a video game, don't worry! You don't have to be able to use the formula to be successful in battles, any more than an archer has to understand calculus to hit the bullseye. However, an understanding of all the factors that produce a final damage value will make you a better player in the long run. You may also find the BDF useful for estimating how your Pokémon would fare against specific adversaries.

Here's the formula:


A = attacker's Level
B = attacker's Attack or Special
C = attack Power
D = defender's Defense or Special
X = same-Type attack bonus (1 or 1.5)
Y = Type modifiers (40, 20, 10, 5, 2.5, or 0)
Z = a random number between 217 and 255

Full explanations of each variable follow.


This is the Level of the attacking Pokémon. In the event of a Critical Hit (see below), A is doubled.

B, D

In the absence of any statistic modifiers, B is equal to the Attack or Special (depending upon whether it is a physical or special attack being used) of the attacking Pokémon, while D is equal to the Defense or Special of the defending Pokémon.

However, an extremely important aspect of combat is that attacks like Meditate and Tail Whip can change the values of B and D, respectively, by increasing or decreasing the statistics of the combatants. D is also subject to change through the use of Reflect and Light Screen. The effects and interactions of these and similar moves make for quite a long story, and are therefore addressed separately on the Statistic Modifiers page.


This is simply the Power value reported in the Attacks Section for the physical or special attack being used. For example, if the attack is Surf, C = 95.


X is described above in the section on STAB: if the attacker's Type (or at least one of them, for dual-Types) is identical to the Type of the physical or special attack, X has a value of 1.5 — if not, the value is 1.


As explained on the Type Modifier Chart page, attacks that are super-effective against the current enemy's Type multiply damage by 2, while those that are not very effective multiply damage by 0.5. Attacks that are totally ineffective multiply damage by 0. If the enemy has two types, both are taken into account, and the multipliers for each Type are multiplied together. Thus, the full range of possible Type Modifier values is as follows:

4, 2, 1, 0.5, 0.25, 0

However, as you will note from the above statement of the BDF, the game code apparently multiplies these values by 10 in order to produce the Y variable (which therefore has 40, 10, 5, 2.5, and 0 as its possible values). It's not clear why the programmers chose to do this, but in any case it makes no difference, because the formula immediately divides the result by 10! If you wish, you can simplify the BDF for your own use and ignore this step. If you choose to do this, Y will range from 4 to 0, and you won't have to divide by 10 at the next step.


Damage is variable for all physical and special attacks. If you're using an attack that the formula predicts will do a maximum of 115 points of damage, you could easily use that attack 30 times and not have exactly 115 points come up once. The values you get will range from 97 to 115 points.

To calculate the upper limit, make Z equal to 255. The right tail of the formula will now look like *255/255: this is obviously equal to 1, and will therefore not affect the predicted damage. To calculate the lower limit, make Z equal to 217. Multiply the total produced by the formula to that point by this value. Then, divide by 255, dropping any remainder.

Determining Damage

If you wish to compute a damage value by hand, start with the term (2A/5+2) and work your way outwards (ie, the next step is to multiply by B, then C, etc.). To obtain an accurate value, you must round down to the nearest whole number at every step that produces a number with a decimal remainder.

Alternately, you can use this calculator to determine the precise maximum, minimum, and average damage that will be caused by any physical or special attack.

Attack (or Special)
Defense (or Special)
Type Modifiers

Max Avg Min
Non-Critical Hit
Critical Hit
Critical Hit!

Critical Hits have two important effects. First, an attack that is a Critical Hit will cause approximately double the normal damage. It is not quite double, because the game code does not simply take the final damage value and multiply it by 2. To accurately predict the damage that will be caused if a move Critical Hits, you should multiply variable A by 2.

Second, Critical Hits ignore the effects of any statistic modifications, as well as Reflect or Light Screen. Thus, when using the BDF to predict the damage caused by a CH, you should reset variables B and D to their original values (if they have changed).

For example, perhaps your opponent is using a Slowbro, and has Amnesia'd to the point where even Electric attacks aren't finishing him off. If you switch to a Grass Pokémon armed with Razor Leaf (which has a high Critical Hit rate), you'll still have an attack that is strong against Water, and it will do damage as if the Amnesias had never happened. On the other hand, don't bother trying to boost Slash by Sword Dancing first, or Razor Leaf by using Growth.

* Thanks to Bret Larwick and Andy Heroff for the extraction of most of the formula, and to our friends across the Pacific at TeamPA (now defunct) for the complete version (and to NeoSyrex for pointing it out!).
Please ignore this subliminal message. Please ignore this subliminal message. Please ignore this subliminal message. DRINK COKE Please ignore this subliminal message. Please ignore this subliminal message. Please ignore this subliminal message.