mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01:00
Improves Bleeding Feedback + Misc Wound/Organ Decay Tweaks (+ Removes Teeth) (#56056)
This commit is contained in:
@@ -1360,26 +1360,41 @@
|
||||
color = "#bb2424"
|
||||
metabolization_rate = 0.25 * REAGENTS_METABOLISM
|
||||
overdose_threshold = 20
|
||||
/// How much base clotting we do per bleeding wound, multiplied by the below number for each bleeding wound
|
||||
var/clot_rate = 0.25
|
||||
/// If we have multiple bleeding wounds, we count the number of bleeding wounds, then multiply the clot rate by this^(n) before applying it to each cut, so more cuts = less clotting per cut (though still more total clotting)
|
||||
var/clot_coeff_per_wound = 0.75
|
||||
/// The bloodiest wound that the patient has will have its blood_flow reduced by this much each tick
|
||||
var/clot_rate = 0.3
|
||||
/// While this reagent is in our bloodstream, we reduce all bleeding by this factor
|
||||
var/passive_bleed_modifier = 0.7
|
||||
/// For tracking when we tell the person we're no longer bleeding
|
||||
var/was_working
|
||||
|
||||
/datum/reagent/medicine/coagulant/on_mob_metabolize(mob/living/M)
|
||||
ADD_TRAIT(M, TRAIT_COAGULATING, /datum/reagent/medicine/coagulant)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/medicine/coagulant/on_mob_end_metabolize(mob/living/M)
|
||||
REMOVE_TRAIT(M, TRAIT_COAGULATING, /datum/reagent/medicine/coagulant)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/medicine/coagulant/on_mob_life(mob/living/carbon/M)
|
||||
. = ..()
|
||||
if(!M.blood_volume || !M.all_wounds)
|
||||
return
|
||||
|
||||
var/effective_clot_rate = clot_rate
|
||||
var/datum/wound/bloodiest_wound
|
||||
|
||||
for(var/i in M.all_wounds)
|
||||
var/datum/wound/iter_wound = i
|
||||
if(iter_wound.blood_flow)
|
||||
effective_clot_rate *= clot_coeff_per_wound
|
||||
if(iter_wound.blood_flow > bloodiest_wound?.blood_flow)
|
||||
bloodiest_wound = iter_wound
|
||||
|
||||
for(var/i in M.all_wounds)
|
||||
var/datum/wound/iter_wound = i
|
||||
iter_wound.blood_flow = max(0, iter_wound.blood_flow - effective_clot_rate)
|
||||
if(bloodiest_wound)
|
||||
if(!was_working)
|
||||
to_chat(M, "<span class='green'>You can feel your flowing blood start thickening!</span>")
|
||||
was_working = TRUE
|
||||
bloodiest_wound.blood_flow = max(0, bloodiest_wound.blood_flow - clot_rate)
|
||||
else if(was_working)
|
||||
was_working = FALSE
|
||||
|
||||
/datum/reagent/medicine/coagulant/overdose_process(mob/living/M)
|
||||
. = ..()
|
||||
@@ -1402,13 +1417,30 @@
|
||||
var/obj/item/organ/heart/our_heart = M.getorganslot(ORGAN_SLOT_HEART)
|
||||
our_heart.applyOrganDamage(1)
|
||||
|
||||
/datum/reagent/medicine/coagulant/on_mob_metabolize(mob/living/M)
|
||||
if(!ishuman(M))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/blood_boy = M
|
||||
blood_boy.physiology?.bleed_mod *= passive_bleed_modifier
|
||||
|
||||
/datum/reagent/medicine/coagulant/on_mob_end_metabolize(mob/living/M)
|
||||
if(was_working)
|
||||
to_chat(M, "<span class='warning'>The medicine thickening your blood loses its effect!</span>")
|
||||
if(!ishuman(M))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/blood_boy = M
|
||||
blood_boy.physiology?.bleed_mod /= passive_bleed_modifier
|
||||
|
||||
// i googled "natural coagulant" and a couple of results came up for banana peels, so after precisely 30 more seconds of research, i now dub grinding banana peels good for your blood
|
||||
/datum/reagent/medicine/coagulant/banana_peel
|
||||
name = "Pulped Banana Peel"
|
||||
description = "Ancient Clown Lore says that pulped banana peels are good for your blood, but are you really going to take medical advice from a clown about bananas?"
|
||||
color = "#863333" // rgb: 175, 175, 0
|
||||
color = "#50531a" // rgb: 175, 175, 0
|
||||
taste_description = "horribly stringy, bitter pulp"
|
||||
glass_name = "glass of banana peel pulp"
|
||||
glass_desc = "Ancient Clown Lore says that pulped banana peels are good for your blood, but are you really going to take medical advice from a clown about bananas?"
|
||||
metabolization_rate = REAGENTS_METABOLISM
|
||||
clot_coeff_per_wound = 0.6
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
clot_rate = 0.2
|
||||
passive_bleed_modifier = 0.8
|
||||
|
||||
@@ -2323,6 +2323,7 @@
|
||||
color = "#E6E6DA"
|
||||
taste_mult = 0
|
||||
|
||||
// "Second wind" reagent generated when someone suffers a wound. Epinephrine, adrenaline, and stimulants are all already taken so here we are
|
||||
/datum/reagent/determination
|
||||
name = "Determination"
|
||||
description = "For when you need to push on a little more. Do NOT allow near plants."
|
||||
|
||||
@@ -787,6 +787,14 @@
|
||||
metabolization_rate = 0.2 * REAGENTS_METABOLISM
|
||||
toxpwr = 0
|
||||
|
||||
/datum/reagent/toxin/heparin/on_mob_metabolize(mob/living/M)
|
||||
ADD_TRAIT(M, TRAIT_BLOODY_MESS, /datum/reagent/toxin/heparin)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/toxin/heparin/on_mob_end_metabolize(mob/living/M)
|
||||
REMOVE_TRAIT(M, TRAIT_BLOODY_MESS, /datum/reagent/toxin/heparin)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/toxin/rotatium //Rotatium. Fucks up your rotation and is hilarious
|
||||
name = "Rotatium"
|
||||
description = "A constantly swirling, oddly colourful fluid. Causes the consumer's sense of direction and hand-eye coordination to become wild."
|
||||
|
||||
Reference in New Issue
Block a user