diff --git a/Modules/CalcPerform.lua b/Modules/CalcPerform.lua index dd178ad3..a27e86fe 100644 --- a/Modules/CalcPerform.lua +++ b/Modules/CalcPerform.lua @@ -2059,11 +2059,6 @@ function calcs.perform(env) -- Defence/offence calculations calcs.defence(env, env.player) calcs.offence(env, env.player, env.player.mainSkill) - if env.minion then - calcs.defence(env, env.minion) - calcs.offence(env, env.minion, env.minion.mainSkill) - end - local uuid = cacheSkillUUID(env.player.mainSkill) if not GlobalCache.cachedData[uuid] or env.mode == "CACHE" then GlobalCache.cachedData[uuid] = { @@ -2074,4 +2069,20 @@ function calcs.perform(env) CritChance = env.player.output.CritChance, } end + + if env.minion then + calcs.defence(env, env.minion) + calcs.offence(env, env.minion, env.minion.mainSkill) + uuid = cacheSkillUUID(env.minion.mainSkill) + if not GlobalCache.cachedData[uuid] or env.mode == "CACHE" then + ConPrintf(uuid .. " - MINION") + GlobalCache.cachedData[uuid] = { + Env = env, + Name = env.player.mainSkill.activeEffect.grantedEffect.name, + Speed = env.player.output.Speed, + HitChance = env.player.output.HitChance, + CritChance = env.player.output.CritChance, + } + end + end end diff --git a/Modules/Calcs.lua b/Modules/Calcs.lua index 24ed27ff..a9eb1b9a 100644 --- a/Modules/Calcs.lua +++ b/Modules/Calcs.lua @@ -108,7 +108,7 @@ function calcs.getMiscCalculator(build) local env = calcs.initEnv(build, "CALCULATOR") local uuid = cacheSkillUUID(env.player.mainSkill) - if GlobalCache.cachedData[uuid] then + if GlobalCache.cachedData[uuid] and not env.minion then env = GlobalCache.cachedData[uuid].Env else --ConPrintf("[MISC] NOT OPTIMIZED :: " .. uuid) @@ -124,8 +124,8 @@ function calcs.getMiscCalculator(build) env = calcs.initEnv(build, "CALCULATOR", override) uuid = cacheSkillUUID(env.player.mainSkill) - if GlobalCache[uuid] then - env = GlobalCache[uuid].Env + if GlobalCache.cachedData[uuid] and not env.minion then + env = GlobalCache.cachedData[uuid].Env else calcs.perform(env) end @@ -305,7 +305,7 @@ function calcs.buildOutput(build, mode) local env = calcs.initEnv(build, mode) local uuid = cacheSkillUUID(env.player.mainSkill) - if GlobalCache.cachedData[uuid] then + if GlobalCache.cachedData[uuid] and not env.minion then env = GlobalCache.cachedData[uuid].Env else --ConPrintf("[buildOutput] NOT OPTIMIZED :: " .. uuid .. " :: " .. mode)