make some enchantments work better with percentage #72589
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
None
Purpose of change
While making test suite for enchantment, i found a pretty interesting issue: applying enchantment, that gives you +4 BONUS_DODGE (default dodge amount is 1), and then gives -50% to your bonus dodge result not in 2.5 (rounds down to 2) dodges, but 4. It happens because some enchantments (specifically STR, INT, DEX, PER, BONUS_DODGE and BONUS_BLOCK) use multiplier on the base stat. What does it mean is that if we have
add +4, multiply -0.5
, our formula would be(1 * 0.5) + 4
. While it is a valid approach, it means player would be penalized much less from negative mutations, if they will try to use negative multiplierDescribe the solution
Change the code, so formula would be
(1 + 4) * 0.5
- it *will* cause positive multipliers give more benefit, but also make negative multipliers actually meaningful punishmentDescribe alternatives you've considered
Not doing it
Testing
Compiled the game, spawned different stat increasing mutations, didn't spot obvious issues