Fix "Full Poison DPS" value capping to one stack (#8460)
* Fix Full Poison DPS only showing one poison stack * Cap from multiple sources
This commit is contained in:
@@ -181,7 +181,7 @@ function calcs.calcFullDPS(build, mode, override, specEnv)
|
||||
combinedDPS = 0,
|
||||
TotalDotDPS = 0,
|
||||
skills = { },
|
||||
poisonDPS = 0,
|
||||
TotalPoisonDPS = 0,
|
||||
causticGroundDPS = 0,
|
||||
impaleDPS = 0,
|
||||
igniteDPS = 0,
|
||||
@@ -222,7 +222,7 @@ function calcs.calcFullDPS(build, mode, override, specEnv)
|
||||
igniteSource = activeSkill.activeEffect.grantedEffect.name
|
||||
end
|
||||
if usedEnv.minion.output.PoisonDPS and usedEnv.minion.output.PoisonDPS > 0 then
|
||||
fullDPS.poisonDPS = fullDPS.poisonDPS + usedEnv.minion.output.PoisonDPS * activeSkillCount
|
||||
fullDPS.TotalPoisonDPS = fullDPS.TotalPoisonDPS + usedEnv.minion.output.TotalPoisonDPS * activeSkillCount
|
||||
end
|
||||
if usedEnv.minion.output.ImpaleDPS and usedEnv.minion.output.ImpaleDPS > 0 then
|
||||
fullDPS.impaleDPS = fullDPS.impaleDPS + usedEnv.minion.output.ImpaleDPS * activeSkillCount
|
||||
@@ -258,7 +258,7 @@ function calcs.calcFullDPS(build, mode, override, specEnv)
|
||||
igniteSource = activeSkill.activeEffect.grantedEffect.name .. " (Mirage)"
|
||||
end
|
||||
if activeSkill.mirage.output.PoisonDPS and activeSkill.mirage.output.PoisonDPS > 0 then
|
||||
fullDPS.poisonDPS = fullDPS.poisonDPS + activeSkill.mirage.output.PoisonDPS * mirageCount
|
||||
fullDPS.TotalPoisonDPS = fullDPS.TotalPoisonDPS + activeSkill.mirage.output.TotalPoisonDPS * mirageCount
|
||||
end
|
||||
if activeSkill.mirage.output.ImpaleDPS and activeSkill.mirage.output.ImpaleDPS > 0 then
|
||||
fullDPS.impaleDPS = fullDPS.impaleDPS + activeSkill.mirage.output.ImpaleDPS * mirageCount
|
||||
@@ -303,7 +303,7 @@ function calcs.calcFullDPS(build, mode, override, specEnv)
|
||||
burningGroundSource = activeSkill.activeEffect.grantedEffect.name
|
||||
end
|
||||
if usedEnv.player.output.PoisonDPS and usedEnv.player.output.PoisonDPS > 0 then
|
||||
fullDPS.poisonDPS = fullDPS.poisonDPS + usedEnv.player.output.PoisonDPS * activeSkillCount
|
||||
fullDPS.TotalPoisonDPS = fullDPS.TotalPoisonDPS + usedEnv.player.output.TotalPoisonDPS * activeSkillCount
|
||||
end
|
||||
if usedEnv.player.output.CausticGroundDPS and usedEnv.player.output.CausticGroundDPS > fullDPS.causticGroundDPS then
|
||||
fullDPS.causticGroundDPS = usedEnv.player.output.CausticGroundDPS
|
||||
@@ -353,10 +353,10 @@ function calcs.calcFullDPS(build, mode, override, specEnv)
|
||||
t_insert(fullDPS.skills, { name = "Best Burning Ground DPS", dps = fullDPS.burningGroundDPS, count = 1, source = burningGroundSource })
|
||||
fullDPS.TotalDotDPS = fullDPS.TotalDotDPS + fullDPS.burningGroundDPS
|
||||
end
|
||||
if fullDPS.poisonDPS > 0 then
|
||||
fullDPS.poisonDPS = m_min(fullDPS.poisonDPS, data.misc.DotDpsCap)
|
||||
t_insert(fullDPS.skills, { name = "Full Poison DPS", dps = fullDPS.poisonDPS, count = 1 })
|
||||
fullDPS.TotalDotDPS = fullDPS.TotalDotDPS + fullDPS.poisonDPS
|
||||
if fullDPS.TotalPoisonDPS > 0 then
|
||||
fullDPS.TotalPoisonDPS = m_min(fullDPS.TotalPoisonDPS, data.misc.DotDpsCap)
|
||||
t_insert(fullDPS.skills, { name = "Full Poison DPS", dps = fullDPS.TotalPoisonDPS, count = 1 })
|
||||
fullDPS.TotalDotDPS = fullDPS.TotalDotDPS + fullDPS.TotalPoisonDPS
|
||||
end
|
||||
if fullDPS.causticGroundDPS > 0 then
|
||||
t_insert(fullDPS.skills, { name = "Best Caustic Ground DPS", dps = fullDPS.causticGroundDPS, count = 1, source = causticGroundSource })
|
||||
|
||||
Reference in New Issue
Block a user