diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c4a5ab3fa35..b6a31f764e0 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -187,6 +187,7 @@ var/word = pick("dizzy","woosey","faint") src << "\red You feel extremely [word]" if(0 to 122) + toxloss += 200 death() @@ -528,7 +529,7 @@ if(!breath) if(isobj(loc)) var/obj/location_as_object = loc - breath = location_as_object.handle_internal_lifeform(src, BREATH_VOLUME) + breath = location_as_object.handle_internal_lifeform(src, BREATH_MOLES) else if(isturf(loc)) var/breath_moles = 0 /*if(environment.return_pressure() > ONE_ATMOSPHERE) @@ -539,6 +540,13 @@ breath_moles = environment.total_moles()*BREATH_PERCENTAGE breath = loc.remove_air(breath_moles) + + + if(!lung_ruptured) + if(!breath || breath.total_moles < BREATH_MOLES / 5 || breath.total_moles > BREATH_MOLES * 5) + if(prob(5)) + rupture_lung() + // Handle chem smoke effect -- Doohl var/block = 0 if(wear_mask) @@ -566,12 +574,6 @@ var/obj/location_as_object = loc location_as_object.handle_internal_lifeform(src, 0) - - if(!lung_ruptured && breath) - if(breath.total_moles < BREATH_MOLES / 5 || breath.total_moles > BREATH_MOLES * 5) - if(prob(5)) - rupture_lung() - handle_breath(breath) if(breath)