@@ -12032,12 +12032,34 @@ skills["ImmolationSigil"] = {
1203212032 castTime = 0.7,
1203312033 preDamageFunc = function(activeSkill, output)
1203412034 activeSkill.skillData.hitTimeOverride = activeSkill.skillData.repeatFrequency / (1 + activeSkill.skillModList:Sum("INC", activeSkill.skillCfg, "Speed", "BrandActivationFrequency") / 100) / activeSkill.skillModList:More(activeSkill.skillCfg, "BrandActivationFrequency")
12035+ if activeSkill.skillPart == 2 then
12036+ local skillMaxStages = activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:WintertideBrandMaxStages")
12037+ local duration = calcSkillDuration(activeSkill.skillModList, activeSkill.skillCfg, activeSkill.skillData, {})
12038+ local maxStages = math.min(duration / activeSkill.skillData.hitTimeOverride + 1, skillMaxStages)
12039+ local timeToReachMaxStages = (maxStages - 1) * activeSkill.skillData.hitTimeOverride
12040+ local timeAtMaxStages = duration - timeToReachMaxStages
12041+ local damagePerStage = activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:WintertideBrandDamagePerStage")
12042+ -- Get the average damage before reaching max stages and then damage at max stages
12043+ local dpsMultiplier = ((2 + damagePerStage + maxStages * damagePerStage)/2*timeToReachMaxStages+timeAtMaxStages*(1+maxStages*damagePerStage))/duration
12044+ activeSkill.skillModList:NewMod("Damage", "MORE", dpsMultiplier, "Wintertide Brand Average Multiplier")
12045+ end
1203512046 end,
12047+ parts = {
12048+ {
12049+ name = "Manual Stages",
12050+ stages = true
12051+ },
12052+ {
12053+ name = "Average Damage",
12054+ }
12055+ },
1203612056 statMap = {
1203712057 ["base_skill_show_average_damage_instead_of_dps"] = {
1203812058 },
1203912059 ["immolation_brand_burn_damage_+%_final_per_stage"] = {
12040- mod("Damage", "MORE", nil, 0, 0, { type = "Multiplier", var = "WintertideBrandStage", limitVar = "WintertideBrandMaxStages" }),
12060+ -- Only apply to Manual Stages part
12061+ mod("Damage", "MORE", nil, 0, 0, { type = "Multiplier", var = "WintertideBrandStage", limitVar = "WintertideBrandMaxStages" }, { type = "SkillPart", skillPart = 1 }),
12062+ mod("Multiplier:WintertideBrandDamagePerStage", "BASE", nil),
1204112063 },
1204212064 ["winter_brand_max_number_of_stages"] = {
1204312065 mod("Multiplier:WintertideBrandMaxStages", "BASE", nil),
@@ -12572,4 +12594,4 @@ skills["DestructiveLink"] = {
1257212594 [39] = { 63, 11400, levelRequirement = 99, statInterpolation = { 1, 1, }, cost = { ManaPerMinute = 2830, }, },
1257312595 [40] = { 64, 11450, levelRequirement = 100, statInterpolation = { 1, 1, }, cost = { ManaPerMinute = 2850, }, },
1257412596 },
12575- }
12597+ }
0 commit comments