anchor.diff:  			R.name = name//Negative effects are hidden
   			if(R.chemical_flags & REAGENT_INVISIBLE)
   				R.chemical_flags |= (REAGENT_INVISIBLE)
  -		log_game("FERMICHEM: [M] ckey: [M.key] has merged [volume]u of [inverse_chem]")
  -		return
  +		log_reagent("MOB ADD: on_merge() (impure): merged [volume] of [inverse_chem]")
   	else if (impure_chem) //SPLIT
   		var/impureVol = amount * (1 - purity)
   		if(!(chemical_flags & REAGENT_SPLITRETAINVOL))
   			M.reagents.remove_reagent(type, impureVol, FALSE)
   		M.reagents.add_reagent(impure_chem, impureVol, FALSE, other_purity = 1-cached_purity)
  -		log_game("FERMICHEM: [M] ckey: [M.key] has merged [volume - impureVol]u of [type]")
  -		log_game("FERMICHEM: [M] ckey: [M.key] has merged [volume]u of [impure_chem]")
  -	return
  +		log_reagent("MOB ADD: on_merge() (mixed purity): merged [volume - impureVol] of [type] and [volume] of [impure_chem]")
   
   /datum/reagent/proc/on_update(atom/A)
   	return
  
positive.code: 	current_cycle++
  	if(holder)
  		holder.remove_reagent(type, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears.
  	return
  
  // Called when this reagent is first added to a mob
  /datum/reagent/proc/on_mob_add(mob/living/L, amount)
  	if(!iscarbon(L))
  		return
  	var/mob/living/carbon/M = L
  	if (purity == 1)
  		log_game("CHEM: [L] ckey: [L.key] has ingested [volume]u of [type]")
  		return
  	if(cached_purity == 1)
  		cached_purity = purity
  
negative.code: 			R.name = name//Negative effects are hidden
  			if(R.chemical_flags & REAGENT_INVISIBLE)
  				R.chemical_flags |= (REAGENT_INVISIBLE)
  		log_reagent("MOB ADD: on_mob_add() (impure): merged [volume] of [inverse_chem]")
  	else if (impure_chem)
  		var/impureVol = amount * (1 - purity) //turns impure ratio into impure chem
  		if(!(chemical_flags & REAGENT_SPLITRETAINVOL))
  			M.reagents.remove_reagent(type, (impureVol), FALSE)
  		M.reagents.add_reagent(impure_chem, impureVol, FALSE, other_purity = 1-cached_purity)
  		log_reagent("MOB ADD: on_mob_add() (mixed purity): merged [volume - impureVol] of [type] and [volume] of [impure_chem]")
  
  // Called when this reagent is removed while inside a mob
  /datum/reagent/proc/on_mob_delete(mob/living/L)
  	var/turf/T = get_turf(L)
  	log_reagent("MOB DELETE: on_mob_delete: [key_name(L)] at [AREACOORD(T)] - [type]")
  
  // Called when this reagent first starts being metabolized by a liver
  /datum/reagent/proc/on_mob_metabolize(mob/living/L)
  