@@ -558,6 +558,12 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
558
558
end
559
559
end
560
560
561
+ -- calculate inc from SmallPassiveSkillEffect
562
+ local incSmallPassiveSkillEffect = 0
563
+ for _ , node in pairs (spec .allocNodes ) do
564
+ incSmallPassiveSkillEffect = incSmallPassiveSkillEffect + node .modList :Sum (" INC" , nil ," SmallPassiveSkillEffect" )
565
+ end
566
+
561
567
-- Draw the nodes
562
568
for nodeId , node in pairs (spec .nodes ) do
563
569
-- Determine the base and overlay images for this node based on type and state
@@ -820,7 +826,7 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
820
826
SetDrawLayer (nil , 100 )
821
827
local size = m_floor (node .size * scale )
822
828
if self .tooltip :CheckForUpdate (node , self .showStatDifferences , self .tracePath , launch .devModeAlt , build .outputRevision ) then
823
- self :AddNodeTooltip (self .tooltip , node , build )
829
+ self :AddNodeTooltip (self .tooltip , node , build , incSmallPassiveSkillEffect )
824
830
end
825
831
self .tooltip :Draw (m_floor (scrX - size ), m_floor (scrY - size ), size * 2 , size * 2 , viewPort )
826
832
end
@@ -1083,7 +1089,7 @@ function PassiveTreeViewClass:AddNodeName(tooltip, node, build)
1083
1089
end
1084
1090
end
1085
1091
1086
- function PassiveTreeViewClass :AddNodeTooltip (tooltip , node , build )
1092
+ function PassiveTreeViewClass :AddNodeTooltip (tooltip , node , build , incSmallPassiveSkillEffect )
1087
1093
-- Special case for sockets
1088
1094
if node .type == " Socket" and node .alloc then
1089
1095
local socket , jewel = build .itemsTab :GetSocketAndJewelForNodeID (node .id )
@@ -1146,6 +1152,25 @@ function PassiveTreeViewClass:AddNodeTooltip(tooltip, node, build)
1146
1152
line = line .. " " .. modStr
1147
1153
end
1148
1154
end
1155
+
1156
+ -- Apply Inc Node scaling from Hulking Form only visually
1157
+ if incSmallPassiveSkillEffect > 0 and node .type == " Normal" and not node .isAttribute and not node .ascendancyName and node .mods [i ].list then
1158
+ local scale = 1 + incSmallPassiveSkillEffect / 100
1159
+ local scaledList = new (" ModList" )
1160
+ scaledList :ScaleAddList (node .mods [i ].list , scale )
1161
+ local number = line :match (" %d*%.?%d+" )
1162
+ for j , mod in ipairs (scaledList ) do
1163
+ local newValue = 0
1164
+ if type (mod .value ) == " number" then
1165
+ newValue = mod .value
1166
+ elseif type (mod .value ) == " table" then
1167
+ newValue = mod .value .mod .value
1168
+ end
1169
+ line = line :gsub (" %d*%.?%d+" ,math.abs (newValue ))
1170
+ end
1171
+ -- line = line .. " ^8(Effect increased by "..incSmallPassiveSkillEffect.."%)"
1172
+ end
1173
+
1149
1174
tooltip :AddLine (16 , ((node .mods [i ].extra or not node .mods [i ].list ) and colorCodes .UNSUPPORTED or colorCodes .MAGIC ).. line )
1150
1175
end
1151
1176
end
0 commit comments