From a29428d0969b3e57157c9654d2711065954ac7a1 Mon Sep 17 00:00:00 2001 From: QuickStick <31533893+QuickStick123@users.noreply.github.com> Date: Sun, 19 Feb 2023 18:30:48 +1100 Subject: [PATCH 1/3] Narrow details for requirements to delete on secondary --- src/Modules/CalcActiveSkill.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Modules/CalcActiveSkill.lua b/src/Modules/CalcActiveSkill.lua index 42c9643586..3949d726ae 100644 --- a/src/Modules/CalcActiveSkill.lua +++ b/src/Modules/CalcActiveSkill.lua @@ -242,7 +242,7 @@ function calcs.buildActiveSkillModList(env, activeSkill) end activeSkill.skillPartName = part.name skillFlags.multiPart = #activeGemParts > 1 - elseif activeEffect.srcInstance and not (activeEffect.gemData and activeEffect.gemData.secondaryGrantedEffect) then + elseif activeEffect.srcInstance and not (activeEffect.gemData and activeEffect.gemData.secondaryGrantedEffect and activeEffect.gemData.secondaryGrantedEffect.parts and #activeEffect.gemData.secondaryGrantedEffect.parts > 1) then activeEffect.srcInstance.skillPart = nil activeEffect.srcInstance.skillPartCalcs = nil end @@ -537,7 +537,7 @@ function calcs.buildActiveSkillModList(env, activeSkill) skillModList:NewMod("Multiplier:ActiveMineCount", "BASE", activeSkill.activeMineCount, "Base") env.enemy.modDB.multipliers["ActiveMineCount"] = m_max(activeSkill.activeMineCount or 0, env.enemy.modDB.multipliers["ActiveMineCount"] or 0) end - elseif activeEffect.srcInstance and not (activeEffect.gemData and activeEffect.gemData.secondaryGrantedEffect) then + elseif activeEffect.srcInstance and not (activeEffect.gemData and activeEffect.gemData.secondaryGrantedEffect and activeEffect.gemData.secondaryGrantedEffect.tags and activeEffect.gemData.secondaryGrantedEffect.tags.mine) then activeEffect.srcInstance.skillMineCountCalcs = nil activeEffect.srcInstance.skillMineCount = nil end @@ -639,7 +639,7 @@ function calcs.buildActiveSkillModList(env, activeSkill) end minion.itemSet = env.build.itemsTab.itemSets[activeEffect.srcInstance.skillMinionItemSet] end - elseif activeEffect.srcInstance and not (activeEffect.gemData and activeEffect.gemData.secondaryGrantedEffect) then + elseif activeEffect.srcInstance and not (activeEffect.gemData and activeEffect.gemData.secondaryGrantedEffect and activeEffect.gemData.secondaryGrantedEffect.minionHasItemSet) then activeEffect.srcInstance.skillMinionItemSetCalcs = nil activeEffect.srcInstance.skillMinionItemSet = nil end @@ -681,7 +681,7 @@ function calcs.buildActiveSkillModList(env, activeSkill) end end end - elseif activeEffect.srcInstance and not (activeEffect.gemData and activeEffect.gemData.secondaryGrantedEffect) then + elseif activeEffect.srcInstance and not (activeEffect.gemData and activeEffect.gemData.secondaryGrantedEffect and activeEffect.gemData.secondaryGrantedEffect.skillTypes and activeEffect.gemData.secondaryGrantedEffect.skillTypes[SkillType.Minion]) then activeEffect.srcInstance.skillMinionCalcs = nil activeEffect.srcInstance.skillMinion = nil activeEffect.srcInstance.skillMinionItemSetCalcs = nil From 30bec67a743e05f768462585a79426c67801b002 Mon Sep 17 00:00:00 2001 From: QuickStick <31533893+QuickStick123@users.noreply.github.com> Date: Wed, 20 Dec 2023 19:19:26 +1100 Subject: [PATCH 2/3] Fix supports getting stats stuck on them when replaced. --- src/Classes/SkillsTab.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua index 7b5173b747..c54882a278 100644 --- a/src/Classes/SkillsTab.lua +++ b/src/Classes/SkillsTab.lua @@ -1137,6 +1137,20 @@ function SkillsTabClass:ProcessSocketGroup(socketGroup) gemInstance.reqInt = calcLib.getGemStatRequirement(gemInstance.reqLevel, grantedEffect.support, gemInstance.gemData.reqInt) end end + if gemInstance.gemData.tags.support then -- delete active skill stats as they get left behind on supports. + gemInstance.skillMinionCalcs = nil + gemInstance.skillMinion = nil + gemInstance.skillMinionItemSetCalcs = nil + gemInstance.skillMinionItemSet = nil + gemInstance.skillMinionSkill = nil + gemInstance.skillMinionSkillCalcs = nil + gemInstance.skillStageCountCalcs = nil + gemInstance.skillStageCount = nil + gemInstance.skillMineCountCalcs = nil + gemInstance.skillMineCount = nil + gemInstance.skillPart = nil + gemInstance.skillPartCalcs = nil + end end end From 39cb8cf72626231e80b361e16bd3db374e5f0944 Mon Sep 17 00:00:00 2001 From: QuickStick <31533893+QuickStick123@users.noreply.github.com> Date: Wed, 20 Dec 2023 19:29:37 +1100 Subject: [PATCH 3/3] Fix crash --- src/Classes/SkillsTab.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua index c54882a278..060872a64e 100644 --- a/src/Classes/SkillsTab.lua +++ b/src/Classes/SkillsTab.lua @@ -1137,7 +1137,7 @@ function SkillsTabClass:ProcessSocketGroup(socketGroup) gemInstance.reqInt = calcLib.getGemStatRequirement(gemInstance.reqLevel, grantedEffect.support, gemInstance.gemData.reqInt) end end - if gemInstance.gemData.tags.support then -- delete active skill stats as they get left behind on supports. + if gemInstance.gemData and gemInstance.gemData.tags.support then -- delete active skill stats as they get left behind on supports. gemInstance.skillMinionCalcs = nil gemInstance.skillMinion = nil gemInstance.skillMinionItemSetCalcs = nil