Skip to content

Add support for 0.5 JSON skill tree#1984

Merged
LocalIdentity merged 19 commits into
PathOfBuildingCommunity:devfrom
justjuangui:feat/passivetree
May 28, 2026
Merged

Add support for 0.5 JSON skill tree#1984
LocalIdentity merged 19 commits into
PathOfBuildingCommunity:devfrom
justjuangui:feat/passivetree

Conversation

@justjuangui

@justjuangui justjuangui commented May 27, 2026

Copy link
Copy Markdown
Contributor
image image image image image

@LocalIdentity LocalIdentity added the enhancement New feature, calculation, or mod label May 27, 2026
Comment thread src/Export/Scripts/passivetree_ggg.lua Outdated
Comment on lines +18 to +35
local multiplier = 10 ^ decimal_places
return math.floor(num * multiplier + 0.5) / multiplier
end

local function arcDirection(fromNode, toNode, edge)
-- vectors from arc center to each node
local v1x = fromNode.x - edge.orbitX
local v1y = fromNode.y - edge.orbitY
local v2x = toNode.x - edge.orbitX
local v2y = toNode.y - edge.orbitY

-- signed angle from v1 to v2, in (-pi, pi]
local dot = v1x * v2x + v1y * v2y
local cross = v1x * v2y - v1y * v2x
local angle = math.atan2(cross, dot)

return cross > 0 and -1 or 1
end

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's some space-indentation here. Could be more, I've not checked the whole file.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@justjuangui

Copy link
Copy Markdown
Contributor Author

Abyssal Lich
image
image

Comment thread src/Export/Scripts/passivetree_ggg.lua Outdated
end
end
-- build orbits info
-- spell-checker: disable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've updated cspell to ignore *orbit_intermediateactive* so this and the other tag can go.

