anchor.diff:  		list("antitoxin", "mutadone", "mannitol", "pen_acid"),
   		list("omnizine")
   	)
  +	var/list/chem_buttons	//Used when emagged to scramble which chem is used, eg: antitoxin -> morphine
  +	var/scrambled_chems = FALSE //Are chem buttons scrambled? used as a warning
   
   /obj/machinery/sleeper/New()
   	..()
   	var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/sleeper(null)
   	B.apply_default_parts(src)
   	update_icon()
  +	reset_chem_buttons()
   
   /obj/item/weapon/circuitboard/machine/sleeper
   	name = "Sleeper (Machine Board)"
  
positive.code: 	var/occ_health = occupant.health > min_health || chem == "epinephrine"
  	return amount && occ_health
  
  
  /obj/machinery/sleeper/syndie
  	icon_state = "sleeper_s"
  
negative.code: 				return
  			if(inject_chem(chem))
  				. = TRUE
  				if(scrambled_chems && prob(5))
  					usr << "<span class='warning'>Chem System Re-route detected, results may not be as expected!</span>"
  
  /obj/machinery/sleeper/emag_act(mob/user)
  	scramble_chem_buttons()
  	user << "<span class='warning'>You scramble the sleepers user interface!</span>"
  
  /obj/machinery/sleeper/proc/inject_chem(chem)
  	if((chem in available_chems) && chem_allowed(chem))
  		occupant.reagents.add_reagent(chem_buttons[chem], 10) //emag effect kicks in here so that the "intended" chem is used for all checks, for extra FUUU
  		return TRUE
  
  /obj/machinery/sleeper/proc/chem_allowed(chem)
  