Skip to content

Commit 0e2b80a

Browse files
committed
Fix two minion skill related crashes
1 parent 18272f6 commit 0e2b80a

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

src/Classes/SkillsTab.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1197,7 +1197,7 @@ function SkillsTabClass:AddSocketGroupTooltip(tooltip, socketGroup)
11971197
gemShown[skillEffect.srcInstance] = true
11981198
end
11991199
end
1200-
if activeSkill.minion then
1200+
if activeSkill.minion and activeSkill.minion.mainSkill then
12011201
tooltip:AddSeparator(10)
12021202
tooltip:AddLine(16, "^7Active Skill #" .. index .. "'s Main Minion Skill:")
12031203
local activeEffect = activeSkill.minion.mainSkill.effectList[1]
@@ -1212,6 +1212,9 @@ function SkillsTabClass:AddSocketGroupTooltip(tooltip, socketGroup)
12121212
if activeEffect.srcInstance then
12131213
gemShown[activeEffect.srcInstance] = true
12141214
end
1215+
elseif activeSkill.minion then
1216+
-- if `activeSkill.minion ~= nil` and `activeSkill.minion.mainSkill == nil`, we need to set `buildFlag = true` to fix this minion
1217+
self.buildFlag = true
12151218
end
12161219
end
12171220
local showOtherHeader = true

src/Modules/Build.lua

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1391,7 +1391,7 @@ function buildMode:RefreshSkillSelectControls(controls, mainGroup, suffix)
13911391
for i, socketGroup in pairs(self.skillsTab.socketGroupList) do
13921392
controls.mainSocketGroup.list[i] = { val = i, label = socketGroup.displayLabel }
13931393
end
1394-
controls.mainSocketGroup:CheckDroppedWidth(true)
1394+
controls.mainSocketGroup:CheckDroppedWidth(true)
13951395
if controls.warnings then controls.warnings.shown = #controls.warnings.lines > 0 end
13961396
if #controls.mainSocketGroup.list == 0 then
13971397
controls.mainSocketGroup.list[1] = { val = 1, label = "<No skills added yet>" }
@@ -1469,13 +1469,16 @@ function buildMode:RefreshSkillSelectControls(controls, mainGroup, suffix)
14691469
controls.mainSkillMinion.enabled = #controls.mainSkillMinion.list > 1
14701470
controls.mainSkillMinion.shown = true
14711471
wipeTable(controls.mainSkillMinionSkill.list)
1472-
if activeSkill.minion then
1472+
if activeSkill.minion and activeSkill.minion.activeSkillList then
14731473
for _, minionSkill in ipairs(activeSkill.minion.activeSkillList) do
14741474
t_insert(controls.mainSkillMinionSkill.list, minionSkill.activeEffect.grantedEffect.name)
14751475
end
14761476
controls.mainSkillMinionSkill.selIndex = activeEffect.srcInstance["skillMinionSkill"..suffix] or 1
14771477
controls.mainSkillMinionSkill.shown = true
14781478
controls.mainSkillMinionSkill.enabled = #controls.mainSkillMinionSkill.list > 1
1479+
elseif activeSkill.minion then
1480+
-- if `activeSkill.minion ~= nil` and `activeSkill.minion.activeSkillList == nil`, we need to set `buildFlag = true` to fix this minion
1481+
self.buildFlag = true
14791482
else
14801483
t_insert(controls.mainSkillMinion.list, "<No spectres in build>")
14811484
end

0 commit comments

Comments
 (0)