Damage Mechanics

Damage Formula
$$Floor( ½ * Power * \frac{Atk}{Def} * STAB * Effective) + 1$$

This formula, first discovered by Reddit User Qmike, is how the game calculate damage in combat. Let's examine the formula and its implications in detail.

See these threads for the research that helped derived this formula.

Flooring

The Floor function simply rounds a number down. Floor() + 1 guarantees that the minimum damage of any attack is 1.

Flooring benefits faster, smaller attacks, since the +1 would constitute a larger component of its damage output. Take for example the damage output of Graveler's quick moves:

MoveCooldownPowerDamageTrue DPS
Mud Shot.556610.91
Rock Throw1.3612118.09
Move Power

Power and cooldown are the most important determinants of a move's damage output. Between two equally matched Pokemon, "½ Power + 1" is a good estimate of actual damage. For example, in a matchup between level 20 Snorlax and level 20 Vaporeon:

PokemonMovePowerDamage
VaporeonWater Gun64
SnorlaxZen Headbutt127
Attack and Defense

Attack and defense in the damage formula are the attacker's current attack and defender's current defense. Current attack and defense are based on the Pokemon's base attribute, individual values (IV), and current level:

$$Attack = (Base Attack + Attack IV) * CpM$$ $$Defense = (Base Defense + Defense IV) * CpM$$ $$HP = Floor((Base Stamina + Stamina IV) * CpM)$$

While Pokemon level is not directly part of the formula, CpM (CpMultiplier) is, and CpM is a function of level.  

There's no exact formula for calculating CpM, so it requires looking up the CpM table instead.  At level 25, a Pokemon's current stats are 2/3 of its base stats and IV.

Between levels 10 and 30, CPM is approximately 0.1336 * Level0.5.  That relationship means that current attack and defense roughly scale with the square root of level, for example:

  • A level 25 Pokemon deals 25% more damage than it would at level 16.
  • A level 16 Pokemon receives 33% less damage than it would at level 9.
STAB

STAB is an acronym for Same Type Attack Bonus. If a Pokemon uses a move that matches one of its types, then the attack gets a x1.2 STAB multiplier.

Type Effectiveness

The effectiveness multiplier is how effective the attack is against the defending Pokemon type, based on the following type table:

Type Effectiveness Chart
  • Center column - a move type
  • Right column - types the move is super effective against
  • Left column - types the move is not very effective against

Attacks get x1.2 super effective bonus or x.51 not very effective debuff.

Effectiveness Stacking Matrix

 There can be multiple effective bonuses when the defending Pokemon are dual types.  

For example, Gyarados is double weak against Electric attacks, because both Flying and Water type are weak against Electric attacks.  As such, Gyarados receives x1.4x1.4 = x1.96 extra damage.  

Not Effective Neutral Effective
x0.714 x1.0 x1.4
Not Effective x0.714 x0.714² x0.714 x1.0
Neutral x1.0 x0.714 x1.0 x1.4
Effective x1.4 x1.0 x1.4 X1.4²
Double Weakness

These dual type Pokemon suffer double weakness against some move types. They take an extra x1.4² in damage against the these moves and can be worn down very quickly:

Move Type Double Weak Pokemon
Rock Charizard, Butterfree, Moltres, Ledyba, Ledian, Yanma, Yanmega, Delibird, Articuno
Ice Dragonite, Hoppip, Skiploom, Jumpluff
Electric Gyarados
Bug Exeggcute, Exeggutor
Ground Magnemite, Magneton, Magnezone, Magcargo
Fighting Tyranitar
Fire Parasect, Paras, Scizor, Fortress
Flying Paras, Parasect, Heracross
Water Golem, Graveler, Geodude, Larvitar, Pupitar, Onix, Rhydon
Grass Geodude, Golem, Graveler, Rhydon, Rhyhorn, Omanyte, Omastar, Kabuto, Kabutops, Wooper, Quagsire, Larvitar, Pupitar, Corsola
Double Resistance

These dual type Pokemon have double resist against some move type. They receive a damage reduction of x0.714² against these moves, as such can tank them particularly well:

Move Type Double Resistence Pokemon
Grass Venusaur, Victreebel, Vileplume, Beedrill, Venomoth, Golbat, Charizard, Moltres, Butterfree, Scyther, Dragonite
Bug Gengar, Golbat, Charizard, Moltres
Ground Butterfree, Scyther, Parasect
Fighting Butterfree, Scyther, Mr.Mime, Beedrill, Venomoth, Gengar, Golbat
Ice Dewgong, Cloyster, Lapras
Flying Magneton
Steel Magneton
Poison Golem, Onix, Rhydon, Nidoking, Nidoqueen, Gengar
Fire Kingdra, Omanyte, Omastar, Kabuto, Kabutops, Magcargo
Summary:
  • Power and cooldown are the most important factors that influence damage output.
  • Damage scales with the square root of a Pokemon's level.
  • Same Type Attack Bonus provides a x1.2 multiplier.
  • "Super effective" type advantage provides a x1.4 multiplier.
  • "Not very effective" type disadvantage provides a x0.714 multiplier.
  • Some Pokemon have double resistance or double weakness to certain types, granting a x1.4² or x0.714² multiplier against those types.
Quick Links
Tools

Pokemon List

IV Calculator

Moves List

Appraisals

Egg Chart

Type Chart

Power Up Costs

Buddy Distances

CP Calculator
Rankings

Gym Attackers

Gym Defenders

DPS per type