anchor.diff:  	var/obj/item/weapon/reagent_containers/glass/beaker = null
   	var/autoeject = 0
   
  +	var/next_trans = 0
   	var/current_heat_capacity = 50
   	var/efficiency
   
  
positive.code: 	if(air_contents.total_moles() < 10)
  		return
  	if(occupant)
  		if(occupant.stat == 2)
  			return
  		occupant.bodytemperature += 2*(air_contents.temperature - occupant.bodytemperature)*current_heat_capacity/(current_heat_capacity + air_contents.heat_capacity())
  		occupant.bodytemperature = max(occupant.bodytemperature, air_contents.temperature) // this is so ugly i'm sorry for doing it i'll fix it later i promise
  		occupant.stat = 1
  		if(occupant.bodytemperature < T0C)
  			occupant.sleeping = max(5/efficiency, (1/occupant.bodytemperature)*2000/efficiency)
  			occupant.Paralyse(max(5/efficiency, (1/occupant.bodytemperature)*3000/efficiency))
  
negative.code: 	if(!on)
  		return
  
  	if(air_contents)
  		temperature_archived = air_contents.temperature
  		heat_gas_contents()
  		expel_gas()
  
  		if(occupant)
  			process_occupant()
  	if(abs(temperature_archived-air_contents.temperature) > 1)
  		network.update = 1
  
  