@@ -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 , " " )
20882114end
0 commit comments