Skip to content

Commit 5883e44

Browse files
authored
list all tattoos on tattoo count in Add Modifier to Node popup (#9720)
1 parent 7f95d44 commit 5883e44

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

src/Classes/TreeTab.lua

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -907,8 +907,8 @@ function TreeTabClass:ModifyNodePopup(selectedNode)
907907
end
908908

909909
buildMods(selectedNode)
910-
controls.modSelectLabel = new("LabelControl", {"TOPRIGHT",nil,"TOPLEFT"}, {150, 25, 0, 16}, "^7Modifier:")
911-
controls.modSelect = new("DropDownControl", {"TOPLEFT",nil,"TOPLEFT"}, {155, 25, 250, 18}, modGroups, function(idx) constructUI(modGroups[idx]) end)
910+
controls.modSelectLabel = new("LabelControl", {"TOPRIGHT",nil,"TOPLEFT"}, {170, 25, 0, 16}, "^7Modifier:")
911+
controls.modSelect = new("DropDownControl", {"TOPLEFT",nil,"TOPLEFT"}, {175, 25, 250, 18}, modGroups, function(idx) constructUI(modGroups[idx]) end)
912912
controls.modSelect.selIndex = self.defaultTattoo[nodeName] or 1
913913
controls.modSelect.tooltipFunc = function(tooltip, mode, index, value)
914914
tooltip:Clear()
@@ -938,24 +938,46 @@ function TreeTabClass:ModifyNodePopup(selectedNode)
938938
main:ClosePopup()
939939
end)
940940

941-
local function getTattooCount()
941+
local function getTattooCount(tooltip)
942+
if tooltip then
943+
tooltip:Clear()
944+
end
942945
local count = 0
946+
local tattooSdMap = { }
947+
943948
for _, node in pairs(self.build.spec.hashOverrides) do
944949
if node.isTattoo and not node.dn:find("Runegraft") then
950+
if tooltip then
951+
local combined = ""
952+
for _, line in ipairs(node.sd) do
953+
if not (line:match("Limited") or line:match("Requires")) then -- clean up some legacy tattoo lines
954+
combined = combined.." "..line
955+
end
956+
end
957+
if tattooSdMap[combined] then
958+
tattooSdMap[combined] = tattooSdMap[combined] + 1
959+
else
960+
tattooSdMap[combined] = 1
961+
end
962+
end
945963
count = count + 1
946964
end
947965
end
966+
for line, mult in pairs(tattooSdMap) do
967+
tooltip:AddLine(16, colorCodes.COLD.."("..mult..") ^7"..line)
968+
end
948969
if count > 50 then
949970
count = colorCodes.NEGATIVE..count
950971
end
951972
return count
952973
end
953-
controls.totalTattoos = new("LabelControl", nil, { 0, 95, 0, 16 }, "^7Tattoo Count: ".. getTattooCount() .."/50" )
974+
controls.totalTattoos = new("ButtonControl", nil, { 0, 95, 145, 20 }, "^7Tattoo Count: ".. getTattooCount() .."/50", function() return end)
975+
controls.totalTattoos.tooltipFunc = function(tooltip, mode, index, value) getTattooCount(tooltip) end
954976
main:OpenPopup(600, 105, "Replace Modifier of Node", controls, "save")
955977
constructUI(modGroups[self.defaultTattoo[nodeName] or 1])
956978

957979
-- Show Legacy Tattoos
958-
controls.showLegacyTattoo = new("CheckBoxControl", { "LEFT", controls.totalTattoos, "RIGHT" }, { 205, 0, 20 }, "Show Legacy Tattoos:", function(state)
980+
controls.showLegacyTattoo = new("CheckBoxControl", { "LEFT", controls.totalTattoos, "RIGHT" }, { 195, 0, 20 }, "Show Legacy Tattoos:", function(state)
959981
self.showLegacyTattoo = state
960982
buildMods(selectedNode)
961983
end)

0 commit comments

Comments
 (0)