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.
This function is duplicate logic of the
CalcPlrItemVals()
logic for staves, which creates the potential for bugs.CalcPlrInv()
:CalcPlrItemVals()
iterates each equipped item, and accumulates the spell from each item, then writes the bitmask to the Player struct variable that holds staff spells.CalcPlrStaff
is then called if player ismyPlayer
, and checks the left hand specifically with some conditions to see if it should add the spell from the staff to the Player struct variable.CalcPlrStaff()
is also utilized to check if the player should continue having the staff spell after consuming a charge. This PR bypasses the need for that by directly callingCalcPlrInv()
when consuming a charge, so we consistently callCalcPlrInv()
any time there is an update in any form to the player's equipped items. This also keeps the logic in one place to avoid discrepancies.