diff --git a/spec/System/TestItemMods_spec.lua b/spec/System/TestItemMods_spec.lua index 725c012409..81072e284e 100644 --- a/spec/System/TestItemMods_spec.lua +++ b/spec/System/TestItemMods_spec.lua @@ -618,6 +618,12 @@ describe("TetsItemMods", function() -- more curse more dmg assert.are_not.equals(afterEleWeaknessPhys, afterEnfeeblePhys) assert.are_not.equals(afterEleWeaknessChaos, afterEnfeebleChaos) + + build.skillsTab:PasteSocketGroup("Freezing Mark 20/0 1") + runCallback("OnFrame") + -- marks are not curses and should not grant more damage + assert.are.equals(afterEnfeeblePhys, round(build.calcsTab.mainOutput.PhysicalStoredCombinedAvg)) + assert.are.equals(afterEnfeebleChaos, round(build.calcsTab.mainOutput.ChaosStoredCombinedAvg)) end) it("twisted empyrean", function() diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index b9bc986004..dffd2b4c9e 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -3089,7 +3089,13 @@ function calcs.perform(env, skipEHP) for _, modList in pairs(debuffs) do enemyDB:AddList(modList) end - modDB.multipliers["CurseOnEnemy"] = #curseSlots + local cursesInCurseSlots = {} + for _, slot in ipairs(curseSlots) do + if not slot.isMark then + table.insert(cursesInCurseSlots, slot) + end + end + modDB.multipliers["CurseOnEnemy"] = #cursesInCurseSlots for _, slot in ipairs(curseSlots) do enemyDB.conditions["Cursed"] = true if slot.isMark then