Damage Formula & Mechanics

Damage Formula

$$Floor(\frac{1}{2} * Base Power * \frac{Attack}{Defense} * Multipliers) + 1)$$

This is the formula that Pokemon Go uses to calculate damage dealt and received in combat. We'll go through this formula step-by-step:

Floor Function

The Floor function rounds a decimal down to the nearest integer. For example, a move that would do 2.9 damage will in reality do 2 damage. A move that would do 3.9 damage will do 3 damage, and so on.

The Floor function is the source of all breakpoints and bulkpoints.

Floor() + 1 ensures that your attacks will always do at least 1 damage.

Base Power

A move's Base Power is the number displayed next to the move in-game. Base Power is important, but other metrics such as Cooldown, Energy per Use, or Energy Cost are more important for determining how a move performs overall.

For more information on what makes a good move 'good', check out Move Stats Explained.

Attack & Defense

Attack is the attacker's actual Attack stat, while Defense is the defender's actual Defense stat. These are defined as follows:

  • Actual Attack = (Base Attack + Attack IV) * CP Multiplier
  • Actual Defense = (Base Defense + Defense IV) * CP Multiplier

The CP Multiplier is just a number that Niantic uses to scale Pokemon stats according to their Level. For a more in-depth explanation, see Advanced Pokemon Stats.

Raid Bosses will always have a perfect Defense IV.

Multipliers

Multipliers refer to various damage bonuses that are factored into the damage formula. There are 4 damage multipliers:

  • Type Effectiveness
  • STAB
  • Weather
  • Friendship
Type Effectiveness

Type Effectiveness refers to the damage multipliers applied when your move is either Super Effective or Not very Effective.

There are 3 main categories of type effectiveness:

  • Neutral: 1x
  • Super Effective (2x): 1.6x
  • Not very Effective (0.5x): 0.625x

Against a Pokemon with two types, type effectiveness stacks multiplicatively:

  • Super Effective (4x): 2.56x
  • Not very Effective (0.25x): 0.390625x

Some types are not effective against other types. If you're familiar with the main series, you may know these as immunities. Immunity in Pokemon Go is treated as a double resistance:

  • Not Effective (0x): 0.390625x

Immunities and single resistances or weaknesses can stack multiplicatively:

  • Not Effective & Super Effective: 0.625x
  • Not Effective & Not very Effective: 0.244x

For more information on type effectiveness, see this page.

STAB

STAB is an acronym for Same-Type Attack Bonus. If a Pokemon uses a move that matches one of its own type(s), that move will receive an additional damage multiplier of 1.2x.

For example, if a Rayquaza (Dragon/Flying) uses Dragon Tail (Dragon-type), Dragon Tail will do an additional 20% damage.

If a Groudon (Ground) uses Dragon Tail, Dragon Tail will not do an additional 20% damage, since Groudon is not a Dragon-type.

Weather

The in-game Weather will boost 2-3 different types. If a Pokemon uses a move that matches one of the currently Weather-boosted types, an additional damage multiplier of 1.2x is added.

For example, Windy Weather boosts Psychic-, Flying-, and Dragon-types. If a Rayquaza uses Dragon Tail (Dragon-type) while the in-game Weather is Windy, Dragon Tail will do an additional 20% damage.

Friendship

Raiding with an in-game Friend will add an additional damage multiplier for both of your Pokemon. The damage increase depends on the level of Friendship:

  • Good Friends: 3% (1.03x)
  • Great Friends: 5% (1.05x)
  • Ultra Friends: 7% (1.07x)
  • Best Friends: 10% (1.10x)