diff --git a/spec/System/TestSkills_spec.lua b/spec/System/TestSkills_spec.lua index 23b6b864ec..af8896f64c 100644 --- a/spec/System/TestSkills_spec.lua +++ b/spec/System/TestSkills_spec.lua @@ -151,6 +151,21 @@ describe("TestSkills", function() assert.True(preAdrenalineMaxStages < build.calcsTab.mainEnv.player.activeSkillList[1].skillModList:Sum("BASE", nil, "Multiplier:BlightMaxStages")) end) + it("calculates added resistance from heralds even when using scornful herald", function() + build.skillsTab:PasteSocketGroup("Cyclone 20/0 1\n") + build.skillsTab:PasteSocketGroup("Herald of Thunder 20/0 1\nScornful Herald 20/0 1\n") + build.itemsTab:CreateDisplayItemFromRaw([[Circle of Regret + Topaz Ring + {tags:resistance}+(50-60)% to Lightning Resistance while affected by Herald of Thunder + ]]) + build.itemsTab:AddDisplayItem() + + runCallback("OnFrame") + + assert.are.equals(0, build.calcsTab.mainEnv.player.modDB:Sum("BASE", nil, "LightningMin")) + assert.are.equals(-5, build.calcsTab.mainEnv.player.modDB:Sum("BASE", nil, "LightningResist")) + end) + it("calculates Wintertide Brand average damage for attached brands and Wintertide's End", function() local function getAverageDamageMultiplier() for _, mod in ipairs(build.calcsTab.mainEnv.player.mainSkill.skillModList) do diff --git a/src/Data/Skills/sup_int.lua b/src/Data/Skills/sup_int.lua index 1d1a3ad039..aedbe089e8 100644 --- a/src/Data/Skills/sup_int.lua +++ b/src/Data/Skills/sup_int.lua @@ -5968,7 +5968,8 @@ skills["SupportScornfulHerald"] = { statDescriptionScope = "gem_stat_descriptions", statMap = { ["herald_no_buff_effect"] = { - flag("DisableBuff", { type = "SkillType", skillType = SkillType.Herald }), + mod("BuffEffect", "MORE", nil, 0, 0, { type = "SkillType", skillType = SkillType.Herald }), + value = -100, }, }, qualityStats = { diff --git a/src/Export/Skills/sup_int.txt b/src/Export/Skills/sup_int.txt index f69e71fd77..f2c4c31028 100644 --- a/src/Export/Skills/sup_int.txt +++ b/src/Export/Skills/sup_int.txt @@ -828,7 +828,8 @@ local skills, mod, flag, skill = ... #skill SupportScornfulHerald statMap = { ["herald_no_buff_effect"] = { - flag("DisableBuff", { type = "SkillType", skillType = SkillType.Herald }), + mod("BuffEffect", "MORE", nil, 0, 0, { type = "SkillType", skillType = SkillType.Herald }), + value = -100, }, }, #mods diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index 6fb9a2f984..65b8a15b3e 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -2263,7 +2263,7 @@ function calcs.perform(env, skipEHP) -- Also nothing :/ elseif buff.type == "GlobalDB" then modDB:AddList(buff.modList) -- Allows a skill mod to affect other skills through modDB - elseif buff.type == "Buff" and not skillModList:Flag(skillCfg, "DisableBuff") then + elseif buff.type == "Buff" then if env.mode_buffs and (not activeSkill.skillFlags.totem or buff.allowTotemBuff) then local skillCfg = buff.activeSkillBuff and skillCfg local modStore = buff.activeSkillBuff and skillModList or modDB