|
| 1 | +diff a/src/Modules/CalcDefence.lua b/src/Modules/CalcDefence.lua (rejected hunks) |
| 2 | +@@ -3194,7 +3200,7 @@ function calcs.buildDefenceEstimations(env, actor) |
| 3 | + local b = ((enemyOverwhelmPercent / 100 - flatDR) * effectiveAppliedArmour * totalTakenMulti - 5 * (totalHitPool - takenFlat * totalTakenMulti)) * resistXConvert |
| 4 | + local c = -effectiveAppliedArmour * (totalHitPool - takenFlat * totalTakenMulti) |
| 5 | + |
| 6 | +- local RAW = (m_sqrt(b * b - 4 * a * c) - b) / (2 * a) |
| 7 | ++ local RAW = a ~= 0 and (m_sqrt(m_max(b * b - 4 * a * c, 0)) - b) / (2 * a) or m_huge |
| 8 | + |
| 9 | + -- tack on some caps |
| 10 | + local noDRMaxHit = totalHitPool / damageConvertedMulti / totalResistMult / totalTakenMulti * (1 - takenFlat * totalTakenMulti / totalHitPool) |
| 11 | +@@ -3220,9 +3226,18 @@ function calcs.buildDefenceEstimations(env, actor) |
| 12 | + local passOverkill = passPools.OverkillDamage - passPools.hitPoolRemaining |
| 13 | + local passRatio = 0 |
| 14 | + for partType, _ in pairs(passDamages) do |
| 15 | +- passRatio = m_max(passRatio, (passOverkill + output[partType.."TotalHitPool"]) / output[partType.."TotalHitPool"]) |
| 16 | ++ local partPool = output[partType.."TotalHitPool"] or 0 |
| 17 | ++ if partPool > 0 then |
| 18 | ++ passRatio = m_max(passRatio, (passOverkill + partPool) / partPool) |
| 19 | ++ end |
| 20 | ++ end |
| 21 | ++ if passRatio <= 0 then |
| 22 | ++ passRatio = 1 |
| 23 | ++ end |
| 24 | ++ local stepSize = 1 |
| 25 | ++ if n > 1 and previousOverkill and previousOverkill ~= 0 and previousOverkill == previousOverkill then |
| 26 | ++ stepSize = m_min(m_abs((passOverkill - previousOverkill) / previousOverkill), 2) |
| 27 | + end |
| 28 | +- local stepSize = n > 1 and m_min(m_abs((passOverkill - previousOverkill) / previousOverkill), 2) or 1 |
| 29 | + local stepAdjust = stepSize > 1 and -passOverkill / stepSize or n > 1 and -passOverkill * stepSize or 0 |
| 30 | + previousOverkill = passOverkill |
| 31 | + passIncomingDamage = (passIncomingDamage + stepAdjust) / m_sqrt(passRatio) |
0 commit comments