diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index f714b695c9..b7e84e47d4 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -1083,6 +1083,12 @@ function calcs.perform(env, skipEHP) modDB.multipliers["BrandsAttachedToEnemy"] = m_max(actual, modDB.multipliers["BrandsAttachedToEnemy"] or 0) enemyDB.multipliers["BrandsAttached"] = m_max(actual, enemyDB.multipliers["BrandsAttached"] or 0) end + if activeSkill.skillFlags.totem then + local limit = env.player.mainSkill.skillModList:Sum("BASE", env.player.mainSkill.skillCfg, "ActiveTotemLimit", "ActiveBallistaLimit" ) + output.ActiveTotemLimit = m_max(limit, output.ActiveTotemLimit or 0) + output.TotemsSummoned = modDB:Override(nil, "TotemsSummoned") or output.ActiveTotemLimit + enemyDB.multipliers["TotemsSummoned"] = m_max(output.TotemsSummoned or 0, enemyDB.multipliers["TotemsSummoned"] or 0) + end -- The actual hexes as opposed to hex related skills all have the curse flag. TotemCastsWhenNotDetached is to remove blasphemy -- Note that this doesn't work for triggers yet, insufficient support if activeSkill.skillFlags.hex and activeSkill.skillFlags.curse and not activeSkill.skillTypes[SkillType.TotemCastsWhenNotDetached] and activeSkill.skillModList:Sum("BASE", nil, "MaxDoom") then @@ -2990,15 +2996,6 @@ function calcs.perform(env, skipEHP) doActorCharges(env, env.enemy) doActorMisc(env, env.enemy) - for _, activeSkill in ipairs(env.player.activeSkillList) do - if activeSkill.skillFlags.totem then - local limit = env.player.mainSkill.skillModList:Sum("BASE", env.player.mainSkill.skillCfg, "ActiveTotemLimit", "ActiveBallistaLimit" ) - output.ActiveTotemLimit = m_max(limit, output.ActiveTotemLimit or 0) - output.TotemsSummoned = modDB:Override(nil, "TotemsSummoned") or output.ActiveTotemLimit - enemyDB.multipliers["TotemsSummoned"] = m_max(output.TotemsSummoned or 0, enemyDB.multipliers["TotemsSummoned"] or 0) - end - end - local major, minor = env.spec.treeVersion:match("(%d+)_(%d+)") -- Apply exposures