Skip to content

Commit be5e3d6

Browse files
committed
Fix EHP Calcs to leave 1 life, and max hit to leave 1 life
1 parent dd09dc8 commit be5e3d6

2 files changed

Lines changed: 14 additions & 9 deletions

File tree

src/Modules/CalcDefence.lua

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -644,16 +644,22 @@ function calcs.reducePoolsByDamage(poolTable, damageTable, actor)
644644
end
645645
end
646646
if life > 0 then
647-
local tempDamage = m_min(damageRemainder, life)
647+
local tempDamage = m_min(damageRemainder, life - 1)
648648
life = life - tempDamage
649649
damageRemainder = damageRemainder - tempDamage
650650
resourcesLostToTypeDamage[damageType].life = (resourcesLostToTypeDamage[damageType].life or 0) + (tempDamage > 0 and tempDamage or 0)
651-
end
652-
if ward > 0 then
653-
local tempDamage = m_min(damageRemainder * (1 - (modDB:Sum("BASE", nil, "WardBypass") or 0) / 100), ward)
654-
ward = ward - tempDamage
655-
damageRemainder = damageRemainder - tempDamage
656-
resourcesLostToTypeDamage[damageType].runicWard = tempDamage >= 1 and tempDamage or nil
651+
if ward > 0 then
652+
local tempDamage = m_min(damageRemainder * (1 - (modDB:Sum("BASE", nil, "WardBypass") or 0) / 100), ward)
653+
ward = ward - tempDamage
654+
damageRemainder = damageRemainder - tempDamage
655+
resourcesLostToTypeDamage[damageType].runicWard = tempDamage >= 1 and tempDamage or nil
656+
end
657+
if damageRemainder > 0 then
658+
local tempDamage = m_min(damageRemainder, life)
659+
life = life - tempDamage
660+
damageRemainder = damageRemainder - tempDamage
661+
resourcesLostToTypeDamage[damageType].life = (resourcesLostToTypeDamage[damageType].life or 0) + (tempDamage > 0 and tempDamage or 0)
662+
end
657663
end
658664
overkillDamage = overkillDamage + damageRemainder
659665
resourcesLostToTypeDamage[damageType].overkill = damageRemainder >= 1 and damageRemainder or nil
@@ -3635,7 +3641,7 @@ function calcs.buildDefenceEstimations(env, actor)
36353641
local hitTaken = 0
36363642
local effectiveAppliedArmour = output[damageConvertedType.."EffectiveAppliedArmour"]
36373643
local damageConvertedMulti = convertPercent / 100
3638-
local totalHitPool = output[damageConvertedType.."TotalHitPool"]
3644+
local totalHitPool = output[damageConvertedType.."TotalHitPool"] - 1
36393645
local totalTakenMulti = output[damageConvertedType.."AfterReductionTakenHitMulti"] * (1 - output["VaalArcticArmourMitigation"])
36403646
if damageConvertedMulti <= 0 then
36413647
local takenWithoutIncoming = m_max(takenFlat, 0) * totalTakenMulti

src/Modules/Data.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,6 @@ data.misc = { -- magic numbers
195195
ManaRegenBase = data.characterConstants["character_inherent_mana_regeneration_rate_per_minute_%"] / 60 / 100,
196196
EnergyShieldRechargeBase = data.characterConstants["energy_shield_recharge_rate_per_minute_%"] / 60 / 100,
197197
EnergyShieldRechargeDelay = 4,
198-
WardRechargeDelay = 2,
199198
Transfiguration = 0.3,
200199
EnemyMaxResist = data.monsterConstants["base_maximum_all_resistances_%"],
201200
LeechRateBase = 0.02,

0 commit comments

Comments
 (0)