diff --git a/spec/System/TestSkills_spec.lua b/spec/System/TestSkills_spec.lua index 33230bf694..fed108a447 100644 --- a/spec/System/TestSkills_spec.lua +++ b/spec/System/TestSkills_spec.lua @@ -94,6 +94,13 @@ describe("TestSkills", function() assert.True(build.calcsTab.mainOutput.SpiritReservedPercent > oneCurseReservation) end) + it("applies active skill reservation multiplier to linked buff spirit reservation", function() + build.skillsTab:PasteSocketGroup("Purity of Fire 20/0 1\nVitality II 1/0 1\n") + runCallback("OnFrame") + + assert.are.equals(0, build.calcsTab.mainOutput.SpiritReserved) + end) + it("Keeps Virtuous armour scaling during Full DPS loop", function() build.itemsTab:CreateDisplayItemFromRaw("New Item\nRazor Quarterstaff\nQuality: 0") build.itemsTab:AddDisplayItem() diff --git a/src/Modules/CalcActiveSkill.lua b/src/Modules/CalcActiveSkill.lua index bcc33fa08f..fa5b8a9126 100644 --- a/src/Modules/CalcActiveSkill.lua +++ b/src/Modules/CalcActiveSkill.lua @@ -751,6 +751,9 @@ function calcs.buildActiveSkillModList(env, activeSkill) -- Add extra modifiers from granted effect level local level = activeEffect.grantedEffectLevel + if level.reservationMultiplier then + skillModList:NewMod("ReservationMultiplier", "MORE", level.reservationMultiplier, activeGrantedEffect.modSource) + end activeSkill.skillData.CritChance = level.critChance if level.damageMultiplier then skillModList:NewMod("Damage", "MORE", level.damageMultiplier, activeEffect.grantedEffect.modSource, ModFlag.Attack)