@@ -4107,27 +4107,21 @@ function calcs.offence(env, actor, activeSkill)
4107
4107
if PoisonStacks < 1 and (env .configInput .multiplierPoisonOnEnemy or 0 ) <= 1 then
4108
4108
skillModList :NewMod (" Condition:SinglePoison" , " FLAG" , true , " poison" )
4109
4109
end
4110
- globalOutput .PoisonStacks = PoisonStacks
4111
4110
if globalBreakdown then
4112
- globalBreakdown .PoisonStacks = {
4113
- " Average number of poisons" ,
4114
- s_format (" %.2f ^8(chance to hit)" , output .HitChance / 100 ),
4115
- s_format (" * %.2f ^8(chance to poison)" , poisonChance ),
4116
- }
4117
- if (globalOutput .HitSpeed or globalOutput .Speed ) > 0 then
4118
- t_insert (globalBreakdown .PoisonStacks , s_format (" * %.2f ^8(poison duration)" , globalOutput .PoisonDuration ))
4119
- t_insert (globalBreakdown .PoisonStacks , s_format (" * %.2f ^8(attacks per second)" , globalOutput .HitSpeed or globalOutput .Speed ))
4120
- end
4121
- if skillData .dpsMultiplier ~= 1 then
4122
- t_insert (globalBreakdown .PoisonStacks , s_format (" * %.2f ^8(skill DPS multiplier)" , skillData .dpsMultiplier ))
4123
- end
4124
- if skillData .stackMultiplier and skillData .stackMultiplier ~= 1 then
4125
- t_insert (globalBreakdown .PoisonStacks , s_format (" * %.2f ^8(stack multiplier)" , skillData .stackMultiplier ))
4126
- end
4127
- if quantityMultiplier ~= 1 then
4128
- t_insert (globalBreakdown .PoisonStacks , s_format (" * %.2f ^8(quantity multiplier)" , quantityMultiplier ))
4111
+ globalBreakdown .PoisonStacks = { }
4112
+ globalBreakdown .multiChain (globalBreakdown .PoisonStacks , {
4113
+ base = { " %.2fs ^8(poison duration)" , globalOutput .PoisonDuration },
4114
+ { " %.2f ^8(poison chance)" , poisonChance },
4115
+ { " %.2f ^8(hit chance)" , output .HitChance / 100 },
4116
+ { " %.2f ^8(hits per second)" , globalOutput .HitSpeed or globalOutput .Speed },
4117
+ { " %g ^8(dps multiplier for this skill)" , skillData .dpsMultiplier or 1 },
4118
+ { " %g ^8(stack multiplier for this skill)" , skillData .stackMultiplier or 1 },
4119
+ { " %g ^8(quantity multiplier for this skill)" , quantityMultiplier },
4120
+ total = s_format (" = %.2f" , PoisonStacks ),
4121
+ })
4122
+ if skillModList :Flag (nil , " Condition:SinglePoison" ) then
4123
+ t_insert (globalBreakdown .PoisonStacks , " Capped to 1" )
4129
4124
end
4130
- t_insert (globalBreakdown .PoisonStacks , s_format (" = %.2f" , PoisonStacks ))
4131
4125
end
4132
4126
for sub_pass = 1 , 2 do
4133
4127
if skillModList :Flag (dotCfg , " AilmentsAreNeverFromCrit" ) or sub_pass == 1 then
@@ -4213,12 +4207,11 @@ function calcs.offence(env, actor, activeSkill)
4213
4207
globalBreakdown .PoisonEffMult = breakdown .effMult (" Chaos" , resist , 0 , takenInc , effMult , takenMore , sourceRes , true )
4214
4208
end
4215
4209
end
4216
- local effectMod = calcLib .mod (skillModList , dotCfg , " AilmentEffect" )
4217
4210
if skillModList :Flag (nil , " Condition:SinglePoison" ) then
4218
- output .TotalPoisonStacks = m_min (1 , PoisonStacks )
4219
- else
4220
- output .TotalPoisonStacks = PoisonStacks
4211
+ PoisonStacks = m_min (1 , PoisonStacks )
4221
4212
end
4213
+ globalOutput .PoisonStacks = PoisonStacks
4214
+ local effectMod = calcLib .mod (skillModList , dotCfg , " AilmentEffect" )
4222
4215
local singlePoisonDps = m_min (baseVal * effectMod * rateMod * effMult , data .misc .DotDpsCap )
4223
4216
local PoisonDPSUncapped = singlePoisonDps * PoisonStacks
4224
4217
local PoisonDPSCapped = m_min (PoisonDPSUncapped , data .misc .DotDpsCap )
@@ -4326,25 +4319,6 @@ function calcs.offence(env, actor, activeSkill)
4326
4319
t_insert (breakdown .PoisonDamage , s_format (" %.1f ^8(damage per second)" , singlePoisonDps ))
4327
4320
t_insert (breakdown .PoisonDamage , s_format (" x %.2fs ^8(poison duration)" , globalOutput .PoisonDuration ))
4328
4321
t_insert (breakdown .PoisonDamage , s_format (" = %.1f ^8damage per poison stack" , output .PoisonDamage ))
4329
- if not skillData .showAverage then
4330
- breakdown .TotalPoisonStacks = { }
4331
- if isAttack then
4332
- t_insert (breakdown .TotalPoisonStacks , pass .label .. " :" )
4333
- end
4334
- breakdown .multiChain (breakdown .TotalPoisonStacks , {
4335
- base = { " %.2fs ^8(poison duration)" , globalOutput .PoisonDuration },
4336
- { " %.2f ^8(poison chance)" , output .PoisonChance / 100 },
4337
- { " %.2f ^8(hit chance)" , output .HitChance / 100 },
4338
- { " %.2f ^8(hits per second)" , globalOutput .HitSpeed or globalOutput .Speed },
4339
- { " %g ^8(dps multiplier for this skill)" , skillData .dpsMultiplier or 1 },
4340
- { " %g ^8(stack multiplier for this skill)" , skillData .stackMultiplier or 1 },
4341
- { " %g ^8(quantity multiplier for this skill)" , quantityMultiplier },
4342
- total = s_format (" = %.1f" , output .TotalPoisonStacks ),
4343
- })
4344
- if skillModList :Flag (nil , " Condition:SinglePoison" ) then
4345
- t_insert (breakdown .TotalPoisonStacks , " Capped to 1" )
4346
- end
4347
- end
4348
4322
end
4349
4323
end
4350
4324
end
0 commit comments