@@ -4373,12 +4373,13 @@ function calcs.offence(env, actor, activeSkill)
43734373 -- Calculate average number of poisons that will be active on the enemy at once
43744374 local poisonStackLimit = skillModList :Min (cfg , " PoisonStackLimit" )
43754375 local PoisonStacks = output .HitChance / 100 * poisonChance * additionalPoisonStacks * skillData .dpsMultiplier * (skillData .stackMultiplier or 1 ) * quantityMultiplier
4376+ local uncappedPoisonStacks
43764377 if (globalOutput .HitSpeed or globalOutput .Speed ) > 0 then
43774378 -- assume skills with no cast, attack, or cooldown time are single cast
43784379 PoisonStacks = PoisonStacks * globalOutput .PoisonDuration * (globalOutput .HitSpeed or globalOutput .Speed )
43794380
43804381 -- If stack limit exists, avg. poison stack is more complicated
4381- if poisonStackLimit and poisonStackLimit > 0 and additionalPoisonStacks > 1 and PoisonStacks > poisonStackLimit then
4382+ if poisonStackLimit and poisonStackLimit > 0 and PoisonStacks > poisonStackLimit then
43824383 -- Calc number of avg. poisons applied per hit (without hitrate multipliers)
43834384 local singleHitPoisonChance = output .HitChance / 100 * poisonChance
43844385 local singleHitPoisonStacks = singleHitPoisonChance * additionalPoisonStacks
@@ -4388,6 +4389,7 @@ function calcs.offence(env, actor, activeSkill)
43884389 local maxPoisonStacks = numPoisoningHits * singleHitPoisonStacks
43894390
43904391 -- Only use `maxPoisonStacks` if original value exceeds it
4392+ uncappedPoisonStacks = m_max (PoisonStacks , maxPoisonStacks )
43914393 PoisonStacks = m_min (PoisonStacks , maxPoisonStacks )
43924394 end
43934395 end
@@ -4408,10 +4410,14 @@ function calcs.offence(env, actor, activeSkill)
44084410 total = s_format (" = %.2f" , PoisonStacks ),
44094411 })
44104412 if skillModList :Flag (nil , " Condition:SinglePoison" ) then
4411- t_insert (globalBreakdown .PoisonStacks , " Capped to 1 " )
4413+ t_insert (globalBreakdown .PoisonStacks , " Assuming 'non-Poisoned' Enemy " )
44124414 end
44134415 if poisonStackLimit and PoisonStacks >= poisonStackLimit then
4414- t_insert (globalBreakdown .PoisonStacks , " ^8(affected by poison stack limit)" )
4416+ t_insert (globalBreakdown .PoisonStacks , " ^8(affected by poison stack limit of: " .. poisonStackLimit .. " )" )
4417+ if uncappedPoisonStacks then
4418+ t_insert (globalBreakdown .PoisonStacks , " ^8(uncapped poison stacks: " .. s_format (" %.2f" , uncappedPoisonStacks ) .. " )" )
4419+ end
4420+
44154421 end
44164422 end
44174423 for sub_pass = 1 , 2 do
0 commit comments