Skip to content

Commit aecb775

Browse files
committed
Add comparison stat set selector
1 parent f9e12c8 commit aecb775

1 file changed

Lines changed: 30 additions & 4 deletions

File tree

src/Classes/CompareTab.lua

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -326,8 +326,20 @@ function CompareTabClass:InitControls()
326326
end)
327327
self.controls.cmpMainSkill.shown = false
328328

329+
self.controls.cmpStatSet = new("DropDownControl", {"LEFT", self.controls.cmpMainSkill, "RIGHT"}, {2, 0, 150, 20}, {}, function(index, value)
330+
local entry = self:GetActiveCompare()
331+
local mainSocketGroup = entry.skillsTab.socketGroupList[entry.mainSocketGroup]
332+
if mainSocketGroup then
333+
local srcInstance = mainSocketGroup.displaySkillList[mainSocketGroup.mainActiveSkill].activeEffect.srcInstance
334+
srcInstance.statSet = srcInstance.statSet or { }
335+
srcInstance.statSet[value.grantedEffectId] = index
336+
entry.buildFlag = true
337+
end
338+
end)
339+
self.controls.cmpStatSet.shown = true
340+
329341
-- Skill part (multi-part skills)
330-
self.controls.cmpSkillPart = new("DropDownControl", {"LEFT", self.controls.cmpMainSkill, "RIGHT"}, {2, 0, 100, 20}, {}, function(index, value)
342+
self.controls.cmpSkillPart = new("DropDownControl", {"LEFT", self.controls.cmpStatSet, "RIGHT"}, {2, 0, 100, 20}, {}, function(index, value)
331343
local entry = self:GetActiveCompare()
332344
if entry then
333345
local mainSocketGroup = entry.skillsTab.socketGroupList[entry.mainSocketGroup]
@@ -382,7 +394,7 @@ function CompareTabClass:InitControls()
382394
self.controls.cmpMineCount.shown = false
383395

384396
-- Minion selector
385-
self.controls.cmpMinion = new("DropDownControl", {"LEFT", self.controls.cmpMineCount, "RIGHT"}, {4, 0, 140, 20}, {}, function(index, value)
397+
self.controls.cmpMinion = new("DropDownControl", {"LEFT", self.controls.cmpMineCount, "RIGHT"}, {4, 0, 140, 50}, {}, function(index, value)
386398
local entry = self:GetActiveCompare()
387399
if entry then
388400
local mainSocketGroup = entry.skillsTab.socketGroupList[entry.mainSocketGroup]
@@ -422,6 +434,20 @@ function CompareTabClass:InitControls()
422434
end)
423435
self.controls.cmpMinionSkill.shown = false
424436

437+
-- Minion skill stat set selector
438+
self.controls.cmpMinionSkillStatSet = new("DropDownControl", {"LEFT", self.controls.cmpMinionSkill, "RIGHT"}, {2, 0, 140, 20}, {}, function(index, value)
439+
local entry = self:GetActiveCompare()
440+
local mainSocketGroup = entry.skillsTab.socketGroupList[entry.mainSocketGroup]
441+
if mainSocketGroup then
442+
local srcInstance = mainSocketGroup.displaySkillList[mainSocketGroup.mainActiveSkill].activeEffect.srcInstance
443+
srcInstance.skillMinionSkillStatSetIndexLookup = srcInstance.skillMinionSkillStatSetIndexLookup or { }
444+
srcInstance.skillMinionSkillStatSetIndexLookup[value.grantedEffectId] = srcInstance.skillMinionSkillStatSetIndexLookup[value.grantedEffectId] or { }
445+
srcInstance.skillMinionSkillStatSetIndexLookup[value.grantedEffectId][srcInstance.skillMinionSkill] = index
446+
entry.buildFlag = true
447+
end
448+
end)
449+
self.controls.cmpMinionSkillStatSet.shown = false
450+
425451
-- ============================================================
426452
-- Calcs view skill detail controls (per-build, independent of sidebar & regular Calcs tab)
427453
-- ============================================================
@@ -2081,8 +2107,8 @@ function CompareTabClass:UpdateSetSelectors(compareEntry)
20812107
mainSkillMinionLibrary = { shown = false },
20822108
mainSkillBeastLibrary = { shown = false },
20832109
mainSkillMinionSkill = self.controls.cmpMinionSkill,
2084-
mainSkillMinionSkillStatSet = self.controls.cmpCalcsMinionSkillStatSet,
2085-
statSet = self.controls.cmpCalcsStatSet
2110+
mainSkillMinionSkillStatSet = self.controls.cmpMinionSkillStatSet,
2111+
statSet = self.controls.cmpStatSet
20862112
}
20872113
compareEntry:RefreshSkillSelectControls(cmpControls, compareEntry.mainSocketGroup, "")
20882114
end

0 commit comments

Comments
 (0)