From 6a0860dc64a98c7f2c77ad8a3bb019ff0be90bb4 Mon Sep 17 00:00:00 2001 From: Blitz54 Date: Sat, 7 Mar 2026 00:35:56 -0600 Subject: [PATCH 1/2] Show flavour text on ascendancy and bloodlines --- src/Classes/PassiveTree.lua | 8 ++++++-- src/Classes/PassiveTreeView.lua | 36 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/Classes/PassiveTree.lua b/src/Classes/PassiveTree.lua index 600dcc7e9a..6ea7da09a0 100644 --- a/src/Classes/PassiveTree.lua +++ b/src/Classes/PassiveTree.lua @@ -117,7 +117,9 @@ local PassiveTreeClass = newClass("PassiveTree", function(self, treeVersion) classId = classId, class = class, ascendClassId = ascendClassId, - ascendClass = ascendClass + ascendClass = ascendClass, + flavourText = ascendClass.flavourText, + flavourTextRect = ascendClass.flavourTextRect, } end end @@ -179,7 +181,9 @@ local PassiveTreeClass = newClass("PassiveTree", function(self, treeVersion) classId = "alternate_ascendancies", class = alternate_ascendancies_class, ascendClassId = ascendClassId, - ascendClass = ascendClass + ascendClass = ascendClass, + flavourText = ascendClass.flavourText, + flavourTextRect = ascendClass.flavourTextRect, } self.secondaryAscendNameMap[ascendClass.id] = self.ascendNameMap[ascendClass.id] end diff --git a/src/Classes/PassiveTreeView.lua b/src/Classes/PassiveTreeView.lua index 77c9f21fc3..afb18e2549 100644 --- a/src/Classes/PassiveTreeView.lua +++ b/src/Classes/PassiveTreeView.lua @@ -464,6 +464,42 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents) SetDrawColor(1, 1, 1, 0.25) end self:DrawAsset(tree.assets["Classes"..group.ascendancyName], scrX, scrY, scale) + + local ascendancyData + local isAlternateAscendancy = false + -- Search normal ascendancies + for _, class in ipairs(tree.classes) do + for _, ascendancy in ipairs(class.ascendancies) do + if ascendancy.id == group.ascendancyName then + ascendancyData = ascendancy + break + end + end + if ascendancyData then break end + end + + -- Search alternate ascendancies if not found + if not ascendancyData and tree.alternate_ascendancies then + for _, ascendancy in pairs(tree.alternate_ascendancies) do + if ascendancy.id == group.ascendancyName then + ascendancyData = ascendancy + isAlternateAscendancy = true + break + end + end + end + if ascendancyData and ascendancyData.flavourTextRect then + local rect = ascendancyData.flavourTextRect + local textColor = "^x" .. ascendancyData.flavourTextColour + + -- Normal ascendancy images are 1300x1300, bloodline appears to be 1488x1412 + local offsetX = rect.x - (isAlternateAscendancy and 744 or 650) + local offsetY = rect.y - (isAlternateAscendancy and 706 or 650) + + local textX, textY = treeToScreen(group.x + offsetX, group.y + offsetY) + + DrawString(textX, textY, "LEFT", 52 * scale, "FONTIN ITALIC", textColor .. ascendancyData.flavourText) + end SetDrawColor(1, 1, 1) end elseif group.oo[3] then From 32ada3bb60c703d9423e39f291ba60b291ce49a0 Mon Sep 17 00:00:00 2001 From: Blitz54 Date: Sat, 7 Mar 2026 01:00:52 -0600 Subject: [PATCH 2/2] Small check for old trees, before 3.10 were different --- src/Classes/PassiveTreeView.lua | 56 ++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/src/Classes/PassiveTreeView.lua b/src/Classes/PassiveTreeView.lua index afb18e2549..4ff3151c1c 100644 --- a/src/Classes/PassiveTreeView.lua +++ b/src/Classes/PassiveTreeView.lua @@ -465,40 +465,44 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents) end self:DrawAsset(tree.assets["Classes"..group.ascendancyName], scrX, scrY, scale) - local ascendancyData - local isAlternateAscendancy = false - -- Search normal ascendancies - for _, class in ipairs(tree.classes) do - for _, ascendancy in ipairs(class.ascendancies) do - if ascendancy.id == group.ascendancyName then - ascendancyData = ascendancy - break + if tree.classes[1].ascendancies then + local ascendancyData + local isAlternateAscendancy = false + -- Search normal ascendancies + for _, class in ipairs(tree.classes) do + for _, ascendancy in ipairs(class.ascendancies) do + if ascendancy.id == group.ascendancyName then + ascendancyData = ascendancy + break + end end + if ascendancyData then break end end - if ascendancyData then break end - end - -- Search alternate ascendancies if not found - if not ascendancyData and tree.alternate_ascendancies then - for _, ascendancy in pairs(tree.alternate_ascendancies) do - if ascendancy.id == group.ascendancyName then - ascendancyData = ascendancy - isAlternateAscendancy = true - break + -- Search alternate ascendancies if not found + if not ascendancyData and tree.alternate_ascendancies then + for _, ascendancy in pairs(tree.alternate_ascendancies) do + if ascendancy.id == group.ascendancyName then + ascendancyData = ascendancy + isAlternateAscendancy = true + break + end end end - end - if ascendancyData and ascendancyData.flavourTextRect then - local rect = ascendancyData.flavourTextRect - local textColor = "^x" .. ascendancyData.flavourTextColour + if ascendancyData and ascendancyData.flavourTextRect then + local rect = ascendancyData.flavourTextRect + local textColor = "^x" .. ascendancyData.flavourTextColour - -- Normal ascendancy images are 1300x1300, bloodline appears to be 1488x1412 - local offsetX = rect.x - (isAlternateAscendancy and 744 or 650) - local offsetY = rect.y - (isAlternateAscendancy and 706 or 650) + -- Normal ascendancy images are 1300x1300, bloodline appears to be 1488x1412 + local offsetX = rect.x - (isAlternateAscendancy and 744 or 650) + local offsetY = rect.y - (isAlternateAscendancy and 706 or 650) - local textX, textY = treeToScreen(group.x + offsetX, group.y + offsetY) + local textX, textY = treeToScreen(group.x + offsetX, group.y + offsetY) - DrawString(textX, textY, "LEFT", 52 * scale, "FONTIN ITALIC", textColor .. ascendancyData.flavourText) + DrawString(textX, textY, "LEFT", 52 * scale, "FONTIN ITALIC", textColor .. ascendancyData.flavourText) + end + else + ConPrintTable(tree.classes) end SetDrawColor(1, 1, 1) end