anchor.diff:  
   	if((!C.reagents.has_reagent(treatment_fire_avoid)) && (C.getFireLoss() >= heal_threshold) && (!C.reagents.has_reagent(treatment_fire)))
   		return TRUE
  -
  -	if((!C.reagents.has_reagent(treatment_tox_avoid)) && (C.getToxLoss() >= heal_threshold) && (!C.reagents.has_reagent(treatment_tox)))
  +	var/treatment_toxavoid = get_avoidchem_toxin(C)
  +	if(((treatment_toxavoid && !C.reagents.has_reagent(treatment_toxavoid))) && (C.getToxLoss() >= heal_threshold) && (!C.reagents.has_reagent(get_healchem_toxin(C))))
   		return TRUE
   
   	if(treat_virus && !C.reagents.has_reagent(treatment_virus_avoid) && !C.reagents.has_reagent(treatment_virus))
  
positive.code: 	var/treatment_fire = "kelotane"
  	var/treatment_tox_avoid = "tricordrazine"
  	var/treatment_tox = "charcoal"
  	var/treatment_virus_avoid = null
  	var/treatment_virus = "spaceacillin"
  	var/treat_virus = 1 //If on, the bot will attempt to treat viral infections, curing them if possible.
  
negative.code: 				return TRUE //STOP DISEASE FOREVER
  
  	return FALSE
  
  /mob/living/simple_animal/bot/medbot/proc/get_avoidchem_toxin(mob/M)
  	return toxlover_check(M)? null : treatment_tox_avoid
  
  /mob/living/simple_animal/bot/medbot/proc/get_healchem_toxin(mob/M)
  	return toxlover_check(M)? treatment_tox_toxlover : treatment_tox
  
  /mob/living/simple_animal/bot/medbot/proc/toxlover_check(mob/M)
  	return HAS_TRAIT(M, TRAIT_TOXINLOVER)
  
  /mob/living/simple_animal/bot/medbot/UnarmedAttack(atom/A)
  	if(iscarbon(A))
  