diff --git a/src/Classes/ConfigTab.lua b/src/Classes/ConfigTab.lua index 93b9313d63..772f38fc6b 100644 --- a/src/Classes/ConfigTab.lua +++ b/src/Classes/ConfigTab.lua @@ -417,10 +417,16 @@ local ConfigTabClass = newClass("ConfigTab", "UndoHandler", "ControlHost", "Cont end if varData.ifFlag then t_insert(shownFuncs, listOrSingleIfOption(varData.ifFlag, function(ifOption) - local skillModList = self.build.calcsTab.mainEnv.player.mainSkill.skillModList - local skillFlags = self.build.calcsTab.mainEnv.player.mainSkill.skillFlags - -- Check both the skill mods for flags and flags that are set via calcPerform - return skillFlags[ifOption] or skillModList:Flag(nil, ifOption) + for _, activeSkill in ipairs(self.build.calcsTab.mainEnv.player.activeSkillList) do + local skillModList = activeSkill.skillModList + local skillFlags = activeSkill.skillFlags + + -- Check both the skill mods for flags and flags that are set via calcPerform + if skillFlags[ifOption] or skillModList:Flag(nil, ifOption) then + return true + end + end + return false end)) end if varData.ifMod then diff --git a/src/Modules/Calcs.lua b/src/Modules/Calcs.lua index a1c8e75d7b..266396a75a 100644 --- a/src/Modules/Calcs.lua +++ b/src/Modules/Calcs.lua @@ -580,15 +580,15 @@ function calcs.buildOutput(build, mode) end end for _, activeSkill in pairs(env.player.activeSkillList) do + local uuid = cacheSkillUUID(activeSkill, env) + if not GlobalCache.cachedData["CACHE"][uuid] then + calcs.buildActiveSkill(env, "CACHE", activeSkill) + end + for _, mod in ipairs(activeSkill.baseSkillModList) do addModTags(env.player, mod) end - for _, mod in ipairs(activeSkill.skillModList) do - addTo(env.modsUsed, mod.name, mod) - for _, tag in ipairs(mod) do - addTo(env.tagTypesUsed, tag.type, mod) - end - end + if activeSkill.minion then for _, activeSkill in pairs(activeSkill.minion.activeSkillList) do for _, mod in ipairs(activeSkill.baseSkillModList) do @@ -596,6 +596,16 @@ function calcs.buildOutput(build, mode) end end end + + if GlobalCache.cachedData["CACHE"][uuid] then + skillModList = GlobalCache.cachedData["CACHE"][uuid].ActiveSkill.skillModList + for _, mod in ipairs(skillModList) do + addTo(env.modsUsed, mod.name, mod) + for _, tag in ipairs(mod) do + addTo(env.tagTypesUsed, tag.type, mod) + end + end + end end for modName, modList in pairs(env.enemyDB.mods) do for _, mod in ipairs(modList) do