anchor.diff:  	state_open = FALSE
   	var/autoeject = FALSE
   	var/volume = 100
  +	var/running_bob_animation = FALSE
   
   	var/efficiency = 1
   	var/sleep_factor = 750
  
positive.code: 	..()
  	if(occupant)
  		if(on)
  			to_chat(user, "Someone's inside [src]!")
  		else
  			to_chat(user, "You can barely make out a form floating in [src].")
  	else
  
negative.code: 		beaker = null
  
  /obj/machinery/atmospherics/components/unary/cryo_cell/update_icon()
  	handle_update_icon()
  
  /obj/machinery/atmospherics/components/unary/cryo_cell/proc/handle_update_icon() //making another proc to avoid spam in update_icon
  	overlays.Cut() //empty the overlay proc, just in case
  
  	if(panel_open)
  		icon_state = "pod0-o"
  	else if(state_open)
  		icon_state = "pod0"
  	else if(on && is_operational())
  		if(occupant)
  			var/image/pickle = image(occupant.icon, occupant.icon_state)
  			pickle.overlays = occupant.overlays
  			pickle.pixel_y = 22
  			overlays += pickle
  			icon_state = "pod1"
  			var/up = 0 //used to see if we are going up or down, 1 is down, 2 is up
  			spawn(0) // Without this, the icon update will block. The new thread will die once the occupant leaves.
  				running_bob_animation = TRUE
  				while(occupant)
  					overlays -= "lid1" //have to remove the overlays first, to force an update- remove cloning pod overlay
  					overlays -= pickle //remove mob overlay
  
  					switch(pickle.pixel_y) //this looks messy as fuck but it works, switch won't call itself twice
  
  						if(23) //inbetween state, for smoothness
  							switch(up) //this is set later in the switch, to keep track of where the mob is supposed to go
  								if(2) //2 is up
  									pickle.pixel_y = 24 //set to highest
  
  								if(1) //1 is down
  									pickle.pixel_y = 22 //set to lowest
  
  						if(22) //mob is at it's lowest
  							pickle.pixel_y = 23 //set to inbetween
  							up = 2 //have to go up
  
  						if(24) //mob is at it's highest
  							pickle.pixel_y = 23 //set to inbetween
  							up = 1 //have to go down
  
  					overlays += pickle //re-add the mob to the icon
  					overlays += "lid1" //re-add the overlay of the pod, they are inside it, not floating
  
  					sleep(7) //don't want to jiggle violently, just slowly bob
  					return
  				running_bob_animation = FALSE
  		else
  			icon_state = "pod1"
  			overlays += "lid0" //have to remove the overlays first, to force an update- remove cloning pod overlay
  	else
  		icon_state = "pod0"
  		overlays += "lid0" //if no occupant, just put the lid overlay on, and ignore the rest
  
  /obj/machinery/atmospherics/components/unary/cryo_cell/process()
  	..()
  