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

changes blood_absorption_rate into proc/get_blood_absorption_rate() and make it depend on the blood level on living/human #17012

Merged
merged 1 commit into from Nov 19, 2023

Conversation

M-Earthfire
Copy link
Contributor

@M-Earthfire M-Earthfire commented Nov 19, 2023

[medical][rework][internal]

About the PR

This PR removes blood_absorption_rate from /mob/living and instead introduces /mob/living/proc/get_blood_absorption_rate(). This proc returns a value that is instead of blood_absorption_rate used to determine how much blood a target gains from blood in their reagent holder.

Secondly, for living/human, the blood absorption rate now depends on how high their blood level is. On hypotension it is higher, on hypertension lower.

At following blood levels, blood will be metabolized at the following rates (formerly 1u/lifetick)

  • 551+ : 0,8u/lifetick
  • 476 - 550: 1u/lifetick
  • 426 - 475: 1.25u/lifetick
  • 301 - 425: 1.5u/lifetick
  • 201 - 300: 2u/lifetick
  • 0 - 299: 3u/lifetick

Why's this needed?

Firstly, this enables to set the blood absorption rate dynamically depending on the circumstances on the mob. This means e.g. we could make mutantraces that have a much harder time absorbing blood. Or add mutations that inhibit the absorption of blood or make it easier to bloodgib.

Secondly, Making the blood absorption rate depend on the blood level on humans makes it easier to treat severe cases of hypotension (e.g. vampire attacks). Likewise, it makes blood injection to bloodgib slightly harder.

Lastly, it wa brought to my attention that the dialysis machine buff in #16698 made it able to overpower the blood metabolism rate and, given unreasonable long use, bleed people dry. With this change, the blood level will reach an equilibrium at around 430 blood level.

Changelog

(u)Lord_Earthfire
(+)Being hypotensive makes it easier to receive blood via injetions (e.g. bloodbags) and likewise being hypertensive causes injected blood to be slightly harder to metabolize

…nd make it variable depending on blood level for humans.
@keywordlabeler keywordlabeler bot added A-Internal Deals with major internal, generally non-player facing code - e.g. types A-Medical Deals with our medical system in some way C-Rework Reworks a feature labels Nov 19, 2023
@github-actions github-actions bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Nov 19, 2023
@Tarmunora Tarmunora merged commit 397141d into goonstation:master Nov 19, 2023
28 checks passed
github-actions bot pushed a commit that referenced this pull request Nov 19, 2023
@M-Earthfire M-Earthfire deleted the blood_metabolism_tweaks branch November 20, 2023 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Internal Deals with major internal, generally non-player facing code - e.g. types A-Medical Deals with our medical system in some way C-Rework Reworks a feature size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants