Skip to content

Commit fcae41c

Browse files
LocalIdentityLocalIdentity
andauthored
Add 3.28 Tree (#9523)
* Add 3.28 Tree Adds Reliquarian and Saresh Bloodline Saresh Bloodline needs 2 nodes to be supported still * Accuracy node parsing * Follow Through Notable mod changed parsing --------- Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent ec0f20e commit fcae41c

78 files changed

Lines changed: 429023 additions & 50 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

fix_ascendancy_positions.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def __sub__(self, other: Point2D) -> Point2D:
3939
"Trickster": Point2D(10200, -3700),
4040
"Saboteur": Point2D(10200, -2200),
4141
"Ascendant": Point2D(-7800, 7200),
42+
"Reliquarian": Point2D(-7800, 8900),
4243
"Warden": Point2D(8250, 8350),
4344
"Primalist": Point2D(7200, 9400),
4445
"Warlock": Point2D(9300, 7300),
@@ -52,6 +53,7 @@ def __sub__(self, other: Point2D) -> Point2D:
5253
"KingInTheMists": Point2D(3750, 12000),
5354
"Olroth": Point2D(5250, 12000),
5455
"Oshabi": Point2D(6750, 12000),
56+
"Necromantic": Point2D(8250, 12000),
5557
}
5658
EXTRA_NODES = {
5759
"Necromancer": [{"Node": {"name": "Nine Lives", "icon": "Art/2DArt/SkillIcons/passives/Ascendants/Int.png", "isNotable": True, "skill" : 27602},

src/Classes/ImportTab.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ function ImportTabClass:BuildCharacterList(league)
542542
elseif (charClass == "Juggernaut" or charClass == "Berserker" or charClass == "Chieftain" or
543543
charClass == "Antiquarian" or charClass == "Behemoth" or charClass == "Ancestral Commander") then
544544
classColor = colorCodes["MARAUDER"]
545-
elseif (charClass == "Ascendant" or charClass == "Scavenger") then
545+
elseif (charClass == "Ascendant" or charClass == "Reliquarian" or charClass == "Scavenger") then
546546
classColor = colorCodes["SCION"]
547547
end
548548
end

src/Classes/PassiveTree.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -531,9 +531,9 @@ local PassiveTreeClass = newClass("PassiveTree", function(self, treeVersion)
531531
end
532532
else
533533
node.type = "Normal"
534-
if (node.ascendancyName == "Ascendant" and not node.isMultipleChoiceOption and not node.dn:find("Dexterity")
534+
if ((node.ascendancyName == "Ascendant" and not node.isMultipleChoiceOption and not node.dn:find("Dexterity")
535535
and not node.dn:find("Intelligence") and not node.dn:find("Strength") and not node.dn:find("Passive"))
536-
or (node.isMultipleChoiceOption and node.ascendancyName) then
536+
or (node.isMultipleChoiceOption and node.ascendancyName)) and node.ascendancyName ~= "Reliquarian" then
537537
local className = self.ascendNameMap[node.ascendancyName].class.name
538538
self.ascendancyMap[node.dn:lower()] = node
539539
if not self.classNotables[className] then

src/Data/ModCache.lua

Lines changed: 120 additions & 46 deletions
Large diffs are not rendered by default.

src/GameVersions.lua

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ liveTargetVersion = "3_0"
99
---@type string[]
1010
treeVersionList = { "2_6", "3_6", "3_7", "3_8", "3_9", "3_10", "3_11", "3_12", "3_13", "3_14", "3_15", "3_16", "3_17", "3_18", "3_19", "3_20", "3_21",
1111
"3_22_ruthless", "3_22", "3_23_ruthless", "3_23", "3_24_ruthless", "3_24", "3_25_ruthless", "3_25_ruthless_alternate", "3_25_alternate", "3_25",
12-
"3_26_ruthless", "3_26_ruthless_alternate", "3_26_alternate", "3_26", "3_27_ruthless", "3_27_ruthless_alternate", "3_27_alternate", "3_27" }
12+
"3_26_ruthless", "3_26_ruthless_alternate", "3_26_alternate", "3_26", "3_27_ruthless", "3_27_ruthless_alternate", "3_27_alternate", "3_27", "3_28_ruthless", "3_28_ruthless_alternate", "3_28_alternate", "3_28" }
1313
--- Always points to the latest skill tree version.
1414
latestTreeVersion = treeVersionList[#treeVersionList]
1515
---Tree version where multiple skill trees per build were introduced to PoBC.
@@ -192,6 +192,26 @@ treeVersions = {
192192
num = 3.27,
193193
url = "https://www.pathofexile.com/passive-skill-tree/3.27.0/",
194194
},
195+
["3_28_ruthless"] = {
196+
display = "3.28 (ruthless)",
197+
num = 3.28,
198+
url = "https://www.pathofexile.com/passive-skill-tree/ruthless/",
199+
},
200+
["3_28_ruthless_alternate"] = {
201+
display = "3.28 (ruthless alternate)",
202+
num = 3.28,
203+
url = "https://www.pathofexile.com/passive-skill-tree/ruthless-alternate/",
204+
},
205+
["3_28_alternate"] = {
206+
display = "3.28 (alternate)",
207+
num = 3.28,
208+
url = "https://www.pathofexile.com/passive-skill-tree/alternate/",
209+
},
210+
["3_28"] = {
211+
display = "3.28",
212+
num = 3.28,
213+
url = "https://www.pathofexile.com/passive-skill-tree/3.28.0/",
214+
},
195215
}
196216

197217
---Mapping PoEPlanner.com version when importing trees from there (https://cdn.poeplanner.com/json/versions.json)

src/Modules/ModParser.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1462,6 +1462,7 @@ local modTagList = {
14621462
["per raised spectre"] = { tag = { type = "PerStat", stat = "ActiveSpectreLimit" } },
14631463
["per spectre you own"] = { tag = { type = "PerStat", stat = "ActiveSpectreLimit", actor = "parent" } },
14641464
["for each remaining chain"] = { tag = { type = "PerStat", stat = "ChainRemaining" } },
1465+
["for each remaining chain, up to (%d+)%%"] = function(limit) return { tag = { type = "PerStat", stat = "ChainRemaining", globalLimit = tonumber(limit), globalLimitKey = "FollowThrough" } } end,
14651466
["for each enemy pierced"] = { tag = { type = "PerStat", stat = "PiercedCount" } },
14661467
["for each time they've pierced"] = { tag = { type = "PerStat", stat = "PiercedCount" } },
14671468
-- Stat conditions
@@ -1487,6 +1488,7 @@ local modTagList = {
14871488
["while affected by a rare abyss jewel"] = { tag = { type = "MultiplierThreshold", var = "RareAbyssJewels", threshold = 1 } },
14881489
["while affected by a magic abyss jewel"] = { tag = { type = "MultiplierThreshold", var = "MagicAbyssJewels", threshold = 1 } },
14891490
["while affected by a normal abyss jewel"] = { tag = { type = "MultiplierThreshold", var = "NormalAbyssJewels", threshold = 1 } },
1491+
["while you have at least (%d+) nearby all[yi]e?s?"] = function(num) return { tag = { type = "MultiplierThreshold", var = "NearbyAlly", threshold = num } } end,
14901492
-- Slot conditions
14911493
["when in main hand"] = { tag = { type = "SlotNumber", num = 1 } },
14921494
["whi?l?en? in off hand"] = { tag = { type = "SlotNumber", num = 2 } },
415 KB
Loading

src/TreeData/3_28/background-3.png

7.12 KB
Loading

src/TreeData/3_28/bloodline-3.webp

457 KB
Loading

src/TreeData/3_28/frame-3.png

154 KB
Loading

0 commit comments

Comments
 (0)