@@ -486,6 +486,9 @@ function calcs.buildActiveSkillModList(env, activeSkill)
|
||||
if level.manaMultiplier then
|
||||
skillModList:NewMod("SupportManaMultiplier", "MORE", level.manaMultiplier, skillEffect.grantedEffect.modSource)
|
||||
end
|
||||
if level.manaReservationPercent then
|
||||
activeSkill.skillData.manaReservationPercent = level.manaReservationPercent
|
||||
end
|
||||
-- Handle multiple triggers situation and if triggered by a trigger skill save a reference to the trigger.
|
||||
local match = skillEffect.grantedEffect.addSkillTypes and (not skillFlags.disable)
|
||||
if match and skillEffect.grantedEffect.isTrigger then
|
||||
@@ -495,8 +498,6 @@ function calcs.buildActiveSkillModList(env, activeSkill)
|
||||
else
|
||||
activeSkill.triggeredBy = skillEffect
|
||||
end
|
||||
elseif level.manaReservationPercent then
|
||||
activeSkill.skillData.manaReservationPercent = level.manaReservationPercent
|
||||
end
|
||||
if level.PvPDamageMultiplier then
|
||||
skillModList:NewMod("PvpDamageMultiplier", "MORE", level.PvPDamageMultiplier, skillEffect.grantedEffect.modSource)
|
||||
@@ -507,15 +508,6 @@ function calcs.buildActiveSkillModList(env, activeSkill)
|
||||
end
|
||||
end
|
||||
|
||||
if activeSkill.activeEffect.srcInstance then
|
||||
local supportEffect = activeSkill.activeEffect.srcInstance.supportEffect
|
||||
if supportEffect and supportEffect.grantedEffect.isTrigger then
|
||||
for effect, _ in pairs(supportEffect.isSupporting) do
|
||||
activeSkill.skillData.manaReservationPercent = (activeSkill.skillData.manaReservationPercent or 0) + (supportEffect.grantedEffect.levels[supportEffect.level].manaReservationPercent or 0)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Apply gem/quality modifiers from support gems
|
||||
skillModList:NewMod("GemLevel", "BASE", activeSkill.activeEffect.srcInstance and activeSkill.activeEffect.srcInstance.level or activeSkill.activeEffect.level, "Max Level")
|
||||
for _, supportProperty in ipairs(skillModList:Tabulate("LIST", activeSkill.skillCfg, "SupportedGemProperty")) do
|
||||
|
||||
@@ -1654,7 +1654,7 @@ function calcs.perform(env, skipEHP)
|
||||
breakdown.ManaReserved = { reservations = { } }
|
||||
end
|
||||
for _, activeSkill in ipairs(env.player.activeSkillList) do
|
||||
if activeSkill.skillTypes[SkillType.HasReservation] and not activeSkill.skillTypes[SkillType.ReservationBecomesCost] then
|
||||
if (activeSkill.skillTypes[SkillType.HasReservation] or activeSkill.skillData.SupportedByAutoexertion) and not activeSkill.skillTypes[SkillType.ReservationBecomesCost] then
|
||||
local skillModList = activeSkill.skillModList
|
||||
local skillCfg = activeSkill.skillCfg
|
||||
local mult = floor(skillModList:More(skillCfg, "SupportManaMultiplier"), 4)
|
||||
|
||||
Reference in New Issue
Block a user