Damage calculation

Damage in Guild Wars refers specifically to an action taken by an attacker to remove a portion of an enemy's health. It does not mean the casual "damage" as in "hurt the other guy." This definition includes any attack or skill (including spells) but does not include health degeneration, life stealing, or sacrifice.

When an attacker attempts to damage a target, the following is factored in:
 * The damage type. This will determine the enemy's armor and natural resistences to that damage.
 * 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.

Below is a breakdown of these factors:

Damage Types
There are several different types of damage in Guild Wars.
 * Elemental damage
 * Fire damage
 * Cold damage
 * Lightning damage
 * Earth damage
 * Physical damage
 * Blunt damage
 * Piercing damage
 * Slashing damage
 * Armor Ignoring Damage
 * Holy damage*
 * Shadow damage
 * Untyped Damage
 * Other damage:
 * Light damage
 * Dark damage
 * Chaos damage

* Holy damage only selectively ignores armor. See the article for details.

Damage Calculation
''Note: For the purposes of simplicity, the term attack is used loosely below to describe an atempt 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 damage. Every rank in these attributes in fact scales the damage by exactly a factor of 2(1/8), or roughly 9%. Note that the effect of cumulative ranks is compounded: 5 ranks don't give a 45% damage increase but (1.095 - 1) &times; 100 &asymp; 53% increase.

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 affect 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 EAL actually less than the EDL, 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 AR 12 physical attack or AtL 20 nonphysical attack will exactly negate the target's EAL of 60 (standard for all spellcaster PvP armor).

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

40 armor is the "half-life" of the amount of damage received. That is, for every 40 armor increase damage taken is halved (except for armor ignoring damage, of course). 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. Similarly, losing 40 armor, such as with Healing Signet, will double damage. An increase of approximately 16 armor would correspond to taking 75% damage.

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