@@ -289,7 +289,7 @@ local function calcWarcryCastTime(skillModList, skillCfg, skillData, actor)
289289end
290290
291291function calcSkillDuration (skillModList , skillCfg , skillData , env , enemyDB )
292- local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " PrimaryDuration" , " SkillAndDamagingAilmentDuration " , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
292+ local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " PrimaryDuration" , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
293293 durationMod = m_max (durationMod , 0 )
294294 local durationBase = (skillData .duration or 0 ) + skillModList :Sum (" BASE" , skillCfg , " Duration" , " PrimaryDuration" )
295295 local duration = durationBase * durationMod
@@ -1395,10 +1395,10 @@ function calcs.offence(env, actor, activeSkill)
13951395 debuffDurationMult = 1 / m_max (data .misc .BuffExpirationSlowCap , calcLib .mod (enemyDB , skillCfg , " BuffExpireFaster" ))
13961396 end
13971397 do
1398- output .DurationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " PrimaryDuration" , " SkillAndDamagingAilmentDuration " , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
1398+ output .DurationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " PrimaryDuration" , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
13991399 output .DurationMod = m_max (output .DurationMod , 0 )
14001400 if breakdown then
1401- breakdown .DurationMod = breakdown .mod (skillModList , skillCfg , " Duration" , " PrimaryDuration" , " SkillAndDamagingAilmentDuration " , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
1401+ breakdown .DurationMod = breakdown .mod (skillModList , skillCfg , " Duration" , " PrimaryDuration" , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
14021402 if breakdown .DurationMod and skillData .durationSecondary then
14031403 t_insert (breakdown .DurationMod , 1 , " Primary duration:" )
14041404 end
@@ -1426,15 +1426,15 @@ function calcs.offence(env, actor, activeSkill)
14261426 end
14271427 durationBase = (skillData .durationSecondary or 0 ) + skillModList :Sum (" BASE" , skillCfg , " Duration" , " SecondaryDuration" )
14281428 if durationBase > 0 then
1429- local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " SecondaryDuration" , " SkillAndDamagingAilmentDuration " , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
1429+ local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " SecondaryDuration" , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
14301430 durationMod = m_max (durationMod , 0 )
14311431 output .DurationSecondary = durationBase * durationMod
14321432 if skillData .debuffSecondary then
14331433 output .DurationSecondary = output .DurationSecondary * debuffDurationMult
14341434 end
14351435 output .DurationSecondary = m_ceil (output .DurationSecondary * data .misc .ServerTickRate ) / data .misc .ServerTickRate
14361436 if breakdown and output .DurationSecondary ~= durationBase then
1437- breakdown .SecondaryDurationMod = breakdown .mod (skillModList , skillCfg , " Duration" , " SecondaryDuration" , " SkillAndDamagingAilmentDuration " , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
1437+ breakdown .SecondaryDurationMod = breakdown .mod (skillModList , skillCfg , " Duration" , " SecondaryDuration" , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
14381438 if breakdown .SecondaryDurationMod then
14391439 t_insert (breakdown .SecondaryDurationMod , 1 , " Secondary duration:" )
14401440 end
@@ -1453,15 +1453,15 @@ function calcs.offence(env, actor, activeSkill)
14531453 end
14541454 durationBase = (skillData .durationTertiary or 0 ) + skillModList :Sum (" BASE" , skillCfg , " Duration" , " TertiaryDuration" )
14551455 if durationBase > 0 then
1456- local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " TertiaryDuration" , " SkillAndDamagingAilmentDuration " , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
1456+ local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " TertiaryDuration" , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
14571457 durationMod = m_max (durationMod , 0 )
14581458 output .DurationTertiary = durationBase * durationMod
14591459 if skillData .debuffTertiary then
14601460 output .DurationTertiary = output .DurationTertiary * debuffDurationMult
14611461 end
14621462 output .DurationTertiary = m_ceil (output .DurationTertiary * data .misc .ServerTickRate ) / data .misc .ServerTickRate
14631463 if breakdown and output .DurationTertiary ~= durationBase then
1464- breakdown .TertiaryDurationMod = breakdown .mod (skillModList , skillCfg , " Duration" , " TertiaryDuration" , " SkillAndDamagingAilmentDuration " , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
1464+ breakdown .TertiaryDurationMod = breakdown .mod (skillModList , skillCfg , " Duration" , " TertiaryDuration" , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
14651465 if breakdown .TertiaryDurationMod then
14661466 t_insert (breakdown .TertiaryDurationMod , 1 , " Tertiary duration:" )
14671467 end
@@ -1480,7 +1480,7 @@ function calcs.offence(env, actor, activeSkill)
14801480 end
14811481 durationBase = (skillData .auraDuration or 0 )
14821482 if durationBase > 0 then
1483- local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " SkillAndDamagingAilmentDuration " )
1483+ local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" )
14841484 durationMod = m_max (durationMod , 0 )
14851485 output .AuraDuration = durationBase * durationMod
14861486 output .AuraDuration = m_ceil (output .AuraDuration * data .misc .ServerTickRate ) / data .misc .ServerTickRate
@@ -1495,7 +1495,7 @@ function calcs.offence(env, actor, activeSkill)
14951495 end
14961496 durationBase = (skillData .reserveDuration or 0 )
14971497 if durationBase > 0 then
1498- local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" , " SkillAndDamagingAilmentDuration " )
1498+ local durationMod = calcLib .mod (skillModList , skillCfg , " Duration" )
14991499 durationMod = m_max (durationMod , 0 )
15001500 output .ReserveDuration = durationBase * durationMod
15011501 output .ReserveDuration = m_ceil (output .ReserveDuration * data .misc .ServerTickRate ) / data .misc .ServerTickRate
@@ -1510,7 +1510,7 @@ function calcs.offence(env, actor, activeSkill)
15101510 end
15111511 durationBase = (skillData .soulPreventionDuration or 0 )
15121512 if durationBase > 0 then
1513- local durationMod = calcLib .mod (skillModList , skillCfg , " SoulGainPreventionDuration" , skillData .skillEffectAppliesToSoulGainPrevention and " Duration" or " SkillAndDamagingAilmentDuration " or nil , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
1513+ local durationMod = calcLib .mod (skillModList , skillCfg , " SoulGainPreventionDuration" , skillData .skillEffectAppliesToSoulGainPrevention and " Duration" or nil , skillData .mineDurationAppliesToSkill and " MineDuration" or nil )
15141514 durationMod = m_max (durationMod , 0 )
15151515 output .SoulGainPreventionDuration = durationBase * durationMod
15161516 output .SoulGainPreventionDuration = m_max (m_ceil (output .SoulGainPreventionDuration * data .misc .ServerTickRate ), 1 ) / data .misc .ServerTickRate
@@ -2140,7 +2140,7 @@ function calcs.offence(env, actor, activeSkill)
21402140 -- Calculates the max number of trauma stacks you can sustain
21412141 if skillModList :Flag (nil , " HasTrauma" ) then
21422142 local effectiveAttackRateCap = data .misc .ServerTickRate * output .Repeats
2143- local duration = skillModList :Sum (" BASE" , cfg , " TraumaDuration" ) * calcLib .mod (skillModList , skillCfg , " Duration" , " SkillAndDamagingAilmentDuration " )
2143+ local duration = skillModList :Sum (" BASE" , cfg , " TraumaDuration" ) * calcLib .mod (skillModList , skillCfg , " Duration" )
21442144 local traumaPerAttack = 1 + m_min (skillModList :Sum (" BASE" , cfg , " ExtraTrauma" ), 100 ) / 100
21452145 local incAttackSpeedPerTrauma = skillModList :Sum (" INC" , skillCfg , " SpeedPerTrauma" )
21462146 -- compute trauma using an exact form.
@@ -3974,7 +3974,7 @@ function calcs.offence(env, actor, activeSkill)
39743974 local overrideStackPotential = skillModList :Override (nil , " BleedStackPotentialOverride" ) and skillModList :Override (nil , " BleedStackPotentialOverride" ) / maxStacks
39753975 globalOutput .BleedStacksMax = maxStacks
39763976 local durationBase = skillData .bleedDurationIsSkillDuration and skillData .duration or data .misc .BleedDurationBase
3977- local durationMod = calcLib .mod (skillModList , dotCfg , " EnemyBleedDuration" , " EnemyAilmentDuration" , " SkillAndDamagingAilmentDuration " , skillData .bleedIsSkillEffect and " Duration" or nil ) * calcLib .mod (enemyDB , nil , " SelfBleedDuration" , " SelfAilmentDuration" ) / calcLib .mod (enemyDB , dotCfg , " BleedExpireRate" )
3977+ local durationMod = calcLib .mod (skillModList , dotCfg , " EnemyBleedDuration" , " EnemyAilmentDuration" , " DamagingAilmentDuration " , skillData .bleedIsSkillEffect and " Duration" or nil ) * calcLib .mod (enemyDB , nil , " SelfBleedDuration" , " SelfAilmentDuration" ) / calcLib .mod (enemyDB , dotCfg , " BleedExpireRate" )
39783978 durationMod = m_max (durationMod , 0 )
39793979 local rateMod = calcLib .mod (skillModList , cfg , " BleedFaster" ) + enemyDB :Sum (" INC" , nil , " SelfBleedFaster" ) / 100
39803980 globalOutput .BleedDuration = durationBase * durationMod / rateMod * debuffDurationMult
@@ -4247,7 +4247,7 @@ function calcs.offence(env, actor, activeSkill)
42474247 else
42484248 durationBase = data .misc .PoisonDurationBase
42494249 end
4250- local durationMod = calcLib .mod (skillModList , dotCfg , " EnemyPoisonDuration" , " EnemyAilmentDuration" , " SkillAndDamagingAilmentDuration " , skillData .poisonIsSkillEffect and " Duration" or nil ) * calcLib .mod (enemyDB , nil , " SelfPoisonDuration" , " SelfAilmentDuration" )
4250+ local durationMod = calcLib .mod (skillModList , dotCfg , " EnemyPoisonDuration" , " EnemyAilmentDuration" , " DamagingAilmentDuration " , skillData .poisonIsSkillEffect and " Duration" or nil ) * calcLib .mod (enemyDB , nil , " SelfPoisonDuration" , " SelfAilmentDuration" )
42514251 durationMod = m_max (durationMod , 0 )
42524252 globalOutput .PoisonDuration = durationBase * durationMod / rateMod * debuffDurationMult
42534253 -- The chance any given hit applies poison
@@ -4527,7 +4527,7 @@ function calcs.offence(env, actor, activeSkill)
45274527
45284528 local rateMod = (calcLib .mod (skillModList , cfg , " IgniteBurnFaster" ) + enemyDB :Sum (" INC" , nil , " SelfIgniteBurnFaster" ) / 100 ) / calcLib .mod (skillModList , cfg , " IgniteBurnSlower" )
45294529 local durationBase = data .misc .IgniteDurationBase
4530- local durationMod = m_max (calcLib .mod (skillModList , dotCfg , " EnemyIgniteDuration" , " EnemyAilmentDuration" , " EnemyElementalAilmentDuration" , " SkillAndDamagingAilmentDuration " ) * calcLib .mod (enemyDB , nil , " SelfIgniteDuration" , " SelfAilmentDuration" , " SelfElementalAilmentDuration" ), 0 )
4530+ local durationMod = m_max (calcLib .mod (skillModList , dotCfg , " EnemyIgniteDuration" , " EnemyAilmentDuration" , " EnemyElementalAilmentDuration" , " DamagingAilmentDuration " ) * calcLib .mod (enemyDB , nil , " SelfIgniteDuration" , " SelfAilmentDuration" , " SelfElementalAilmentDuration" ), 0 )
45314531 durationMod = m_max (durationMod , 0 )
45324532 globalOutput .IgniteDuration = durationBase * durationMod / rateMod * debuffDurationMult
45334533 -- The chance any given hit applies ignite
0 commit comments