LocalIdentity added 7 commits May 29, 2026 04:01
Export ModCache
Fix crash with class Ids
Fix unarmed data for Ids
Old builds from 0.1 to 0.3 used the wrong id for the character class and opening them now would convert them to the wrong class. This maps the old builds so they now open correctly
Was using the wrong name from a previous commit
Uses the tree data folder to look for the ggg assets and json files
Fixes the tree file changing each time on export due to pairs usage
Now runs in 0.1s instead of 8s
@LocalIdentity LocalIdentity changed the title Enable data.json parser script for passive tree Add support for 0.5 JSON skill tree May 28, 2026
@LocalIdentity LocalIdentity merged commit eca470e into PathOfBuildingCommunity:dev May 28, 2026
2 of 3 checks passed
@justjuangui justjuangui deleted the feat/passivetree branch May 28, 2026 20:32
jay9297 added a commit to jay9297/PathOfBuilding-PoE2 that referenced this pull request May 29, 2026
* Chore:  Bump action version numbers (PathOfBuildingCommunity#1993)

* Add support for Legacy Grand Spectrum mods (PathOfBuildingCommunity#1994)

Some old mods don't require the socketed in text

Co-authored-by: LocalIdentity <localidentity2@gmail.com>

* Add support for Ancestral Empowerment, Ancestral Call, Crescendo II and III, Infernal Cry, and "Ancestrally Boosted Attacks" passive nodes (PathOfBuildingCommunity#1839)

* add support for Ancestral Call, Crescendo II and III, ancestral boost tree nodes

* fix ancestral call inc dmg from tree

* big ole refactor so we stop duplicating code
one commit so I can revert if it goes boom

* added test
update CalcSection from "Exerted Warcries" to "Ancestral Boosts"

* add data map for gemName given a modSource

* boosted attacks configOption

* add support for Ancestral Empowerment, including combining Ancestral Empowerment with Fist of War
fix Fist of War/ancestrally boosted slams more AOE to inc AOE
add test for Combined logic for Ancestral Empowerment and Fist of War

* comment spelling

* better label

* fix avg aoe from fist of war

* forgot AOE portion for Crescendo III

* add support for Infernal Cry's empowered buff

* refactor away from specific baseMod for FistOfWar
fix Ancestral Empowerment not getting the double from fist of war III

* empowered condition for all Ancestrally Boosted

* ancestralBoostEffect

* multiplier instead

* pr comments
also refactored Crescendo III to use the new logic instead of an extra isolated block of logic by introducing a way to conditionally max uptime for Boosted or Empowered attacks

* Fix issues

Move the Infernal Cry buff to calc offence so it doesn't rely on stale calc output
Fix Ancestral Empowerment uptime calculation
Move gain table so Infernal Cry still works

* Fix spelling

---------

Co-authored-by: LocalIdentity <localidentity2@gmail.com>

* Add support for 0.5 JSON skill tree (PathOfBuildingCommunity#1984)

* Passive tree parser from ggg web data

* enhanced escapeGGGString

* Fix ascendancy unlock constraint check in node search parameters

* Refactor DrawQuadAndRotate to handle different data lengths for vertex calculations

* Add node overlay for Blighted Notable Frames in passive tree

* Fix typos and improve comments in passive tree script

* Fix typos in ascendancy handling and update inner radius calculations in passive tree script

* Refactor passive tree node replacement logic and add switchable options for Druid nodes

* Add support for alias notable maps and enhance jewel socket handling

- Enhanced passivetree_ggg.lua to support aliasNotableMap for jewel sockets.

* Rename aliasNotableMap to aliasPassiveSocket for clarity in passive tree data

* Enhance jewel socket handling by adding noRadius property and updating related logic in passive tree

* Enable Abyssal Lich parser

* Fix tests

Export ModCache
Fix crash with class Ids
Fix unarmed data for Ids

* Add legacy class ID remap

Old builds from 0.1 to 0.3 used the wrong id for the character class and opening them now would convert them to the wrong class. This maps the old builds so they now open correctly

* Formatting + typos

* AliasPassiveSocket fix

Was using the wrong name from a previous commit

* Export fixes

Uses the tree data folder to look for the ggg assets and json files
Fixes the tree file changing each time on export due to pairs usage

* Use copy file command to speed up export

Now runs in 0.1s instead of 8s

---------

Co-authored-by: justjuangui <servicios@juacarvajal.com>
Co-authored-by: LocalIdentity <localidentity2@gmail.com>

* Remove aliasPassiveSocket temp code

* Fix Hollow Palm Technique parsing and add Spectral Ward support

- Make 'rating' optional in evasion suffix patterns (r?a?t?i?n?g?)
- Remove dead-code keystone pattern with wrong parameter order
- Add bounds check for hollowPalmAddedPhys table (levels 1-40)
- Add descriptive line patterns for Hollow Palm Technique node
- Add Spectral Ward pattern for 'per X item evasion on equipped body armour'
- Update ModCache entries for all affected patterns

---------

Co-authored-by: Nighty <Nightblade@users.noreply.github.com>
Co-authored-by: LocalIdentity <31035929+LocalIdentity@users.noreply.github.com>
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
Co-authored-by: Peechey <92683202+Peechey@users.noreply.github.com>
Co-authored-by: Juangui <80857657+justjuangui@users.noreply.github.com>
Co-authored-by: justjuangui <servicios@juacarvajal.com>
Co-authored-by: jay9297 <jay9297@users.noreply.github.com>
bct8925 pushed a commit to bct8925/PathOfBuilding-PoE2 that referenced this pull request Jun 19, 2026
* Passive tree parser from ggg web data

* enhanced escapeGGGString

* Fix ascendancy unlock constraint check in node search parameters

* Refactor DrawQuadAndRotate to handle different data lengths for vertex calculations

* Add node overlay for Blighted Notable Frames in passive tree

* Fix typos and improve comments in passive tree script

* Fix typos in ascendancy handling and update inner radius calculations in passive tree script

* Refactor passive tree node replacement logic and add switchable options for Druid nodes

* Add support for alias notable maps and enhance jewel socket handling

- Enhanced passivetree_ggg.lua to support aliasNotableMap for jewel sockets.

* Rename aliasNotableMap to aliasPassiveSocket for clarity in passive tree data

* Enhance jewel socket handling by adding noRadius property and updating related logic in passive tree

* Enable Abyssal Lich parser

* Fix tests

Export ModCache
Fix crash with class Ids
Fix unarmed data for Ids

* Add legacy class ID remap

Old builds from 0.1 to 0.3 used the wrong id for the character class and opening them now would convert them to the wrong class. This maps the old builds so they now open correctly

* Formatting + typos

* AliasPassiveSocket fix

Was using the wrong name from a previous commit

* Export fixes

Uses the tree data folder to look for the ggg assets and json files
Fixes the tree file changing each time on export due to pairs usage

* Use copy file command to speed up export

Now runs in 0.1s instead of 8s

---------

Co-authored-by: justjuangui <servicios@juacarvajal.com>
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants