Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add 3.17 skill tree (with support for new skillsPerOrbit values) #3972

Merged

Conversation

dbjorge
Copy link
Contributor

@dbjorge dbjorge commented Jan 28, 2022

Builds on @ppoelzl 's #3971 with an update to support the new skillsPerOrbit value that was causing visual issues. Submitting as a combined PR instead of separating the orbit angle updates into a standalone PR so they can be tested against the new tree more easily, per @Wires77 request

Uses tree data to source info about orbit angles/radii rather than hard-coding them (but includes a fallback to account for the 2_6 tree data not including the necessary constants). Thanks @Regisle for pointing out that the tree data included this!

I implemented a version of this that calculated the special cases at 16 and 40 by assuming cases >= 8 would want the 45 degree marks, but it ended up feeling significantly less readable than just hardcoding those cases. Our best "spec" for the behavior from GGG is a hardcoded table rather than a formula, anyway.

Steps taken to verify a working solution:

  • Loaded a 3.16 build, verified that it loaded successfully and tree renders reasonably
  • Migrated it to 3.17 tree, verified that tree still renders reasonably and contains expected new data (spot checked Perfect Technique)

Link to a build that showcases this PR:

Convert any of the in-tree test builds

Before screenshot:

n/a

After screenshot:

3.16 tree still rendering successfully:

image

Converted to 3.17 tree:

image

@@ -381,14 +361,6 @@ local PassiveTreeClass = newClass("PassiveTree", function(self, treeVersion)
if node.isAscendancyStart then
group.isAscendancyStart = true
end
if node.o ~= 4 then
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think this is safe to remove since self:ProcessNode gets called a few lines down anyway and will do the same calculation

@Nostrademous Nostrademous added the enhancement New feature, calculation, or mod label Jan 28, 2022
@LocalIdentity LocalIdentity merged commit b8efa6a into PathOfBuildingCommunity:dev Jan 28, 2022
@Guitaraholic
Copy link

image

Seems to ignore the radius changes on large cluster jewels so do we need a different calculation on these?

@dbjorge
Copy link
Contributor Author

dbjorge commented Jan 29, 2022

@Guitaraholic see #3982

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.

5 participants