@@ -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
0 commit comments