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:
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:
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 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.
The effectiveness multiplier is how effective the attack is against the defending Pokemon type, based on the following type table:
- 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.
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.
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|
|Ground||Magnemite, Magneton, Magnezone, Magcargo|
|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|
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|
|Poison||Golem, Onix, Rhydon, Nidoking, Nidoqueen, Gengar|
|Fire||Kingdra, Omanyte, Omastar, Kabuto, Kabutops, Magcargo|
- 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.