Fixes to enchantment armor with mutations #55328
Merged
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
Bugfixes "Further fixes to enchantment armor with mutations"
Purpose of change
Some mutations were still failing to apply their effects when worn with the enchantment system. An example that works are the traits from my #53567 which just give a simple "weight_capacity_modifier": 1.1. This shouldn't be the case, all mutations should apply.
Describe the solution
It seems that traits like this are queried through the cached_mutations vector in a pretty convoluted call stack. To the place I migrated stuff for safety in #54852 I've also added a call to update the cached_mutation character vector identically to how it is when gaining/losing a mutation normally.
Describe alternatives you've considered
Testing
I tested with this + my nomad stuff from #53567.
and add to an armor
Additional context
I don't think this can possibly break anything but I don't fully understand all of the mutation system under the hood.