QoL: Stasis and Defibs

This commit is contained in:
Neerti
2020-04-07 00:39:35 -04:00
committed by VirgoBot
parent 351b9e8c5e
commit e89fef965e
8 changed files with 115 additions and 14 deletions
@@ -59,6 +59,7 @@
return
user.visible_message("<span class='notice'>\The [user] sticks \a [O] into \the [src].</span>")
B.preserved = TRUE
brainmob = B.brainmob
B.brainmob = null
@@ -108,6 +109,7 @@
brainobj = null
else //Or make a new one if empty.
brain = new(user.loc)
brain.preserved = FALSE
brainmob.container = null//Reset brainmob mmi var.
brainmob.loc = brain//Throw mob into brain.
living_mob_list -= brainmob//Get outta here
@@ -87,6 +87,9 @@
if(!client)
species.handle_npc(src)
else if(stat == DEAD && !stasis)
handle_defib_timer()
if(!handle_some_updates())
return //We go ahead and process them 5 times for HUD images and other stuff though.
@@ -1826,5 +1829,15 @@
traumatic_shock = 0
..()
/mob/living/carbon/human/proc/handle_defib_timer()
if(!should_have_organ(O_BRAIN))
return // No brain.
var/obj/item/organ/internal/brain/brain = internal_organs_by_name[O_BRAIN]
if(!brain)
return // Still no brain.
brain.tick_defib_timer()
#undef HUMAN_MAX_OXYLOSS
#undef HUMAN_CRIT_MAX_OXYLOSS