changes blood_absorption_rate
into proc/get_blood_absorption_rate()
and make it depend on the blood level on living/human
#17012
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.
[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 ofblood_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)
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