See Also: Combat, Spells, Talents
Combat mechanics are comprised of the technical details relevant to combat.
Armor
A numerical value that is commonly a property of armor and shields and serves as an integer reduction in physical damage sustained from a successful attack.
Armor Penetration
A numerical value that is commonly a property of weapons and is used to determine the amount of armor an attack is capable of negating. Armor Penetration is capped at 41 points on the character screen.
Attack
A numerical value that is used to determine whether a physical attack succeeds in impacting, though not necessarily damaging, an enemy.
AttackValue = 30 + 0.5 * (Strength + Dexterity) + AttackBonuses
Many Items, Spells and Talents provide bonuses to Attack.
Attack Roll
For most attacks (including activated Talents), an attack roll against the target's Defense is performed. If the attack roll is successful, the attack connects.
When the attacker's Attack value is the same as the defender's Defense value, the hit probability is 54%. Each point of attack increases this by one point (up to 100%), each point of defense decreases this probability by one point (at 0, attacks with attack rolls will always miss).
E.g., at 100 Attack:
Defense | Hit Probability in % |
---|---|
50 | 100 |
75 | 79 |
100 | 54 |
125 | 29 |
150 | 4 |
154 | 0 |
200 | 0 |
Note: The Defense value against ranged attacks includes a missile deflection modifier (e.g. from carrying a shield) that is added to the normal Defense value.
Attack Speed
Melee Attacks
The rate at which automatic attacks (not activated Talents) can be performed by a creature is determined by the Weapon Style used and the Weapon itself. It can be increased with Spells: Haste and Talents: Momentum.
The duration of a normal attack (no activated Talent used) is calculated as follows:
AttackDuration = (BaseTiming + WeaponSpeedMod) * CharacterSpeedModifier
BaseTiming
- Dual-Weapons (each weapon is used in turn): 1.5s
- Weapon and Shield: 2.0s
- Two-handed: 2.5s
WeaponSpeedMod
This modifier is the Speed Modifier listed on the Weapons page.
CharacterSpeedModifier
This value is normally 1.0. It is modified by the following:
- Haste: -0.25
- Momentum: -0.3
- Precise Striking: +0.1
- Swift Salve: -0.2
- Blood Thirst: -0.2
Due a bug in core_h.nss, the CharacterSpeedModifier resets to 1.0, if it less than 0.5 (e.g. by having Haste and Momentum activated).
Ranged Attacks
Duration of automatic attacks (most activated talents take substantially more time):
AttackDuration = BaseDuration + AimTime
BaseDuration
- If (wearing Heavy Chest Armor and not Master Archer) or wearing Massive Chest Armor: 2.8s
- Else: 1.6s
It is not affected either by Haste or Swift Salve, or by any Aim Speed modifiers. For non-party members, a penalty of 0.7s is added.
AimTime
The basic Aim time is 0.2s for Shortbows, 0.3s for Longbow and 0.8s for Crossbows. It can be reduced down to a cap of 0s.
Check the Aim Speed Reference Sheet for details on items, talents and spells modifying Aim Time.
Staff Attack Speed
- Staff attack speed is unaffected by chest armor type.
- Staff attack speed is normally affected by aim speed modifiers, such as Rapid Aim property on items or Haste spell.
- Staff attack speed fluctuates by 0.1-0.3s per auto-attack. Minimum length of staff attack animation is 1.4~1.7s.
Damage
Weapon Damage
Damage caused by an attack with a Weapon is calculated as follows:
- Normal Hit:
Damage = BaseWeaponDmg + AttributeBasedDmg + CharacterDmgBonus + OnHitDamage - ArmorDmgReduction
- Backstab / Critical Hit:
Damage = CriticalDamageModifier * (BaseWeaponDmg + AttributeBasedDmg) + CharacterDmgBonus + OnHitDmg - ArmorDmgReduction
Note: If the calculated Damage value is less than 1.0, it is set 1.0.
BaseWeaponDmg
The base weapon damage is listed on the Weapons page. The damage range listed there is multiplied by (0.9 + 0.1 * WeaponRank).
AttributeBasedDmg
One or two character attributes are used to determine AttributeBasedDmg (listed on the Weapons page). Each weapon type has an Attribute Modifier (listed on the Weapons page as well), which influences the Damage Bonus based on attributes.
- One character attribute used:
AttributeBasedDmg = [Attribute Value - 10] * [Weapon Attribute Modifier] * [Weapon Style Modifier]
- Two character attributes used:
AttributeBasedDmg = 0.5 * [Attribute Value1 + Value2 - 20] * [Weapon Attribute Modifier] * [Weapon Style Modifier]
Weapon Style Modifier:
- Single Weapon / Sword and Shield: 0.625
- Dual Wielding: 0.375 main hand; 0.125 off hand (full 0.375 multiplier with Dual-Weapon Training)
CharacterDmgBonus
This damage bonus is based on a special character property (Property 39, DamageBonus), modified by the following:
- Level Damage Bonus, 0.1 to 0.4 per character level, depending on the class.
- Talent-based bonus from passive talents and specializations: Bravery and Duelist and sustained abilities: Aim, Berserk, Combat Magic, Indomitable, Powerful Swings, Song of Courage, The Tainted Blade, Pulverizing Blows, Stone Aura.
- +X damage properties on weapons (if dual wielding, these will effectively apply to both weapons).
Critical Hit / Backstab
BaseWeaponDmg and AttributeBasedDmg damage is multiplied by a CriticalDamageModifier, which is 1.5. The Modifier can be increased with gear that grants a bonus to the property Critical Range (e. g., Red Jenny Seekers), which is capped at 200%, according to the following formula:
CriticalDamageModifier = COMBAT_CRITICAL_DAMAGE_MODIFIER + PROPERTY_ATTRIBUTE_CRITICAL_RANGE / 100.0
OnHitDmg
When a weapon hits, a number of OnHit properties can be triggered: Damage from Runes, Damage from Enchantment Spells (Flaming Weapons, Frost Weapons) and Poisons. These OnHit properties are not triggered when activated talents are used. When a Dual-Wielder back-stabs, Runes and other OnHit properties for the off-hand weapon are not triggered, the main-hand OnHit properties are triggered for hits from both weapons.
ArmorDmgReduction
Armor can reduce damage dealt by melee weapons and ranged weapons (except for Staves, which have special handling in the game engine). Other physical damage (e.g. from an explosion of Walking Bomb is not reduced).
An effective armor value is determined for each hit:
ArmorDmgReduction = (0.7 + 0.3 * [random value between 0 and 1]) * [Armor Value of Target] - [Armor Penetration of Attacker]
If ArmorDmgReduction is less than 0, it is set to 0. Thus, Armor Penetration can at most reduce the damage reduction effect of armor to 0, it cannot result in a damage bonus.
Elemental Damage
Any kind of Elemental Damage (cold, electricity, fire, nature, spirit), e.g. from Spells, Runes, Poisons, Bombs, and Staves dealing Elemental Damage, is modified as follows:
Damage = BaseValue * AttackerDamageModifier * TargetResistanceModifier
Note that certain creatures are immune to some types of elemental damage.
AttackerDamageModifier
There is a separate modifier for each type of elemental damage. This modifier is normally 1.0. It can be increased up to a cap of 1.3 with items that have a +X% {cold/electricity/fire/nature/spirit} damage property, e.g. Spirit Hands and Elementalist's Grasp.
TargetResistanceModifier
The target can have up to 75% Elemental Resistance (this would correspond to a TargetResistanceMultiplier of 0.25). Elemental resistance can be negative as well (due to the target having an elemental damage weakness or Spells that lower resistance: Vulnerability Hex, Affliction Hex), adding an additional amount of damage. Negative Resistance is capped at -100%.
Resistance % | TargetResistanceModifier |
---|---|
-100 | 2.0 |
-50 | 1.5 |
0 | 1.0 |
25 | 0.75 |
50 | 0.5 |
75 | 0.25 |
Defense
A property of armor and shields that determines the likelihood that the wearer will be hit by a physical attack. Dexterity also contributes to this, increasing Defense by 1 for each point of Dexterity purchased.
Freezing
See Also: Resistance Checks
Certain spells, namely Winter's Grasp, Cone of Cold, and Blizzard, can temporarily incapacitate a target if effective.
- Freezing is resisted by a successful physical resistance check vs. the caster's spellpower.
Duration
- Freeze duration is determined by the base freeze duration modified by target rank.
Elemental Immunity
See Also: Immunities
Some monsters are completely immune to certain damage types. This immunity can not be bypassed with Vulnerability Hexes.
Elemental Resistance
See Also: Resistances
Elemental resistance is shorthand for the four resistances for the primal elemental magics. Elemental Resistance determines the character's ability to withstand various elemental effects, specifically primal magic (fire, ice, lightning, nature, spirit). A high elemental resistance (fire, ice, lightning, nature, spirit resistance) allows a character to limit the damage of the elemental attack. Examples include: withstanding Flame Blast, Winter's Grasp, Stonefist, Shock, etc.
Health
Heath is the amount of total damage a character/enemy can take before falling unconscious. The red meter outlining the left side of the character portrait tracks this statistic (percentage left vs. total). Health is increased by constitution, 5 health points per 1 level constitution.
Knockdown
A combat effect generated by many talents that incapacitates a target for a short duration.
- Knockdowns are resisted by a successful physical resistance check vs. the caster's "attack attribute". This is considered to be either the caster's spellpower or strength modifier, depending on whether the ability used is a spell or a talent, respectively.
Pseudocode - Duration
Duration (s) = (0.0 <= [Random Decimal Value] < 1.0)
Mental Resistance
See Also: Resistance Checks, Spells that Check against Mental Resistance and Attacks that Check against Mental Resistance
Mental Resistance determines the character's ability to withstand various special effects, specifically combat (Bard songs) or magic effects which affect the mind of the character. A high mental resistance allows a character to either completely shrug off the effect, or take a limited negative buff instead. Examples: withstanding Captivating Song, Blood Control, Horror, etc.
Mental Resistance is different from Spell Resistance
Missile Deflection
A property most often seen on shields that allows for a chance to nullify an incoming ranged, physical attack.
Pseudocode - Deflection Check
CheckSuccess = (0.0 <= [Random Decimal Value] < 1.0) <= ([Total Missile Deflection] / 100.0)
Movement Speed
The speed at which a creature is able to move.
Physical Resistance
See Also: Resistance Checks and Spells that Check against Physical Resistance and Attacks that Check against Physical Resistance
Physical Resistance determines the character's ability to withstand various special effects, specifically combat or magic effects which affect the body of the character. A high physical resistance allows a character to either completely shrug off the effect, or take a limited negative buff instead. Examples include: Withstanding Knockdown, Earthquake, Paralyze.
Regeneration
Stamina and mana regenerate at different rates depending on attributes and whether the creature is engaged in combat. Refer to Regeneration article for additional information.
Resistance Checks
See also, Resistances
Physical and mental combat effects have a chance to be resisted by a target as modified by various factors.
Pseudocode - Resistance Check
ResistanceChance = [Target Resistance Score] - [Caster Attacking Attribute] + ([Target Rank] * [Target Rank Modifier]) + ([Target Level] * 5 - ((Difference Between [Target Level] and [Caster Level]) * 5.0) If ResistanceChance >= [Target Maximum Resistance Chance] ResistanceChance = [Target Maximum Resistance Chance] CheckSuccess = (0.0 <= [Random Decimal Value] < 100.0) <= ResistanceChance
- Maximum Resistance Chance: 100.0 (usually)
Shattering
When frozen or petrified by a spell a target can possibly be shattered by a critical hit (or by the effect of specific other spells), effectively killing it instantly.
Pseudocode - Shatter Check
If [Target] is not a Boss or Plot Character and (not a Party Member unless (Difficulty >= Hard)) If [Target] is a Special Rank If Difficulty = Easy ShatterChance = 0.3 ElseIf Difficulty = Normal ShatterChance = 0.2 ElseIf Difficulty = Hard ShatterChance = 0.1 ElseIf Difficulty = Nightmare ShatterChance = 0.05 Else ShatterChance = 1.0
CheckSuccess = (0.0 <= [Random Decimal Value] < 1.0) <= ShatterChance
Spell Resistance
See also Resistances
Spell Resistance determines the percentage chance to completely ignore a magical spell attack. Non-spell elemental attacks ignore this attribute as they are not spells.
Spell Resistance is different from Mental Resistance
Threat
See Threat
Threat determines how enemies attack your party and is critical to take account of for combat strategy