-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Blood overhaul #41219
Blood overhaul #41219
Conversation
Again following @I-am-Erk suggestions I've re-balanced blood loss rates. Current blood loss levels: 0.1ml/turn/level = 6ml/minute/level With max level 40 we get 4ml/turn max, which is 240ml/minute (1L per 4,16 minutes) and that gives us roughly 12,5 minutes to lose 3L of blood at which point game starts checking death condition (simplified as this disregards how much the wound would close in that time). |
I believe I've satisfied most (if not all) requests for changes in this code, with one exception - @SirPendrak idea about using tentacles to stop bleeding more effectively. This I'll add later along with few more factors that might limit use of hands. There are few things I'd like to do to make it better, but none of them has to bloat this monstrosity any more. As so, I shall mark this PR as ready. Another round of reviews gladly welcomed. |
Preparation for CleverRaven/Cataclysm-DDA#41219 * Set it so that red potion's effect blocks the extra effects of blood loss, and consuming it gives a hefty dose of blood and red blood cells. * Updated medical items so that they reduce bleeding at expected rates. * Set various effects that halt bleeding to also disrupt anemia and hypovolemic shock. In practice though, since there's no way for spells or effects to generate vitamins, I suspect this won't be as useful as halting blood loss would be. * Set it so that Dragonblood mutants gain bonuses to blood recovery, scaling up as their main metabolic traits evolve (since those are the ones that affect healing rate) * Removed use of oboslete monster flag.
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/psa-blood-overhaul-is-now-in-the-experimental/24140/1 |
This was one of the big things for me that was taking away from immersion (didn't make sense for body parts to be damaged from bloodloss). I was longing for an Unreal World-style bloodloss system. I just started playing downed helicopter start and noticed my bleeding parts weren't losing HP, Then I saw this PR. HURRAY! Can't comment on stability yet, but haven't noticed any problems so far. |
Summary
SUMMARY: Features "Blood and blood loss overhaul."
Purpose of change
To make a step forward towards completion of "Wounds and healthcare" project.
To make bleeding more in-depth, and more realistic in its effects and mechanics.
Describe the solution
Prepare for a long read, this is a pack of interlocking features, that work as a whole and in context of the whole picture.
TL,DR: Bleeding will now occur more often in combat, but will also feel more natural, as it won't affect HP, instead depleting its own two pools: blood (volume, quantity) and red cells (quality). It is scalable from small scratches to arterial hemorrhages, and can be stopped in various new ways, but also may require recovery from it's effects or even (in future) a transfusion. Prolonged hemorrhage will lead to various effects like hypovolemic shock and/or anemia, and eventually death (but not from HP loss). Blood loss management will be more in-depth part of character's healthcare.
PART ONE - BLOOD POOLS
anemia, despite similarities, so that the vitamin mechanic won't try to alternately add/remove effect (two vitamins with one deficiency equals erratic behavior)EDIT: Iron-deficiency
anemiaaffects red cells - hinders regen, stops regen and eventually kills red blood cells in final stage.PART TWO - BLEEDING
Each level is equal to loosing 1 ml per turn, thus max lvl 40 = 40 ml per turn = 2,4 L / minute (of unrestricted flow)EDIT: Rebalanced. In fact this was not true from the beginning since I forgot to mention that there were additional limiters to it. Current rate of blood loss is 0.1 ml per turn per level, thus lvl 40 = 4 ml per turn = 240 ml / minute. To lose 3L of blood (threshold for accounting for death chance) you would need to bleed at max lvl for 12+ minutes (effectively 15+ minutes including natural reduction of bleeding rate and blood regen rate).
PART THREE - DRESSINGS
PART THREE - MISCELLANEOUS
Alternatives I've considered
Testing
(shotgun moose hunting is very satisfying)
Additional context
This is a big change. I've tried to separate commits into logical sections for better readability but you have to disregard a few unsquashed at the beginning, tracking back to former introduction of blood groups.
I cannot guarantee that it is totally bug free, although many iterations of testing eliminated everything obvious.
It may need further balancing, especially as it will create a new meta in combat and will change danger assessment of monsters that deal bleeding inducing damage.
I also, at this stage, couldn't guarantee introduction of advanced JSON-ization for future interactions with mutations etc., and left it for future development. It's already huge as it is.