To fully understand how damage mechanics work in Pokémon Go, one must first comprehend each of the following components:

  • Pokemon GO’s Damage Formula and it’s components
  • Floor Function
  • Move Power
  • Attack and Defense
  • STAB (Same Type Attack Bonus)
  • Type Effectiveness
  • Stacking Effectiveness
  • Double Weakness
  • Double Resistance

Pokemon GO’s Damage Formula

Floor(½ x Power x Atk/Def x STAB x Effectiveness) + 1

This formula, first discovered by Reddit User Qmike, demonstrates how damage is calculated during the combat phase. However, to better understand it, one first has to fully comprehend its various components.

Floor Function (Flooring) 

Before diving into the actual formula, one should know that about the Floor function. The Floor function basically rounds down an number in a formula. Any reference to +1, as in Floor()+1, simply means that any attack is guaranteed a minimum damage of 1, hence why Slaking‘s fast move (0 Power + 1 = 1) deals very little damage.

Flooring benefits especially faster attacks simply since +1 will represent a bigger portion of the attack’s damage. For instance, Tyranitar’s damage output would be as follows:

Pokémon Power Cooldown DPS
Bite 6 0.5 20.00
Iron Tail 15 1.1 17.27

In this example, Bite has a shorter cooldown than Iron Tail and therefore has a higher DPS.

Power

Power and cooldown (as demonstrated above) are the two main components affecting an attack’s damage output. In the event that two Pokémons are equally matched in terms of their levels, the formula ½Power + 1 will provide an excellent estimation of the actual damage output. For example, a combat between a Level 15 Tyranitar and Level 15 Dragonite would be illustrated as follows:

Pokémon Move Power Damage
Tyranitar Bite 6 4
Dragonite Dragon Tail 15 8

Attack and Defense

In the damage formula above, an Attacker’s current attack as well as a Defenser’s current defense will determine the formula’s Attack and Defense. The two components are directly determined by the Pokémon’s base attribute, Individual Values (IV) and CP multiplier (which is codependent on the Pokémon’s level), as indicated below.

  • Attack = (Base Attack + Attack IV) x CP Multiplier
  • Defense = (Base Defense + Defense IV) x CP Multiplier

For example, a level 25 Pokémon’s CP Multiplier is 2/3 of its base attributes and IV. At this level, a Pokémon will deal 25% more damage than it did at level 16.

The same concept applies to Defense. A level 16 Pokémon would receive 33% less damage that it would at level 9. Hence the importance of powering your Pokémons wisely.

STAB (Same Type Attack Bonus)

Pokémons with attacks from the same type as the Pokémon itself will benefit from a STAB bonus of 1.20. Using once again Tyranitar, a Dark and Rock dual type Pokémon, will benefit from STAB on Bite and/or Crunch as both of these attacks benefit from the same typing as Tyranitar itself, Dark type.

Type Effectiveness

Basically, each Pokémon has a different type and a Pokémon’s type will determine its attack’s effectiveness against another Pokémon during combat, as per the chart below.

Green : Super effective
Red : Not very effective
Maroon (darker) : Immune

Stacking Effectiveness

When attacking dual types Pokémons, an Attacker can benefit from multiple bonuses. For example, Charizard is double weak to Rock since both Flying type and Fire type are weak to Rock type attacks. As a result, Rock type attacks will benefit from two stacked Super Effective multipliers (x1.4×1.4=x1.96) when released against Charizard due to its double weakness.

Double Weakness

The following dual type Pokémons are double weak against the attack type listed next to them. This implies that the attack types listed below will benefit from an additional x1.96 multiplier (as demonstrated above) when used against the Pokémons listed next to them.

Attack Type Double Weak Pokémon
Rock Pokemon GO CharizardCharizard Pokemon GO ButterfreeButterfree Pokemon GO ScytherScyther Pokemon GO ArticunoArticuno Pokemon GO MoltresMoltres Pokemon GO LedianLedian Pokemon GO YanmaYanma Pokemon GO DelibirdDelibird
Ice Pokemon GO DragoniteDragonite Pokemon GO JumpluffJumpluff
Electric Pokemon GO GyaradosGyarados Pokemon GO MantineMantine
Bug Pokemon GO ExeggutorExeggutor
Ground Pokemon GO MagnetonMagneton Pokemon GO MagcargoMagcargo
Fighting Pokemon GO TyranitarTyranitar
Fire Pokemon GO ParasectParasect Pokemon GO ForretressForretress Pokemon GO ScizorScizor
Flying Pokemon GO ParasectParasect Pokemon GO HeracrossHeracross
Water Pokemon GO GolemGolem Pokemon GO RhydonRhydon Pokemon GO MagcargoMagcargo
Grass Pokemon GO GolemGolem Pokemon GO RhydonRhydon Pokemon GO OmastarOmastar Pokemon GO KabutopsKabutops Pokemon GO QuagsireQuagsire Pokemon GO CorsolaCorsola

Double Resistance

Double Resistance refers to a Pokémon receiving a damage reduction of x0.71, based on its dual type, when taking damage from specific move types. The following dual type Pokémons therefore have a double resistance when taking damage from the attack type listed next to them below.

Attack Type Double Resistance Pokémon
Ice Pokemon GO DewgongDewgong Pokemon GO CloysterCloyster Pokemon GO LaprasLapras
Bug Pokemon GO CharizardCharizard Pokemon GO GengarGengar Pokemon GO MoltresMoltres Pokemon GO CrobatCrobat Pokemon GO TogeticTogetic Pokemon GO SkarmorySkarmory
Ground Pokemon GO ButterfreeButterfree Pokemon GO ParasectParasect Pokemon GO ScytherScyther Pokemon GO JumpluffJumpluff
Fighting Pokemon GO ButterfreeButterfree Pokemon GO BeedrillBeedrill Pokemon GO VenomothVenomoth Pokemon GO GengarGengar Pokemon GO ScytherScyther Pokemon GO CrobatCrobat Pokemon GO TogeticTogetic Pokemon GO XatuXatu
Fire Pokemon GO OmastarOmastar Pokemon GO KabutopsKabutops Pokemon GO MagcargoMagcargo Pokemon GO KingdraKingdra
Flying Pokemon GO MagnetonMagneton
Steel Pokemon GO MagnetonMagneton Pokemon GO LanturnLanturn
Grass Pokemon GO VenusaurVenusaur Pokemon GO CharizardCharizard Pokemon GO ButterfreeButterfree Pokemon GO BeedrillBeedrill Pokemon GO VileplumeVileplume Pokemon GO VenomothVenomoth Pokemon GO VictreebelVictreebel Pokemon GO ScytherScyther Pokemon GO MoltresMoltres Pokemon GO DragoniteDragonite Pokemon GO LedianLedian Pokemon GO AriadosAriados Pokemon GO CrobatCrobat Pokemon GO JumpluffJumpluff Pokemon GO YanmaYanma Pokemon GO ForretressForretress Pokemon GO ScizorScizor Pokemon GO SkarmorySkarmory
Poison Pokemon GO NidokingNidoking Pokemon GO NidoqueenNidoqueen Pokemon GO GolemGolem Pokemon GO GengarGengar Pokemon GO RhydonRhydon Pokemon GO SteelixSteelix