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

Note: For armor-ignoring attacks, AE = 1.

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