@@ -5144,6 +5144,7 @@ function calcs.offence(env, actor, activeSkill)
51445144
51455145 runSkillFunc (" preDotFunc" )
51465146
5147+ --- Section Handles Generic Damage over time [DOT]
51475148 for _ , damageType in ipairs (dmgTypeList ) do
51485149 local dotTypeCfg = copyTable (dotCfg , true )
51495150 dotTypeCfg .keywordFlags = bor (dotTypeCfg .keywordFlags , KeywordFlag [damageType .. " Dot" ])
@@ -5157,6 +5158,7 @@ function calcs.offence(env, actor, activeSkill)
51575158 if baseVal > 0 or (output [damageType .. " Dot" ] or 0 ) > 0 then
51585159 skillFlags .dot = true
51595160 local effMult = 1
5161+ -- Section handles Enemy Damage Taken based on Configs
51605162 if env .mode_effective then
51615163 local resist = 0
51625164 local takenInc = enemyDB :Sum (" INC" , dotTakenCfg , " DamageTaken" , " DamageTakenOverTime" , damageType .. " DamageTaken" , damageType .. " DamageTakenOverTime" ) + (isElemental [damageType ] and enemyDB :Sum (" INC" , dotTakenCfg , " ElementalDamageTaken" ) or 0 )
@@ -5173,7 +5175,11 @@ function calcs.offence(env, actor, activeSkill)
51735175 breakdown [damageType .. " DotEffMult" ] = breakdown .effMult (damageType , resist , 0 , takenInc , effMult , takenMore , sourceRes , true )
51745176 end
51755177 end
5178+ -- Variables below calculate DOT damage
51765179 local inc = skillModList :Sum (" INC" , dotTypeCfg , " Damage" , damageType .. " Damage" , isElemental [damageType ] and " ElementalDamage" or nil )
5180+ if skillModList :Flag (nil , " dotIsHeraldOfAsh" ) then
5181+ inc = inc - skillModList :Sum (" INC" , skillCfg , " Damage" , damageType .. " Damage" , isElemental [damageType ] and " ElementalDamage" or nil )
5182+ end
51775183 local more = skillModList :More (dotTypeCfg , " Damage" , damageType .. " Damage" , isElemental [damageType ] and " ElementalDamage" or nil )
51785184 local mult = skillModList :Override (dotTypeCfg , " DotMultiplier" ) or skillModList :Sum (" BASE" , dotTypeCfg , " DotMultiplier" ) + skillModList :Sum (" BASE" , dotTypeCfg , damageType .. " DotMultiplier" )
51795185 local aura = activeSkill .skillTypes [SkillType .Aura ] and not activeSkill .skillTypes [SkillType .RemoteMined ] and calcLib .mod (skillModList , dotTypeCfg , " AuraEffect" )
@@ -5190,6 +5196,7 @@ function calcs.offence(env, actor, activeSkill)
51905196 end
51915197 end
51925198 end
5199+
51935200 if skillModList :Flag (nil , " DotCanStack" ) then
51945201 skillFlags .DotCanStack = true
51955202 local speed = output .Speed
0 commit comments