anchor.diff:  	//If they're injured, we're using a beaker, and don't have one of our WONDERCHEMS.
   	if((src.reagent_glass) && (src.use_beaker) && ((C.getBruteLoss() >= heal_threshold) || (C.getToxLoss() >= heal_threshold) || (C.getToxLoss() >= heal_threshold) || (C.getOxyLoss() >= (heal_threshold + 15))))
   		for(var/datum/reagent/R in src.reagent_glass.reagents.reagent_list)
  -			if(!C.reagents.has_reagent(R))
  +			if(!C.reagents.has_reagent(R.id))
   				return 1
  -			continue
   
   	//They're injured enough for it!
   	if((C.getBruteLoss() >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_brute)))
  
positive.code: 
  	var/reagent_id = null
  
  	//Use whatever is inside the loaded beaker. If there is one.
  	if((src.use_beaker) && (src.reagent_glass) && (src.reagent_glass.reagents.total_volume))
  		reagent_id = "internal_beaker"
  
  	if(src.emagged == 2) //Emagged! Time to poison everybody.
  		reagent_id = "toxin"
  
  	var/virus = 0
  	for(var/datum/disease/D in C.viruses)
  		virus = 1
  
  	if (!reagent_id && (virus))
  		if(!C.reagents.has_reagent(src.treatment_virus))
  			reagent_id = src.treatment_virus
  
  	if (!reagent_id && (C.getBruteLoss() >= heal_threshold))
  		if(!C.reagents.has_reagent(src.treatment_brute))
  			reagent_id = src.treatment_brute
  
  	if (!reagent_id && (C.getOxyLoss() >= (15 + heal_threshold)))
  		if(!C.reagents.has_reagent(src.treatment_oxy))
  			reagent_id = src.treatment_oxy
  
  	if (!reagent_id && (C.getFireLoss() >= heal_threshold))
  		if(!C.reagents.has_reagent(src.treatment_fire))
  			reagent_id = src.treatment_fire
  
  	if (!reagent_id && (C.getToxLoss() >= heal_threshold))
  		if(!C.reagents.has_reagent(src.treatment_tox))
  			reagent_id = src.treatment_tox
  
  	if(!reagent_id) //If they don't need any of that they're probably cured!
  		src.oldpatient = src.patient
  
negative.code: 			src.currently_healing = 0
  			return
  
  	reagent_id = null
  	return
  
  