Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion spec/System/TestSkills_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,12 @@ describe("TestSkills", function()
activeSkill = build.calcsTab.mainEnv.player.mainSkill
assert.is_true(activeSkill.skillFlags.disable)
assert.are.equals("This skill requires reserving Mana", activeSkill.disableReason)
assert.are.equals(0, activeSkill.skillData.ManaReservedBase)
assert.is_nil(activeSkill.skillData.ManaReservedBase)
assert.is_nil(activeSkill.skillData.ManaReservedPercent)
assert.is_nil(activeSkill.skillData.LifeReservedBase)
assert.are.equals(0, build.calcsTab.mainEnv.player.reserved_ManaPercent)
assert.is_nil(build.calcsTab.mainEnv.player.output.ManaReservedPercent)
assert.are.equals(0, #build.calcsTab.mainEnv.player.breakdown.ManaReserved.reservations)
end)

it("Test Scorching ray applying exposure at max stages", function()
Expand Down
9 changes: 5 additions & 4 deletions src/Modules/CalcPerform.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1976,6 +1976,11 @@ function calcs.perform(env, skipEHP)
breakdown.ManaReserved = { reservations = { } }
end
for _, activeSkill in ipairs(env.player.activeSkillList) do
local forcedManaReservation = activeSkill.skillData.ManaReservationPercentForced
if forcedManaReservation and m_ceil((output.Mana or 0) * forcedManaReservation / 100) == 0 then
activeSkill.skillFlags.disable = true
activeSkill.disableReason = "This skill requires reserving Mana"
end
if (activeSkill.skillTypes[SkillType.HasReservation] or activeSkill.skillData.triggeredByAutoexertion ) and not activeSkill.skillTypes[SkillType.ReservationBecomesCost] and not activeSkill.skillFlags.disable then
local skillModList = activeSkill.skillModList
local skillCfg = activeSkill.skillCfg
Expand Down Expand Up @@ -2081,10 +2086,6 @@ function calcs.perform(env, skipEHP)
env.player["uncancellable_"..name.."Reservation"] = env.player["uncancellable_"..name.."Reservation"] + values.reservedPercent
end
end
if activeSkill.skillData.ManaReservationPercentForced and activeSkill.skillData.ManaReservedBase == 0 then
activeSkill.skillFlags.disable = true
activeSkill.disableReason = "This skill requires reserving Mana"
end
end
end

Expand Down
Loading