anchor.diff:  //UNCONSCIOUS
   /datum/status_effect/incapacitating/unconscious
   	id = "unconscious"
  +	needs_update_stat = TRUE
   
   //SLEEPING
   /datum/status_effect/incapacitating/sleeping
   	id = "sleeping"
   	alert_type = /obj/screen/alert/status_effect/asleep
  +	needs_update_stat = TRUE
   	var/mob/living/carbon/carbon_owner
   	var/mob/living/carbon/human/human_owner
   
   /datum/status_effect/incapacitating/sleeping/on_creation(mob/living/new_owner, updating_canmove)
   	. = ..()
   	if(.)
  -		if(updating_canmove)
  -			owner.update_stat()
   		if(iscarbon(owner)) //to avoid repeated istypes
   			carbon_owner = owner
   		if(ishuman(owner))
  
positive.code: 			carbon_owner.handle_dreams()
  		if(prob(10) && owner.health > HEALTH_THRESHOLD_CRIT)
  			owner.emote("snore")
  
  /datum/status_effect/incapacitating/sleeping/on_remove()
  	..()
  	owner.update_stat()
  
  /obj/screen/alert/status_effect/asleep
  	name = "Asleep"
  
negative.code: 	if(.)
  		if(updating_canmove)
  			owner.update_canmove()
  			if(needs_update_stat || issilicon(owner))
  				owner.update_stat()
  
  /datum/status_effect/incapacitating/on_remove()
  	owner.update_canmove()
  	if(needs_update_stat || issilicon(owner)) //silicons need stat updates in addition to normal canmove updates
  		owner.update_stat()
  
  //STUN
  