From 26e35376d69ee9ac363bb0f354c52ed9a6f2fc1b Mon Sep 17 00:00:00 2001 From: Poojawa Date: Tue, 8 Oct 2019 15:15:56 -0500 Subject: [PATCH] ok --- .../chemistry/reagents/other_reagents.dm | 23 ++++++++++--------- code/modules/surgery/organs/heart.dm | 4 ++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index b5bed26247..9a4a6ea54e 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -25,17 +25,18 @@ else //ingest, patch or inject L.ForceContractDisease(D) -/datum/reagent/blood/on_mob_life(mob/living/L) //needed so we don't nuke people with massive toxins now. Because apparently being hyperlethal is preferable to stamina drain - if(iscarbon(L)) - var/mob/living/carbon/C = L - var/blood_id = C.get_blood_id() - if((blood_id == "blood" || blood_id == "jellyblood") && (method == INJECT || (method == INGEST && C.dna && C.dna.species && (DRINKSBLOOD in C.dna.species.species_traits)))) - if(!data || !(data["blood_type"] in get_safe_blood(C.dna.blood_type))) - C.adjustToxLoss(2*REM, TRUE, TRUE) //forced to ensure people don't use it to gain tox as slime person - . = 1 - else - C.blood_volume = min(C.blood_volume + round(reac_volume, 0.1), BLOOD_VOLUME_MAXIMUM) - . = 1 +/datum/reagent/blood/on_mob_life(mob/living/carbon/C, method=INJECT, reac_volume) //needed so we don't nuke people with massive toxins now. Because apparently being hyperlethal is preferable to stamina drain + if(!istype(C)) + return + var/blood_id = C.get_blood_id() + if((blood_id == "blood" || blood_id == "jellyblood") && (!(method == INJECT) || (method == INGEST && C.dna && C.dna.species && (DRINKSBLOOD in C.dna.species.species_traits)))) + if(!data || !(data["blood_type"] in get_safe_blood(C.dna.blood_type))) + C.adjustToxLoss(2*REM, TRUE, TRUE) //forced to ensure people don't use it to gain tox as slime person + . = 1 + else + C.blood_volume = min(C.blood_volume + round(reac_volume, 0.1), BLOOD_VOLUME_MAXIMUM) + . = 1 + ..() /datum/reagent/blood/reaction_obj(obj/O, volume) diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index cb80465016..56beb09c7a 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -82,7 +82,7 @@ else if(beat == BEAT_FAST) H.stop_sound_channel(CHANNEL_HEARTBEAT) beat = BEAT_NONE - + if(organ_flags & ORGAN_FAILING) //heart broke, stopped beating, death imminent if(owner.stat == CONSCIOUS) owner.visible_message("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!") @@ -221,7 +221,7 @@ obj/item/organ/heart/cybernetic/upgraded/on_life() name = "IPC heart" desc = "An electronic pump that regulates hydraulic functions, they have an auto-restart after EMPs." icon_state = "heart-c" - synthetic = TRUE + organ_flags = ORGAN_SYNTHETIC /obj/item/organ/heart/ipc/emp_act() . = ..()