@@ -175,6 +175,9 @@ function calcs.reducePoolsByDamage(poolTable, damageTable, actor)
175175 if output .FrostShieldLife then
176176 alliesTakenBeforeYou [" frostShield" ] = { remaining = output .FrostShieldLife , percent = output .FrostShieldDamageMitigation / 100 }
177177 end
178+ if output .TotalMinionLife then
179+ alliesTakenBeforeYou [" minion" ] = { remaining = output .TotalMinionLife , percent = output .MinionAllyDamageMitigation / 100 }
180+ end
178181 if output .TotalSpectreLife then
179182 alliesTakenBeforeYou [" spectres" ] = { remaining = output .TotalSpectreLife , percent = output .SpectreAllyDamageMitigation / 100 }
180183 end
@@ -418,6 +421,9 @@ local function incomingDamageBreakdown(breakdownTable, poolsRemaining, output)
418421 if output .FrostShieldLife and output .FrostShieldLife > 0 then
419422 t_insert (breakdownTable , s_format (" \t %d " .. colorCodes .GEM .. " Frost Shield Life ^7(%d remaining)" , output .FrostShieldLife - poolsRemaining .AlliesTakenBeforeYou [" frostShield" ].remaining , poolsRemaining .AlliesTakenBeforeYou [" frostShield" ].remaining ))
420423 end
424+ if output .TotalMinionLife and output .TotalMinionLife > 0 then
425+ t_insert (breakdownTable , s_format (" \t %d " .. colorCodes .GEM .. " Total Minion Life ^7(%d remaining)" , output .TotalMinionLife - poolsRemaining .AlliesTakenBeforeYou [" minion" ].remaining , poolsRemaining .AlliesTakenBeforeYou [" minion" ].remaining ))
426+ end
421427 if output .TotalSpectreLife and output .TotalSpectreLife > 0 then
422428 t_insert (breakdownTable , s_format (" \t %d " .. colorCodes .GEM .. " Total Spectre Life ^7(%d remaining)" , output .TotalSpectreLife - poolsRemaining .AlliesTakenBeforeYou [" spectres" ].remaining , poolsRemaining .AlliesTakenBeforeYou [" spectres" ].remaining ))
423429 end
@@ -2445,6 +2451,12 @@ function calcs.buildDefenceEstimations(env, actor)
24452451 }
24462452 end
24472453
2454+ -- from Minion
2455+ output [" MinionAllyDamageMitigation" ] = modDB :Sum (" BASE" , nil , " takenFromMinionBeforeYou" )
2456+ if output [" MinionAllyDamageMitigation" ] ~= 0 then
2457+ output [" TotalMinionLife" ] = modDB :Sum (" BASE" , nil , " Multiplier:MinionLife" )
2458+ end
2459+
24482460 -- from spectres
24492461 output [" SpectreAllyDamageMitigation" ] = modDB :Sum (" BASE" , nil , " takenFromSpectresBeforeYou" )
24502462 if output [" SpectreAllyDamageMitigation" ] ~= 0 then
@@ -2562,6 +2574,9 @@ function calcs.buildDefenceEstimations(env, actor)
25622574 if output .FrostShieldLife then
25632575 alliesTakenBeforeYou [" frostShield" ] = { remaining = output .FrostShieldLife , percent = output .FrostShieldDamageMitigation / 100 }
25642576 end
2577+ if output .TotalMinionLife then
2578+ alliesTakenBeforeYou [" minion" ] = { remaining = output .TotalMinionLife , percent = output .MinionAllyDamageMitigation / 100 }
2579+ end
25652580 if output .TotalSpectreLife then
25662581 alliesTakenBeforeYou [" spectres" ] = { remaining = output .TotalSpectreLife , percent = output .SpectreAllyDamageMitigation / 100 }
25672582 end
@@ -3123,6 +3138,11 @@ function calcs.buildDefenceEstimations(env, actor)
31233138 local poolProtected = output [" FrostShieldLife" ] / (output [" FrostShieldDamageMitigation" ] / 100 ) * (1 - output [" FrostShieldDamageMitigation" ] / 100 )
31243139 output [damageType .. " TotalHitPool" ] = m_max (output [damageType .. " TotalHitPool" ] - poolProtected , 0 ) + m_min (output [damageType .. " TotalHitPool" ], poolProtected ) / (1 - output [" FrostShieldDamageMitigation" ] / 100 )
31253140 end
3141+ -- minions
3142+ if output [" TotalMinionLife" ] and output [" TotalMinionLife" ] > 0 then
3143+ local poolProtected = output [" TotalMinionLife" ] / (output [" MinionAllyDamageMitigation" ] / 100 ) * (1 - output [" MinionAllyDamageMitigation" ] / 100 )
3144+ output [damageType .. " TotalHitPool" ] = m_max (output [damageType .. " TotalHitPool" ] - poolProtected , 0 ) + m_min (output [damageType .. " TotalHitPool" ], poolProtected ) / (1 - output [" MinionAllyDamageMitigation" ] / 100 )
3145+ end
31263146 -- spectres
31273147 if output [" TotalSpectreLife" ] and output [" TotalSpectreLife" ] > 0 then
31283148 local poolProtected = output [" TotalSpectreLife" ] / (output [" SpectreAllyDamageMitigation" ] / 100 ) * (1 - output [" SpectreAllyDamageMitigation" ] / 100 )
@@ -3764,6 +3784,10 @@ function calcs.buildDefenceEstimations(env, actor)
37643784 resourcesLostSum = resourcesLostSum + resourcesLost .frostShield
37653785 t_insert (breakdownTable , s_format (" \t %d " .. colorCodes .GEM .. " Frost Shield Life" , resourcesLost .frostShield ))
37663786 end
3787+ if resourcesLost .minion then
3788+ resourcesLostSum = resourcesLostSum + resourcesLost .minion
3789+ t_insert (breakdownTable , s_format (" \t %d " .. colorCodes .GEM .. " Total Minion Life" , resourcesLost .minion ))
3790+ end
37673791 if resourcesLost .spectres then
37683792 resourcesLostSum = resourcesLostSum + resourcesLost .spectres
37693793 t_insert (breakdownTable , s_format (" \t %d " .. colorCodes .GEM .. " Total Spectre Life" , resourcesLost .spectres ))
0 commit comments