@@ -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