Damage calculation

Damage in Guild Wars results from actions taken by attackers that subtract a portion of an defender's health. This definition includes many attacks or skills (including spells) but does not include health degeneration, life stealing, or sacrifices.

When an attacker attempts to damage a target, the following is factored in:
 * The damage type, such as Fire or Blunt. The amount of damage done may vary due to the defender's armor and resistances to that damage type.
 * The attacker's ability to inflict the damage.
 * The target's ability to resist this damage.
 * Bonuses on both side. An attacker may have bonuses that augment the damage and the target may have bonuses that reduce the damage.

Damage Types
There are many individual damage types, and two meaningful damage type categories, Elemental and Physical.
 * Elemental damage
 * Fire damage
 * Cold damage
 * Lightning damage
 * Earth damage
 * Physical damage
 * Blunt damage
 * Piercing damage
 * Slashing damage


 * Damage Types that Ignore Armor
 * Holy damage*
 * Shadow damage
 * Untyped Damage
 * Other damage types:
 * Light damage
 * Dark damage
 * Chaos damage

* Holy damage only ignores armor sometimes. See the rest of this article for details.

Damage Calculation
''Note: For simplicity, on this page the term attack describes any attempt to damage an opponent. However, whenever the word "attack" is used in skill descriptions, it refers to the attack action.''

Base Damage
Skill attacks has a specific base damage (BD) value indicated in the skill description.

Weapons attacks select BD each time uniformly from the damage range of the weapon. For weapons that have an attribute requirement on their damage range, there is actually another hidden range used for when the attacker does not meet the requirement. The hidden range is always lower than the display range, and varies randomly from weapon to weapon.

Armor Level
Assuming the attack was not blocked or evaded, we first calculate the effective armor level (EAL) the target has against that attack. Note that this value can vary greatly depending on the attack. At one extreme are attacks that "ignore armor" – they impart the full damage regardless of armor or armor bonuses. Examples include any attack that deals shadow damage, or offensive spells such as Obsidian Flame. Most attacks, however, are resisted by some form of armor.

