Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(balance): dial back nerf to skill impact on butchery a bit #4136

Merged
merged 1 commit into from
Jan 20, 2024

Conversation

chaosvolt
Copy link
Member

Purpose of change

So, a lot of feedback has come in suggesting that #3719 undervalued the impact of skills on butchery and dissection yields. A lot of this is ultimately because dissection isn't as granular as it could probably afford to be, so going so far as to break up, for example, the electronics skill being divided by 4 means it takes several levels for it to kick in and actually bump up your success result by any amount at all.

Describe the solution

  1. In activity_handlers.cpp, changed activity_handlers::butcher_finish so that the baseline definition of skill_level is back to using survival skill directly instead of cutting it in half (so result is a clean 0-10 instead of randomized 0-7).
  2. Furthermore, made both skills being checked for when dissecting grant 1 every 2 points instead of devaluing electronics so heavily, and made it so the impact of tool quality is increased by 1.25x.

Success rates with the following tool qualities:

Fine Cutting 0/0 skills 3/3 skills 5/5 skills 10/10 skills
1 10% 20% -> 30% 40% -> 50% 80% -> 100%
2 20% 30% -> 40% 50% -> 60% 90% -> 100%
3 30% 40% -> 50% 60% -> 70% 100%
5 50% 60% -> 70% 80% -> 90% 100%

Fine cutting level 4 not implemented in vanilla, so omitted. Tested with average dexterity to avoid the weird RNG impact it adds. Goal here was setting it so you get reliably high success rate with a scalpel when both your skills hit level 5, while having the surgical CBM lets you reach perfection with only 3 in both skills.

Describe alternatives you've considered

Making the roll more granular would be nice but that'd require all of the processing involving roll_butchery and the functions that use them to deal in float instead of int.

Testing

  1. Compiled and load-tested.
  2. Tested dissecting a bunch of stuff in debug mode to get the above table.
  3. Checked affected file for astyle.

Additional context

Checklist

@github-actions github-actions bot added the src changes related to source code. label Jan 20, 2024
@scarf005 scarf005 self-requested a review January 20, 2024 06:43
@scarf005 scarf005 self-assigned this Jan 20, 2024
@scarf005 scarf005 merged commit 8cae481 into cataclysmbnteam:main Jan 20, 2024
12 checks passed
@chaosvolt chaosvolt deleted the correct-dissection-a-bit branch January 20, 2024 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
src changes related to source code.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants