Skip to content

Commit eddb7b9

Browse files
authored
FIX: pool trigger based reservations (#8804)
1 parent fa21def commit eddb7b9

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/Modules/CalcActiveSkill.lua

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -486,9 +486,6 @@ function calcs.buildActiveSkillModList(env, activeSkill)
486486
if level.manaMultiplier then
487487
skillModList:NewMod("SupportManaMultiplier", "MORE", level.manaMultiplier, skillEffect.grantedEffect.modSource)
488488
end
489-
if level.manaReservationPercent then
490-
activeSkill.skillData.manaReservationPercent = level.manaReservationPercent
491-
end
492489
-- Handle multiple triggers situation and if triggered by a trigger skill save a reference to the trigger.
493490
local match = skillEffect.grantedEffect.addSkillTypes and (not skillFlags.disable)
494491
if match and skillEffect.grantedEffect.isTrigger then
@@ -498,6 +495,8 @@ function calcs.buildActiveSkillModList(env, activeSkill)
498495
else
499496
activeSkill.triggeredBy = skillEffect
500497
end
498+
elseif level.manaReservationPercent then
499+
activeSkill.skillData.manaReservationPercent = level.manaReservationPercent
501500
end
502501
if level.PvPDamageMultiplier then
503502
skillModList:NewMod("PvpDamageMultiplier", "MORE", level.PvPDamageMultiplier, skillEffect.grantedEffect.modSource)
@@ -508,6 +507,15 @@ function calcs.buildActiveSkillModList(env, activeSkill)
508507
end
509508
end
510509

510+
if activeSkill.activeEffect.srcInstance then
511+
local supportEffect = activeSkill.activeEffect.srcInstance.supportEffect
512+
if supportEffect and supportEffect.grantedEffect.isTrigger then
513+
for effect, _ in pairs(supportEffect.isSupporting) do
514+
activeSkill.skillData.manaReservationPercent = (activeSkill.skillData.manaReservationPercent or 0) + (supportEffect.grantedEffect.levels[supportEffect.level].manaReservationPercent or 0)
515+
end
516+
end
517+
end
518+
511519
-- Apply gem/quality modifiers from support gems
512520
skillModList:NewMod("GemLevel", "BASE", activeSkill.activeEffect.srcInstance and activeSkill.activeEffect.srcInstance.level or activeSkill.activeEffect.level, "Max Level")
513521
for _, supportProperty in ipairs(skillModList:Tabulate("LIST", activeSkill.skillCfg, "SupportedGemProperty")) do

src/Modules/CalcPerform.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1651,7 +1651,7 @@ function calcs.perform(env, skipEHP)
16511651
breakdown.ManaReserved = { reservations = { } }
16521652
end
16531653
for _, activeSkill in ipairs(env.player.activeSkillList) do
1654-
if (activeSkill.skillTypes[SkillType.HasReservation] or activeSkill.skillData.SupportedByAutoexertion) and not activeSkill.skillTypes[SkillType.ReservationBecomesCost] then
1654+
if activeSkill.skillTypes[SkillType.HasReservation] and not activeSkill.skillTypes[SkillType.ReservationBecomesCost] then
16551655
local skillModList = activeSkill.skillModList
16561656
local skillCfg = activeSkill.skillCfg
16571657
local mult = floor(skillModList:More(skillCfg, "SupportManaMultiplier"), 4)

0 commit comments

Comments
 (0)