diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 1187ea3f7d7..816f1ef2058 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -143,8 +143,9 @@ //CRIT if(health <= HEALTH_THRESHOLD_FULLCRIT || !lungs || lungs.failed) - if(reagents.has_reagent(/datum/reagent/medicine/epinephrine) && lungs) - return + if(reagents) // I know this is scuffed, but it stops unit testing from getting upset :') + if(reagents.has_reagent(/datum/reagent/medicine/epinephrine) && lungs) + return adjustOxyLoss(0.5) failed_last_breath = 1 diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 2ffd1a10806..d42096b0355 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -695,7 +695,7 @@ GLOBAL_LIST_EMPTY(playmob_cooldowns) if(deathmessage || !del_on_death) INVOKE_ASYNC(src, .proc/emote, "deathgasp") if(del_on_death) - ..() + ..(gibbed) //Prevent infinite loops if the mob Destroy() is overridden in such //a manner as to cause a call to death() again del_on_death = FALSE @@ -705,7 +705,7 @@ GLOBAL_LIST_EMPTY(playmob_cooldowns) icon_state = icon_dead density = FALSE lying = 1 - ..() + ..(gibbed) /mob/living/simple_animal/drop_all_held_items(skip_worn = FALSE) if(internal_storage && !skip_worn)