@@ -162,31 +162,20 @@ local SkillsTabClass = newClass("SkillsTab", "UndoHandler", "ControlHost", "Cont
162
162
self :AddUndoState ()
163
163
self .build .buildFlag = true
164
164
end )
165
- self . controls . groupSlotLabel = new ( " LabelControl " , { " TOPLEFT " , self . anchorGroupDetail , " TOPLEFT " }, { 0 , 30 , 0 , 16 }, " ^7Socketed in: " )
166
- self .controls .groupSlot = new (" DropDownControl " , { " TOPLEFT" , self .anchorGroupDetail , " TOPLEFT" }, { 85 , 28 , 130 , 20 }, groupSlotDropList , function (index , value )
167
- self .displayGroup .slot = value . slotName
165
+
166
+ self .controls .set1Enabled = new (" CheckBoxControl " , { " TOPLEFT" , self .anchorGroupDetail , " TOPLEFT" }, { 42 , 30 , 20 }, " Set 1: " , function (state )
167
+ self .displayGroup .set1 = state
168
168
self :AddUndoState ()
169
169
self .build .buildFlag = true
170
170
end )
171
- self .controls .groupSlot .tooltipFunc = function (tooltip , mode , index , value )
172
- tooltip :Clear ()
173
- if mode == " OUT" or index == 1 then
174
- tooltip :AddLine (16 , " Select the item in which this skill is socketed." )
175
- tooltip :AddLine (16 , " This will allow the skill to benefit from modifiers on the item that affect socketed gems." )
176
- else
177
- local slot = self .build .itemsTab .slots [value .slotName ]
178
- local ttItem = self .build .itemsTab .items [slot .selItemId ]
179
- if ttItem then
180
- self .build .itemsTab :AddItemTooltip (tooltip , ttItem , slot )
181
- else
182
- tooltip :AddLine (16 , " No item is equipped in this slot." )
183
- end
184
- end
185
- end
186
- self .controls .groupSlot .enabled = function ()
187
- return self .displayGroup .source == nil
188
- end
189
- self .controls .groupEnabled = new (" CheckBoxControl" , { " LEFT" , self .controls .groupSlot , " RIGHT" }, { 70 , 0 , 20 }, " Enabled:" , function (state )
171
+
172
+ self .controls .set2Enabled = new (" CheckBoxControl" , { " LEFT" , self .controls .set1Enabled , " RIGHT" }, { 50 , 0 , 20 }, " Set 2:" , function (state )
173
+ self .displayGroup .set2 = state
174
+ self :AddUndoState ()
175
+ self .build .buildFlag = true
176
+ end )
177
+
178
+ self .controls .groupEnabled = new (" CheckBoxControl" , { " LEFT" , self .controls .set2Enabled , " RIGHT" }, { 70 , 0 , 20 }, " Enabled:" , function (state )
190
179
self .displayGroup .enabled = state
191
180
self :AddUndoState ()
192
181
self .build .buildFlag = true
@@ -208,7 +197,7 @@ local SkillsTabClass = newClass("SkillsTab", "UndoHandler", "ControlHost", "Cont
208
197
self .controls .groupCount .shown = function ()
209
198
return self .displayGroup .source ~= nil
210
199
end
211
- self .controls .sourceNote = new (" LabelControl" , { " TOPLEFT" , self .controls .groupSlotLabel , " TOPLEFT" }, { 0 , 30 , 0 , 16 })
200
+ self .controls .sourceNote = new (" LabelControl" , { " TOPLEFT" , self .controls .set1Enabled , " TOPLEFT" }, { - 42 , 30 , 0 , 16 })
212
201
self .controls .sourceNote .shown = function ()
213
202
return self .displayGroup .source ~= nil
214
203
end
@@ -274,8 +263,9 @@ function SkillsTabClass:LoadSkill(node, skillSetId)
274
263
socketGroup .includeInFullDPS = node .attrib .includeInFullDPS and node .attrib .includeInFullDPS == " true"
275
264
socketGroup .groupCount = tonumber (node .attrib .groupCount )
276
265
socketGroup .label = node .attrib .label
277
- socketGroup .slot = node .attrib .slot
278
266
socketGroup .source = node .attrib .source
267
+ socketGroup .set1 = node .attrib .set1 and node .attrib .set1 == " true"
268
+ socketGroup .set2 = node .attrib .set2 and node .attrib .set2 == " true"
279
269
socketGroup .mainActiveSkill = tonumber (node .attrib .mainActiveSkill ) or 1
280
270
socketGroup .mainActiveSkillCalcs = tonumber (node .attrib .mainActiveSkillCalcs ) or 1
281
271
socketGroup .gemList = { }
@@ -430,8 +420,9 @@ function SkillsTabClass:Save(xml)
430
420
includeInFullDPS = tostring (socketGroup .includeInFullDPS ),
431
421
groupCount = socketGroup .groupCount ~= nil and tostring (socketGroup .groupCount ),
432
422
label = socketGroup .label ,
433
- slot = socketGroup .slot ,
434
423
source = socketGroup .source ,
424
+ set1 = tostring (socketGroup .set1 or true ),
425
+ set2 = tostring (socketGroup .set2 or true ),
435
426
mainActiveSkill = tostring (socketGroup .mainActiveSkill ),
436
427
mainActiveSkillCalcs = tostring (socketGroup .mainActiveSkillCalcs ),
437
428
} }
@@ -571,9 +562,6 @@ function SkillsTabClass:CopySocketGroup(socketGroup)
571
562
if socketGroup .label and socketGroup .label :match (" %S" ) then
572
563
skillText = skillText .. " Label: " .. socketGroup .label .. " \r\n "
573
564
end
574
- if socketGroup .slot then
575
- skillText = skillText .. " Slot: " .. socketGroup .slot .. " \r\n "
576
- end
577
565
for _ , gemInstance in ipairs (socketGroup .gemList ) do
578
566
skillText = skillText .. string.format (" %s %d/%d %s %d\r\n " , gemInstance .nameSpec , gemInstance .level , gemInstance .quality , gemInstance .enabled and " " or " DISABLED" , gemInstance .count or 1 )
579
567
end
@@ -588,10 +576,6 @@ function SkillsTabClass:PasteSocketGroup(testInput)
588
576
if label then
589
577
newGroup .label = label
590
578
end
591
- local slot = skillText :match (" Slot: (%C+)" )
592
- if slot then
593
- newGroup .slot = slot
594
- end
595
579
for nameSpec , level , quality , state , count in skillText :gmatch (" ([ %a']+) (%d+)/(%d+) ?(%a*) (%d+)" ) do
596
580
t_insert (newGroup .gemList , {
597
581
nameSpec = nameSpec ,
@@ -1097,9 +1081,10 @@ function SkillsTabClass:SetDisplayGroup(socketGroup)
1097
1081
1098
1082
-- Update the main controls
1099
1083
self .controls .groupLabel :SetText (socketGroup .label )
1100
- self .controls .groupSlot :SelByValue (socketGroup .slot , " slotName" )
1101
1084
self .controls .groupEnabled .state = socketGroup .enabled
1102
1085
self .controls .includeInFullDPS .state = socketGroup .includeInFullDPS and socketGroup .enabled
1086
+ self .controls .set1Enabled .state = socketGroup .set1 == nil and true or socketGroup .set1
1087
+ self .controls .set2Enabled .state = socketGroup .set2 == nil and true or socketGroup .set2
1103
1088
self .controls .groupCount :SetText (socketGroup .groupCount or 1 )
1104
1089
1105
1090
-- Update the gem slot controls
@@ -1123,9 +1108,6 @@ function SkillsTabClass:AddSocketGroupTooltip(tooltip, socketGroup)
1123
1108
end
1124
1109
return
1125
1110
end
1126
- if socketGroup .enabled and not socketGroup .slotEnabled then
1127
- tooltip :AddLine (16 , " ^7Note: this group is disabled because it is socketed in the inactive weapon set." )
1128
- end
1129
1111
local sourceSingle = socketGroup .sourceItem or socketGroup .sourceNode
1130
1112
if sourceSingle then
1131
1113
tooltip :AddLine (18 , " ^7Source: " .. colorCodes [sourceSingle .rarity or " NORMAL" ] .. sourceSingle .name )
@@ -1180,7 +1162,7 @@ function SkillsTabClass:AddSocketGroupTooltip(tooltip, socketGroup)
1180
1162
reason = " (Unsupported)"
1181
1163
elseif not gemInstance .enabled then
1182
1164
reason = " (Disabled)"
1183
- elseif not socketGroup .enabled or not socketGroup . slotEnabled then
1165
+ elseif not socketGroup .enabled then
1184
1166
elseif grantedEffect .support then
1185
1167
if displayEffect .superseded then
1186
1168
reason = " (Superseded)"
0 commit comments