anchor.diff:  /obj/machinery/shower/proc/wash_turf()
   	if(isturf(loc))
   		var/turf/tile = loc
  -		loc.clean_blood()
  +		tile.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
  +		tile.clean_blood()
   		for(var/obj/effect/E in tile)
   			if(is_cleanable(E))
   				qdel(E)
  
positive.code: 
  
  /obj/machinery/shower/proc/wash_obj(atom/movable/O)
  	O.clean_blood()
  
  	if(isitem(O))
  		var/obj/item/I = O
  		I.acid_level = 0
  
negative.code: 	L.wash_cream()
  	L.ExtinguishMob()
  	L.adjust_fire_stacks(-20) //Douse ourselves with water to avoid fire more easily
  	L.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
  	if(iscarbon(L))
  		var/mob/living/carbon/M = L
  		. = 1
  		check_heat(M)
  		for(var/obj/item/I in M.held_items)
  			wash_obj(I)
  		if(M.back)
  			if(wash_obj(M.back))
  				M.update_inv_back(0)
  		if(ishuman(M))
  			var/mob/living/carbon/human/H = M
  