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

Pain Recovery Deobsoletion #1820

Merged

Conversation

KheirFerrum
Copy link
Collaborator

@KheirFerrum KheirFerrum commented Aug 30, 2022

Summary

SUMMARY: Features "Deobsoletes Pain Recovery mutations. Adds Pain Recovery mutation variable"

Purpose of change

Pain recovery was removed because at the time it didn't work. This was due to #35300 attempting to move suffer() and forgetting to replace the effects under suffer_from_pain()

Describe the solution

suffer_from_pain() was removed in favour of applying the modifiers directly to pain recovery in Character::regen. A new variable was added to mutations. pain_recovery works much in the same way as healing_awake or healing_asleep. Being an additive modifier to the pain recovery multiplier.

After some discussion, pain recovery was made to give a 100% increase and made a chargen trait. The other versions will remain obsolete as Deadened is a 2 point mutation and is vastly superior to any form of pain recovery.

Updated the prereqs that utilized PAINREC2 and PAINREC3. Pain Junkie's alternate path is now Pain Recovery + Addictive, and Cenobite no longer has an alternate Pain Recovery Path as Pain Junkie will lead naturally into it. Pain Recovery itself can lead straight into Deadened if you're lucky.

Describe alternatives you've considered

-Port #57798
Considered but rejected on the basis that pain recovery is partially a scaling formula to current pain. A flat reduction will be disproportionately more effective at low pain than high pain.
-Rework suffer_from_pain()
Seen as unneeded. It's an extra call where we could just bake it into the recovery.

Testing

Spawned character, caused 1000 and 100 pain, tested pain recovery over the course of 1 hour.

Base Recovery:
1000 -> 782 : 218 recovery
100 -> 77 : 23 recovery

Pain Recovery:
1000 -> 608 : 392 recovery (~80% increase)
100 -> 57 : 43 recovery (~86% increase)

Additional context

Make sure that if you add a mutation that negatively affects pain recovery it's exclusive with the above, otherwise they will stack because of how pain recovery is tallied by mutation_value()

Otherwise, worth noting that the actual increase in pain recovery is somewhat lower (~20%) compared to the value in the mutations.json likely owing to how pain recovery is calculated.

@KheirFerrum
Copy link
Collaborator Author

KheirFerrum commented Aug 30, 2022

I rebalanced the point costs, mainly by reducing them, as the improvement in pain recovery isn't worth that many points in my opinion. Deadened is only a 2 point mutation, and even Cenobite is only 6 points. It may even be worth reducing the point cost to 1/2/3 considering how low level pain still lingers quite a bit.

Alternatively we could reduce the tiers for Pain recovery. I'm open to suggestions.

"type": "mutation",
"id": "PAINREC3",
"name": { "str": "Very Quick Pain Recovery" },
"points": 5,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't look worth more than 1 point.
I'd drop lvl 1 and 2 and just make lvl 3 a 1 point trait you can take at chargen.

@Coolthulhu
Copy link
Member

Cenobite is only 6 points

It's probably not worth that much. You'd need some convenient, renewable source of extreme pain to make a good use of it.

Still, the +100% recovery looks like a 1 point chargen trait.

@KheirFerrum KheirFerrum force-pushed the Pain-Recovery-deobsolete branch from 4ea9511 to 25e04fb Compare September 3, 2022 16:52
@Coolthulhu Coolthulhu self-assigned this Sep 9, 2022
@Coolthulhu Coolthulhu merged commit a4d933c into cataclysmbnteam:upload Sep 11, 2022
@KheirFerrum KheirFerrum deleted the Pain-Recovery-deobsolete branch September 20, 2022 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants