Thread of Hope all-rings planning toggle#9835
Open
EtherealCarnivore wants to merge 2 commits intoPathOfBuildingCommunity:devfrom
Open
Thread of Hope all-rings planning toggle#9835EtherealCarnivore wants to merge 2 commits intoPathOfBuildingCommunity:devfrom
EtherealCarnivore wants to merge 2 commits intoPathOfBuildingCommunity:devfrom
Conversation
60c8a7f to
3154153
Compare
3154153 to
2e23485
Compare
Adds a tree-view toggle (T) that draws all five Variable jewel rings around each allocated Thread of Hope socket and tints nodes by the ring they sit in, so a planner can see where every possible roll would land before settling on a radius. - Spec dependency/path math respects the toggle for Variable jewels - Massive radius recoloured from dark green to gold so all five rings stay visually distinct alongside the teal Medium ring - First-time top-left hint surfaces the T hotkey and self-dismisses on first press (persisted via main.toHHintDismissed in Misc) - Jewel tooltip gains a display-only Tip line for Variable radius; not added to rawLines, so import/export are unaffected
2e23485 to
a61e723
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Adds a single tree-view hotkey for Thread of Hope planning:
Ttoggles "show all 5 rings" mode for any allocated Thread of Hope socket.While the mode is on, ToH is treated as if every Variable ring were equipped, so nodes inside any of the five rings become allocatable via the existing intuitive-leap mechanic, regardless of the variant the player actually picked. Nodes are also tinted by the colour of the ring they sit in, matching how the in-game jewel highlights its affected passives.
State is session-only (not saved to build XML), so loading a saved build never lands you in a mystery "all rings" state.
Discoverability
The hotkey is surfaced in two places:
T. The first press dismisses the hint forever (persisted onmain.toHHintDismissedalongside the otherMiscsettings inSettings.xml).Tip: Press T...line directly underRadius: Variable. This line is added viatooltip:AddLineand is never written toitem.rawLines, so import/export and build-share codes are unaffected.How it works
A new
PassiveSpec:GetEffectiveRadiusIndices(item)helper reads the override frombuild.treeTab.viewer.toHRingModeand returns either:{ item.jewelRadiusIndex }by default (unchanged behaviour){ 6, 7, 8, 9, 10 }(the five Variable ring indices) when the toggle is on for a Variable-radius jewelAll four call sites that previously used
item.jewelRadiusIndexdirectly now route through this helper:BuildAllDependsAndPaths, populatingintuitiveLeapLikesAffectingBuildAllDependsAndPaths, orphan-pruning check (the load-bearing fix; without it, freshly-allocated leap nodes were getting deallocated by the same pass that allocated them when the override didn't match the variant)NodesInIntuitiveLeapLikeRadiusPassiveTreeViewring renderingThe override only kicks in when
item.jewelRadiusLabel == "Variable", so other radius-using uniques (Impossible Escape, etc.) are unaffected.Visual changes
^x0B9300) to gold (^xFFD700). With all five Variable rings drawn at once, the Medium ring's teal (^x66FFCC) and the old Massive's dark green were both reading as shades of green and were hard to tell apart. Gold keeps all five rings clearly distinguishable. The same colour is shared by the regular Massive Cluster Jewel radius since both come fromdata.jewelRadii. Happy to revert to the original palette if preferred.spec.jewelsbuilds anodeId -> ring colourmap when the toggle is on, and the existing overlay-tinting block applies it as a fallback when no hover-based tint is active.Changes
src/Classes/PassiveSpec.lua:GetEffectiveRadiusIndiceshelper; the 3 call sites now route through itsrc/Classes/PassiveTreeView.lua:Tkeybind, ring drawing + node tinting when the toggle is on, first-time hintsrc/Classes/ItemsTab.lua: Variable-radius tooltip hint line (display-only)src/Modules/Main.lua:main.toHHintDismissedload/save in theMiscelementsrc/Modules/Data.lua: Massive radius colour swapSteps taken to verify
Ttoggles all 5 rings on a build with a Variable Thread of Hope; clicking unconnected nodes inside any ring allocates them as a leap-jump (1 point) regardless of the actual variantTagain hides the rings and reverts dependency calcs to the variant-only radiusTpress; stays dismissed across PoB restartsRadius: Variable, and the export build code does not contain it