anchor.diff:  			reaction_turf(var/turf/T, var/volume)
   				src = null
   				if(!istype(T, /turf/space))
  -					new /obj/effect/decal/cleanable/dirt(T)
  +					var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, T)
  +					if (!dirtoverlay)
  +						dirtoverlay = new/obj/effect/decal/cleanable/dirt(T)
  +						dirtoverlay.alpha = volume*30
  +					else
  +						dirtoverlay.alpha = min(dirtoverlay.alpha+volume*30, 255)
   
   		chlorine
   			name = "Chlorine"
  
positive.code: 						O.clean_blood()
  			reaction_turf(var/turf/T, var/volume)
  				if(volume >= 1)
  					T.overlays.Cut()
  					T.clean_blood()
  					for(var/obj/effect/decal/cleanable/C in src)
  						del(C)
  
negative.code: 				var/datum/reagent/self = src
  				src = null										  //of the reagent to the mob on TOUCHING it.
  
  				if(self.holder)		//for catching rare runtimes
  					if(!istype(self.holder.my_atom, /obj/effect/effect/smoke/chem))
  						// If the chemicals are in a smoke cloud, do not try to let the chemicals "penetrate" into the mob's system (balance station 13) -- Doohl
  
  						if(method == TOUCH)
  
  							var/chance = 1
  							var/block  = 0
  
  							for(var/obj/item/clothing/C in M.get_equipped_items())
  								if(C.permeability_coefficient < chance) chance = C.permeability_coefficient
  								if(istype(C, /obj/item/clothing/suit/bio_suit))
  									// bio suits are just about completely fool-proof - Doohl
  									// kind of a hacky way of making bio suits more resistant to chemicals but w/e
  									if(prob(75))
  										block = 1
  
  								if(istype(C, /obj/item/clothing/head/bio_hood))
  									if(prob(75))
  										block = 1
  
  							chance = chance * 100
  
  							if(prob(chance) && !block)
  								if(M.reagents)
  									M.reagents.add_reagent(self.id,self.volume/2)
  				return 1
  
  			reaction_obj(var/obj/O, var/volume) //By default we transfer a small part of the reagent to the object
  