Attack table

In August 2005, a Blizzard representative made the following statement:

Based on the implications of this statement, it has been suggested by some players that the result of every melee or ranged attack is decided based on a single server-generated random number (a single "die roll" made internally on the server), checked against a server-side internal table for the attack.

There are two types of attacks in World of Warcraft's combat system: melee/ranged and spells.

For melee and ranged attacks, the game uses the attack table seen to the left. The table is laid out in descending order of the precedence of one attack result over another. That is to say, the entries at the top of the table take precedence over the entries below them. Melee and ranged attacks are resolved in a single server-side "die roll" to decide what happens. Spell attacks follow different rules than melee/ranged attacks, and require multiple server-side die rolls. There are additional rules based on whether the attack source is a player character or a creature, and those rules are laid out in more detail in the following sections.

For melee/ranged attacks, what the attack table means is this:


 * Every melee attack has a chance to miss, to be dodged, to be parried, to be blocked, to be a glancing blow, to be a critical, and to be a crushing blow. Anything left over is an ordinary hit. Ranged attacks work the same way, but cannot be parried, glanced, or blocked.
 * The chances listed in the character sheet (for Dodge, Parry, or Block) are absolute percentages. If dodge chance is listed at 4.5%, then on average 4.5% of all melee attacks made against the character by a creature of equal level will be dodged, not merely 4.5% of those melee attacks that didn't miss.
 * Some melee attacks have a 0% chance for some of these attack results; e.g., an auto-attack made by a player has a 0% chance of being a crushing blow, an attack made by a creature has a 0% chance of being a glancing blow, an attack made against a player without a shield has a 0% chance of being blocked, and so on.
 * For creature and white-damage melee attacks, there is no such thing as a blocked crushing blow, a parried crit, a missed glancing blow, etc.. All of these possible attack results are mutually exclusive.
 * If the total chances of all the entries above the bottom of the table reach or exceed 100%, the attack cannot be an ordinary hit.
 * If the total combined chance of a miss, dodge, parry, or block is 100% or higher, not only can the attack not be an ordinary hit, the attack also cannot be a crit or a crushing blow.

Notes:

Player attacks
For player attacks on creatures or other players, a few rules are enforced that are not applied to creature attacks on players or other creatures:
 * Player white-damage attacks cannot be a crushing blow
 * Player critical strikes land for generally 200% of the effect (both damage and healing) when fighting creatures
 * Player PvP crits (both damage and healing) land for 150% of the effect
 * Most player abilities have two multistrike rolls in PvE
 * In PvP, only one multistrike roll is available
 * The exceptions are status-affecting attacks like Polymorph or Psychic Scream or taunts like Taunt (warrior ability), as these kinds of abilities cannot multistrike at all

Player melee and ranged attacks
In the tables below, &Delta;level is the relative level between the attacking character and the target. For instance, a level 85 character attacking a level 90 target would use the -5 row. Character attacks against raid bosses (who display a skull instead of a numeric level) generally use the -3 row, as raid bosses are at minimum always three levels above attacking characters. Values only apply if targets are capable of them, so for example if the character is attacking something from behind, the target cannot parry attacks.