Every piece of armor worn by a character has a specific base armor level (BAL). The maximum BAL of spellcasters is generally 60 (Droknar's Armor or later), and rangers and warriors have armor with higher BAL. To the base AL we add any AL that is specific to the type of damage. Many warrior armors have armor bonus versus physical damage; all ranger armors have bonuses versus elemental damage; and elementalist armor sets have bonuses versus specific kinds of elemental damage. Weapons and shields can also yield AL bonuses. Enchantments such as Shield of Regeneration or Armor of Earth, and skills such as "Watch Yourself!" add temporary AL bonuses. Finally, hexes such as Weaken Armor and skills such as Healing Signet add temporary AL penalties, which are treated as negative bonuses. We thus obtain the net armor level (NetAL).


 * NetAL = BAL + AL bonuses - AL penalties

Next, we have to account for any armor penetration present in the attack. Lightning damage and certain kinds of holy damage, for instance, have a set amount of penetration (usually 20%). The warrior attribute Strength increases armor penetration of melee attacks. Weapons can also give armor penetration bonuses. Add up all the various bits of armor penetration to obtain the net armor penetration (NAP). We can now calculate the effective armor level (EffectiveAL):


 * EffectiveAL = NetAL &times; (1 - NAP/100)

The EffectiveAL is the amount of resistance that any particular attack receives. Generally speaking, the base damage is scaled exponentially by a multiple of the EffectiveAL, but the factors differ for different kinds of damage.

Damage Level (DL)
For attacks from spells and caster weapons (Staves, Wands, etc), the BaseDL is proportional to the attacker's Level.


 * BaseDLcast = 3 &times; Level 

For other types of attacks (melee weapons, bows, and pets), the BaseDL depends on the attacker's Rank in the respective attribute. If the attack is a skill with a linked attribute, the rank from that attribute is used instead.


 * BaseDLnoncast = 5 &times; Rank

If a critical hit occurs, there is a DLBonus of 20.

''Note: There is a diminished return on BaseDL for Rank beyond a certain Threshold. For Rank beyond the Threshold, BaseDL only increase by 2, not 5. Current research suggests an approximation model of:''
 * Threshold = Level/2 + 2 

Finally, the EffectiveDL is the sum of BaseDL and DLBonus:


 * EffectiveDL = BaseDL + DLBonus

Pitting AL against DL
The Armor Effect (AE) depends on the difference of EffectiveDL and EffectiveAL:


 * '''AE = 2(EffectiveDL-EffectiveAL)/40

Every 8 ranks in a physical damage attribute thus doubles the net noncaster damage caused; similarly, every 13 character levels doubles caster damage. The accounting per rank or level is as follows: every rank in attack attributes scales the damage by exactly a factor of 2(1/8) (roughly 9%), and every character level scales the caster damage by 23/40 (roughly 5.33%). Note that the effect of cumulative ranks or levels is compounded; for example, 5 ranks in an attack attribute don't increase damage by 45%, but by (1.095 - 1) &times; 100 &asymp; 53%.

It is important to keep in mind that certain skills such as Greater Conflagration and Judge's Insight change the damage type, and therefore can have an effect on AL bonuses or DL calculation. The articles on these skills explain their damage type changes in more detail. Only in the early PvE game, advanced PvE areas, or in exceptional situations is the EffectiveAL actually less than the EffectiveDL, so the AE generally always reduces the effective damage. The philosophy behind the AE scale can be seen as follows: in the prototypical case where the attacker and target are roughly equal PvP players, the attacker's ranked 12 noncaster attack or normal caster attack at character level 20 will exactly negate the target's EffectiveAL of 60 (standard for all spellcaster PvP armor).

Note: one can think of armor-ignoring attacks as attacks that simply set AE to 1.

The AE equation gives us a handy rule of thumb: every 40 increase (decrease) in EffectiveAL halves (doubles) the amount of normal damage (i.e., damage not caused by armor ignoring attacks). A Warrior with 100 armor against physical damage being whacked by a sword will take half as much damage as any 60 armor Elementalist being whacked by the same sword. Skills such as Healing Signet temporarily reduce AL by 40, which translates to double damage for normal attacks. An increase of approximately 16 armor would correspond to taking 75% damage. (Many ranger armors such as Drakescale or Frostbound Armor give AL bonuses of +15.)

Consider a Mesmer, an Elementalist, and a Ranger being hit by the same attribute level 16, caster level 20 Fireball. The Mesmer with only 60 armor takes all 119 damage. The Elementalist has Pyromancer's Armor with 75 armor against fire and takes 92. The Ranger wears Druid's Armor which has 100 armor against elemental damage so he takes 60 damage.

Damage Enhancers (DEnhance)
Weapon modifications that give +x% damage are Damage Enhancers. Most require a condition to be met for them to trigger. However, customizing a weapon gives a constant 20% enhancement. Only damages that use the weapon as a baseline use DEnhance.

DEnhance stack by addition (initially 1).

Damage Scalers (DScale)
DScale comes from skills or conditions that affect damage by a set percentage. Currently all DScale in the game reduce damage.

DScale stack by multiplication (initially 1)

Examples:
 * Life Attunement (DScale = 0.7)
 * Flurry (DScale = 0.75)
 * Weakness (DScale = 0.34)

Damage Shifters (DShift)
DShift increases or decreases damage by a fixed integer amount.

DShift stack by addition (initially 0)

Examples:
 * Strength of Honor on the attacker
 * Absorption runes
 * Received damage -x mod found on weapons
 * Power Shot
 * Shielding Hands

Damage Multipliers (DMult)
DMult drastically affects the damage by an integral facter.

DMult stack by multiplication (initially 1)

Examples:
 * Frenzy doubles the damage received (multiply by 2).
 * Aura of the Lich halves damage from all sources (divide by 2).

Damage Negators (DNeg)
DNeg will cancel damage, up to a certain maximum depending on rank in the linked attribute. Often it also comes with a healing bonus, but that is not part of the damage calculation.

DNeg stack by multiplication (initially 1)

Examples:
 * Reversal of Fortune
 * Mark of Protection

Effective Damage
The final effective damage (ED) to a target is related to the above factors in the following way:


 * ED = ([BD &times; DEnhance &times; AE &times; DScale] + DShift) &times; DMult + DNeg

Each square bracket indicates rounding of results.

Now, the entire effective damage might actually be prevented from manifesting on the target in certain situations:


 * Enchantments such as Protective Bond or Protective Spirit cap the total received damage.
 * Damage diversion skills such as Dark Bond or Symbiotic Bond distribute the damage to multiple targets.

Illustrative Examples
[examples and graphs to be added presently]

Damage Groups
It is useful to classify damage into damage groups (especially for PvP).
 * Spike Damage
 * Damage Over Time