@@ -2788,7 +2788,7 @@ function calcs.offence(env, actor, activeSkill)
27882788 if activeSkill .skillTypes [SkillType .Spell ] and not activeSkill .skillTypes [SkillType .Instant ] and not activeSkill .skillTypes [SkillType .Brand ] then
27892789 for index , value in ipairs (actor .activeSkillList ) do
27902790 if not activeSkill .skillTypes [SkillType .Vaal ] then
2791- if value .activeEffect .grantedEffect .name == " Pact of Beidat" and not globalOutput .PactofBeidatCalculated and not value .skillFlags .disable
2791+ if value .activeEffect .grantedEffect .name == " Pact of Beidat" and not globalOutput .PactOfBeidatCalculated and not value .skillFlags .disable
27922792 and (skillFlags .projectile or skillFlags .area or skillFlags .chaining ) and not activeSkill .skillTypes [SkillType .Channel ] then
27932793 globalOutput .CreatePactOffensiveCalcSection = true
27942794 globalOutput .PactOfBeidatDuration = calcSkillDuration (value .skillModList , value .skillCfg , value .skillData , env , enemyDB )
@@ -2816,9 +2816,9 @@ function calcs.offence(env, actor, activeSkill)
28162816 local beidatUptime = skillModList :Flag (nil , " Condition:PactMaxHit" ) and 100 or globalOutput .BeidatUpTimeRatio
28172817 skillModList :NewMod (" Damage" , " MORE" , beidatDamage * beidatUptime / 100 , " Uptime Scaled Pact of Beidat" , ModFlag .Spell , bor (KeywordFlag .Hit , KeywordFlag .Ailment ))
28182818 end
2819- globalOutput .PactofBeidatCalculated = true
2819+ globalOutput .PactOfBeidatCalculated = true
28202820 end
2821- if value .activeEffect .grantedEffect .name == " Pact of Ghorr" and not globalOutput .PactofGhorrCalculated and not value .skillFlags .disable
2821+ if value .activeEffect .grantedEffect .name == " Pact of Ghorr" and not globalOutput .PactOfGhorrCalculated and not value .skillFlags .disable
28222822 and activeSkill .skillTypes [SkillType .DamageOverTime ] then
28232823 globalOutput .CreatePactOffensiveCalcSection = true
28242824 globalOutput .PactOfGhorrDuration = calcSkillDuration (value .skillModList , value .skillCfg , value .skillData , env , enemyDB )
@@ -2841,14 +2841,14 @@ function calcs.offence(env, actor, activeSkill)
28412841 t_insert (globalBreakdown .GhorrUpTimeRatio , s_format (" * %d ^8(stored uses)" , storedUses ))
28422842 t_insert (globalBreakdown .GhorrUpTimeRatio , s_format (" = %d%%" , globalOutput .GhorrUpTimeRatio ))
28432843 end
2844- local GhorrDamage = modDB :Sum (" BASE" , nil , " GhorrPactDamage" )
2845- if GhorrDamage > 0 then
2846- local GhorrUptime = skillModList :Flag (nil , " Condition:PactMaxHit" ) and 100 or globalOutput .GhorrUpTimeRatio
2847- skillModList :NewMod (" Damage" , " MORE" , GhorrDamage * GhorrUptime / 100 , " Uptime Scaled Pact of Ghorr" , ModFlag .Dot )
2844+ local ghorrDamage = modDB :Sum (" BASE" , nil , " GhorrPactDamage" )
2845+ if ghorrDamage > 0 then
2846+ local ghorrUptime = skillModList :Flag (nil , " Condition:PactMaxHit" ) and 100 or globalOutput .GhorrUpTimeRatio
2847+ skillModList :NewMod (" Damage" , " MORE" , ghorrDamage * ghorrUptime / 100 , " Uptime Scaled Pact of Ghorr" , ModFlag .Dot )
28482848 end
2849- globalOutput .PactofGhorrCalculated = true
2849+ globalOutput .PactOfGhorrCalculated = true
28502850 end
2851- if value .activeEffect .grantedEffect .name == " Pact of Lycia" and not globalOutput .PactofLyciaCalculated and not value .skillFlags .disable
2851+ if value .activeEffect .grantedEffect .name == " Pact of Lycia" and not globalOutput .PactOfLyciaCalculated and not value .skillFlags .disable
28522852 and activeSkill .skillTypes [SkillType .Channel ] then
28532853 globalOutput .CreatePactOffensiveCalcSection = true
28542854 globalOutput .PactOfLyciaDuration = calcSkillDuration (value .skillModList , value .skillCfg , value .skillData , env , enemyDB )
@@ -2871,15 +2871,15 @@ function calcs.offence(env, actor, activeSkill)
28712871 t_insert (globalBreakdown .LyciaUpTimeRatio , s_format (" * %d ^8(stored uses)" , storedUses ))
28722872 t_insert (globalBreakdown .LyciaUpTimeRatio , s_format (" = %d%%" , globalOutput .LyciaUpTimeRatio ))
28732873 end
2874- local LyciaDamage = modDB :Sum (" BASE" , nil , " LyciaPactDamage" )
2875- if LyciaDamage > 0 then
2876- local LyciaUptime = skillModList :Flag (nil , " Condition:PactMaxHit" ) and 100 or globalOutput .LyciaUpTimeRatio
2877- skillModList :NewMod (" Damage" , " MORE" , LyciaDamage * LyciaUptime / 100 , " Uptime Scaled Pact of Lycia" , ModFlag .Spell )
2874+ local lyciaDamage = modDB :Sum (" BASE" , nil , " LyciaPactDamage" )
2875+ if lyciaDamage > 0 then
2876+ local lyciaUptime = skillModList :Flag (nil , " Condition:PactMaxHit" ) and 100 or globalOutput .LyciaUpTimeRatio
2877+ skillModList :NewMod (" Damage" , " MORE" , lyciaDamage * lyciaUptime / 100 , " Uptime Scaled Pact of Lycia" , ModFlag .Spell )
28782878 end
2879- globalOutput .PactofLyciaCalculated = true
2879+ globalOutput .PactOfLyciaCalculated = true
28802880 end
28812881 else
2882- if value .activeEffect .grantedEffect .name == " Pact of K'Tash" and not globalOutput .PactofKtashCalculated and not value .skillFlags .disable then
2882+ if value .activeEffect .grantedEffect .name == " Pact of K'Tash" and not globalOutput .PactOfKtashCalculated and not value .skillFlags .disable then
28832883 globalOutput .CreatePactOffensiveCalcSection = true
28842884 globalOutput .PactOfKtashDuration = calcSkillDuration (value .skillModList , value .skillCfg , value .skillData , env , enemyDB )
28852885 globalOutput .PactOfKtashCooldown = calcSkillCooldown (value .skillModList , value .skillCfg , value .skillData )
@@ -2901,15 +2901,15 @@ function calcs.offence(env, actor, activeSkill)
29012901 t_insert (globalBreakdown .KtashUpTimeRatio , s_format (" * %d ^8(stored uses)" , storedUses ))
29022902 t_insert (globalBreakdown .KtashUpTimeRatio , s_format (" = %d%%" , globalOutput .KtashUpTimeRatio ))
29032903 end
2904- local KtashDamage = modDB :Sum (" BASE" , nil , " KtashPactDamage" )
2905- local KtashSoulGainPrevention = modDB :Sum (" BASE" , nil , " KtashPactSoulGainPrevention" )
2906- if KtashDamage > 0 then
2907- local KtashUptime = skillModList :Flag (nil , " Condition:PactMaxHit" ) and 100 or globalOutput .KtashUpTimeRatio
2908- skillModList :NewMod (" Damage" , " MORE" , KtashDamage * KtashUptime / 100 , " Uptime Scaled Pact of Ktash" , ModFlag .Spell )
2904+ local ktashDamage = modDB :Sum (" BASE" , nil , " KtashPactDamage" )
2905+ local ktashSoulGainPrevention = modDB :Sum (" BASE" , nil , " KtashPactSoulGainPrevention" )
2906+ if ktashDamage > 0 then
2907+ local ktashUptime = skillModList :Flag (nil , " Condition:PactMaxHit" ) and 100 or globalOutput .KtashUpTimeRatio
2908+ skillModList :NewMod (" Damage" , " MORE" , ktashDamage * ktashUptime / 100 , " Uptime Scaled Pact of Ktash" , ModFlag .Spell )
29092909 -- happens too late, duration is calculated earlier
29102910 -- skillModList:NewMod("SoulGainPreventionDuration", "MORE", KtashSoulGainPrevention * KtashUptime / 100, "Uptime Scaled Pact of Ktash")
29112911 end
2912- globalOutput .PactofKtashCalculated = true
2912+ globalOutput .PactOfKtashCalculated = true
29132913 end
29142914 end
29152915 end
0 commit comments