Skip to content

Commit d62414c

Browse files
author
justjuangui
committed
Fix Passive Nodes hover display when Hulking form is allocate
1 parent 2982901 commit d62414c

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

src/Classes/PassiveTreeView.lua

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,12 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
558558
end
559559
end
560560

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+
561567
-- Draw the nodes
562568
for nodeId, node in pairs(spec.nodes) do
563569
-- Determine the base and overlay images for this node based on type and state
@@ -820,7 +826,7 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
820826
SetDrawLayer(nil, 100)
821827
local size = m_floor(node.size * scale)
822828
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)
824830
end
825831
self.tooltip:Draw(m_floor(scrX - size), m_floor(scrY - size), size * 2, size * 2, viewPort)
826832
end
@@ -1083,7 +1089,7 @@ function PassiveTreeViewClass:AddNodeName(tooltip, node, build)
10831089
end
10841090
end
10851091

1086-
function PassiveTreeViewClass:AddNodeTooltip(tooltip, node, build)
1092+
function PassiveTreeViewClass:AddNodeTooltip(tooltip, node, build, incSmallPassiveSkillEffect)
10871093
-- Special case for sockets
10881094
if node.type == "Socket" and node.alloc then
10891095
local socket, jewel = build.itemsTab:GetSocketAndJewelForNodeID(node.id)
@@ -1146,6 +1152,25 @@ function PassiveTreeViewClass:AddNodeTooltip(tooltip, node, build)
11461152
line = line .. " " .. modStr
11471153
end
11481154
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+
11491174
tooltip:AddLine(16, ((node.mods[i].extra or not node.mods[i].list) and colorCodes.UNSUPPORTED or colorCodes.MAGIC)..line)
11501175
end
11511176
end

0 commit comments

Comments
 (0)