Combat Calculations
This article is a stub. You can help Last Epoch Wiki by expanding it. |
Combat Calculations are used to determine the damage effects of Statuses and Skills while fighting.
Contents
Order of Calculations[edit | edit source]
Spell Skills, Melee Attack Skills, and Throwing Attack Skills are affected by Cast Speed, Melee Attack Speed, and Throwing Attack Speed respectively which increase the rate at which these abilities can be used- both by reducing the duration of their animations and by reducing the time between successive uses.
Attack/Cast Rate = (Base Animation Speed) x [ 1+(Cast Speed/Melee Attack Speed/Throwing Attack Speed)]
Targeted skills from Non-Player Characters affected by Blind have a chance to fire in a random direction away from their target.
Once a hostile skill Area of Effect lands in a Characters hit box the game goes through the following calculations in order to determine if and how much damage a character receives:
- Dodge chance is rolled to determine if the hit lands. If the hit is dodged it increases the dodge entropy and does not continue further calculations. If the dodge is unsuccessful, dodge entropy is reset and the rest of the calculations are determined.
- #Offensive Calculations are used to determine the types and amount of damage dealt.
- #Defensive Calculations are used to determine how much damage is mitigated, and thus the damage left over is taken.
- On Hit Effects are calculated to determine if the effect is applied or not.
- #Damage Taken Calculations will deal damage to characters and determines if they are killed, resulting in 'on kill' and 'on death' effects.
If a character takes direct damage from any source it follows the above however it bypasses the Dodge and On Hit Calculations.
Offensive Calculations[edit | edit source]
On a hit, the Critical Strike Chance or Melee Critical Strike Chance is rolled to determine if the hit is critical or not. If the hit is critical it increases the base damage by the Critical Strike Multiplier.
Base Damage on Critical = (Critical Strike Multiplier) x (Skill Base)
All hit damage is also scaled randomly between -25% and +25%.
Base Damage = (Skill Base) x [1-(RNG between -.25 and .25)]
Damage dealt from a hit, Damage Over Time effect, or other direct damage source is calculated separately for each of the Damage Types which are modified by any applicable Skill Type Modifiers.
Damage Dealt = [(Damage Type A + Damage Type Modifiers)+Skill Type Modifiers] + [(Damage Type B + Damage Type Modifiers)+Skill Type Modifiers] + ... + [(Damage Type N + Damage Type Modifiers)+Skill Type Modifiers]
Modifiers which add to a Damage Type add directly to the Base Damage before being affected by other modifiers
Modifiers which Increase or Reduce a damage type are additive. Each modifier is added to together and the final amount is multiplied by the base damage.
Damage Dealt = (Increase Modifier + Increase Modifier - Reduce Modifier) x (Base)
Modifiers which give more or less of a Damage Type are multiplicative. Each modifier is multiplied separately alongside the base damage.
Damage Dealt = "More Modifier x Less Modifier x Base
All together the modifiers result in the following calculation for each damage type:
Damage Dealt = (Base Damage + Add Modifiers) x (Increased - Reduced Modifiers) x (More Modifier) x (More Modifier) x (Less Modifier) x (Less Modifier)
Defensive Calculations[edit | edit source]
Once damage is received Block Chance is rolled to determine if Block Armor and Block Protection are added to the base Protections. For each type of damage received it is mitigated by the Protections for each damage type.
Damage Mitigated = {[Damage Dealt]x[(Protection Amount)/(Max Health + Protection Amount)]}
Damage Mitigated on Block = {[Damage Dealt]x[(Protection Amount + Block Protection)/(Max Health + Protection Amount + Block Protection)]}
Damage Mitigated on Physical Hit Block = {[Damage Dealt]x[(Protection Amount + Block Protection + Block Armor)/(Max Health + Protection Amount + Block Protection + Block Armor)]}
Additionally Chance to Receive a Glancing Blow reduces damage taken by 50% on a successful roll.
The Reduced Damage Taken Modifier will further scale the total amount of damage taken.
Damage Taken= (Damage Received from all sources - Damage Mitigated) x (Reduced Damage Taken)
Damage Taken Calculations[edit | edit source]
Once damage is taken the amount is subtracted from a characters Ward. If the amount of damage taken is more than the characters ward, the remainder will have a percent dealt to mana if the Damage Dealt to Mana Before Health modifier is present, then the rest subtracted from their Health. If the characters health drops to 0 or lower they are killed.