Off-hand melee swings incur an additional 19% miss penalty to balance dual wielding two one-handed weapons versus using a two-handed weapon. Ranged attacks (that is, not spells but attacks like a hunter's Auto Shot) use the same attack table as melee attacks, but with 0% parry, glance, or block chance for all rows.

Player spell attacks
For spells, offensive abilities can either first hit or miss. Healing abilities will always hit. Players attacking targets above their character level lose 11% chance to hit for each level above 3. That is, a level 85 character attacking a level 90 target has 22% miss chance.

Crits and crit suppression
The critical strike chance listed on the character sheet is the absolute crit chance over all attacks (hits and misses), so to get the actual crit chance, multiply the hit chance (100% − miss chance) by the character sheet-listed crit chance. For example, if a player has 10% miss chance and 20% listed crit chance, the player's actual crit chance is, or 18%.

For melee and ranged attacks, slot the actual crit chance into the attack table between block and ordinary hit. If the game rolls a successful spell hit, the game then makes a second roll to decide if the ability is a critical strike or a regular hit.

Regardless of the attack type, players attacking higher-level targets have a reduced chance to crit relative to what's listed on their character sheet. For each level above the attacking character's level, players lose 1% crit. So, a level 87 character with 20% listed crit attacking a level 90 target only has 17% crit chance.

Multistrikes
Assuming a successful player-cast ability in any form (glance, crit, or hit), the game then makes up to two separate rolls to decide if the ability will land any multistrikes alongside the main ability for 30% of the effect. If the primary attack landed for 1,000 damage, a normal multistrike would land for 300 damage, and a critical multistrike would land for 600 damage in PvE. Multistrikes can crit independently of the main ability, whether that ability was a normal white-damage attack or a yellow-damage (special) attack, so the initial strike does not need to be a crit in order for the multistrikes to crit. Assuming 20% crit chance and 10% multistrike chance, each multistrike roll would look like this:

Bonus damage to previous-expansion creatures
Beyond all of the above, players attacking creatures from previous expansions (creatures from classic to Cataclysm, but not Mists of Pandaria) will increase their damage dealt to those creatures by a multiplier. This bonus is based on expansion, not level, so a level 85 creature in Twilight Highlands will take bonus damage, whereas a level 85 creature in Jade Forest will not. So, for example, a level 80 character attacking a level 75 creature multiplies it's damage dealt by 4 (an attack that would deal 1,000 damage actually deals 4,000 damage).

Creature attacks
Just as there are rules that are only applied to player attacks, creatures are subject to their own set of rules:
 * Melee swings cannot be a glancing blow, but higher-level targets can land crushing blows
 * Creature spells and special abilities generally cannot land critical strikes or multistrike

Creature melee and ranged attacks
Creatures attacking players have a different attack table than players attacking creatures. Creatures do not receive glancing blows on players, but players can be struck by crushing blows. As in the previous tables, &Delta;level is the relative level between the attacking creature and the player. For instance, a level 90 creature attacking a level 85 player would use the -5 row. Raid boss creature attacks against players (raid bosses display a skull instead of a numeric level) generally use the -3 row. Values only apply if players are capable of them, so for example druids cannot parry and characters without shields equipped cannot block.

Values in the &Delta;dodge, &Delta;parry, or &Delta;block columns indicate the relative chance an attack has being that type of attack as compared to the character sheet. For instance, a level 90 creature attacking a level 87 player with 20% listed parry chance actually has a 15.5% chance for incoming attacks to be parried, or a relative parry chance of -4.5%. Any values that would wind up below 0% will hit the floor of 0%. On the other hand, players that are higher-level than the attacking creature get a bonus to their character sheet values. In this example, a level 90 player being attacked by a level 85 creature with 5% dodge chance listed on the character sheet actually has a 12.5% chance to dodge incoming attacks.

Creature spell attacks
As with players attacking creatures with spells, creatures can either hit or miss with spells cast on players. For example, a level 85 creature attacking a level 90 player with spells has a 37% miss chance. Unlike player-cast spells, creature-cast spells cannot land a critical strike.

Previous-expansion creature damage modifier
Much like how players deal bonus damage to creatures from expansions before Mists of Pandaria, those same creatures do less damage to players according to the formula:  For example, a level 80 creature attacking a level 85 character has it's damage output multiplied by 0.5, or an attack that would normally do 1,000 damage actually only does 500 damage. The damage multiplier has a lower limit of 0.1, so attacks (if they hit) will do at least 10% of their nominal damage.

As with the player-on-creature expansion-based damage modifier, this rule comes in to effect based on creature expansion, not level. Level 85 creatures in Twilight Highlands are affected by this rule, but level 85 creatures in the Jade Forest are not.

Examples
In an actual attack, the game rolls a number from 0 to 1 to decide what happens. Using the above melee attack tables, add up the values in the correct row and table from left to right and stop at 100%. For example, a raid boss is attacking a level 90 death knight in melee with 10% dodge, 12% parry, and 0% block (as death knights cannot equip shields). Bosses are always at least three levels above a character, and in this example the boss has 5% crit, so use the "-3" row in the creature &rarr; player table to get: As another example, suppose a level 83 character is attacking a level 90 creature. Adding up the values in the -7 row in the player &rarr; creature table results in 114.5, but the attack table actually looks like this: Values cannot add up to over 100%, so even though the player nominally has an 80% chance to land a glancing blow and a 13.5% chance to get blocked, 1% of the glance value and all of the block value got "pushed off the table".