Apply negative stat modifiers in player::suffer #28240
Closed
+6
−0
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
SUMMARY: Bugfixes "Applies stat penalties from power overload and solar sensitivity"
Purpose of change
The player::suffer function applies stat modifiers for a few effects but does not update the current stat variables. This causes the modifiers to not be used by anything.
Fixes #18147 - Power overload str penalty not showing up
Describe the solution
Updates the current stat variables after applying all suffer effects.
Describe alternatives you've considered
Considered only updating the stat variables after applying any individual stat change, but that would be a lot of code duplication.
Additional context
This save includes a character with the Power Overload bionic and the solar sensitivity line of mutations. Loading the save and waiting one turn before and after this fix should clearly demonstrate the fix on the stat panel.
TestTown.zip