diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 4b2acd0f9fe..6d29465cc3a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -813,6 +813,8 @@ //UNCONSCIOUS. NO-ONE IS HOME if(getOxyLoss() > (species.total_health/2)) + if(stat == CONSCIOUS) + to_chat(src, SPAN_DANGER("You feel your consciousness become increasingly distant from the physical world.")) Paralyse(3) if(hallucination_power) diff --git a/code/modules/organs/internal/_internal.dm b/code/modules/organs/internal/_internal.dm index e152990cfb9..c029c65ff68 100644 --- a/code/modules/organs/internal/_internal.dm +++ b/code/modules/organs/internal/_internal.dm @@ -107,7 +107,7 @@ if(GetComponent(/datum/component/internal_wound/organic/parenchyma)) owner.mutation_index++ - + SEND_SIGNAL(src, COMSIG_ADDVAL) /obj/item/organ/internal/proc/handle_organ_eff() @@ -211,7 +211,8 @@ break if(BV) BV.current_blood = max(BV.current_blood - blood_req, 0) - if(!damage && BV?.current_blood == 0) //When all blood from the organ and blood vessel is lost, + var/datum/component/internal_wound/currentcomponent = GetExactComponent(/datum/component/internal_wound/organic/oxy/blood_loss) + if(!(BV?.current_blood) && !(currentcomponent?.name == "blood loss")) add_wound(/datum/component/internal_wound/organic/oxy/blood_loss) return diff --git a/code/modules/organs/internal/internal_organ_processes.dm b/code/modules/organs/internal/internal_organ_processes.dm index e36a08bbe92..39fb9e4f4c1 100644 --- a/code/modules/organs/internal/internal_organ_processes.dm +++ b/code/modules/organs/internal/internal_organ_processes.dm @@ -158,6 +158,11 @@ adjustOxyLoss(20) if(prob(15)) to_chat(src, SPAN_WARNING("You feel extremely [pick("dizzy","woosey","faint")].")) + else if(blood_volume < total_blood_req) + eye_blurry = max(eye_blurry,6) + adjustOxyLoss(4.5) // this damage threshold kills people with good airflow + if(prob(15)) + to_chat(src, SPAN_WARNING("You feel highly [pick("dizzy","woosey","faint")].")) else if(blood_volume < blood_bad) eye_blurry = max(eye_blurry,6) adjustOxyLoss(2)