Fix weapon set branch path allocation#1904
Open
unrealdreamz wants to merge 1 commit into
Open
Conversation
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.
Summary
Prevent normal passive allocation from continuing through weapon-set-only branches.
Fixes #1532
Root Cause
Passive path construction treats every allocated node as a path root without remembering which root produced a candidate path. That means a node at the end of a weapon-set branch can become the closest root for the next unallocated passive. When allocation mode is switched back to normal,
AllocNodeonly checks that a path exists, so it can allocate a normal passive from a weapon-set-only branch.Fix
pathRoot.pathRootwhenever paths are rebuilt, alongsidepath/pathDist.Validation
Local validation run:
I did not run Docker/Busted locally because the available full test runner is container-based and I was avoiding external test containers/windows during this session.
Risk / Rollback
Risk is localized to passive allocation/path bookkeeping. The guard applies only while normal allocation mode is selected; weapon-set mode continues to use the existing path behavior. Rollback is the single commit if an unexpected valid normal-path edge case appears.