anchor.diff:  	return ..()
   
   /datum/reagent/blob/replicating_foam/expand_reaction(obj/effect/blob/B, obj/effect/blob/newB, turf/T)
  -	if(prob(50))
  +	if(prob(40))
   		newB.expand() //do it again!
   
   //does brute damage, shifts away when damaged
  
positive.code: 	if(cause && prob(40))
  		var/list/blobstopick = list()
  		for(var/obj/effect/blob/OB in range(1, B))
  			blobstopick += OB
  		if(blobstopick.len)
  			var/obj/effect/blob/targeted = pick(blobstopick) //randomize the blob chosen, because otherwise it'd tend to the lower left
  			if(istype(targeted, /obj/effect/blob/normal) || istype(targeted, /obj/effect/blob/shield))
  				var/turf/T = get_turf(targeted)
  				targeted.forceMove(get_turf(B))
  				B.forceMove(T) //swap the blobs
  	return ..()
  
  //does low burn and a lot of stamina damage, reacts to stamina damage
  
negative.code: 	M.apply_damage(0.6*reac_volume, BRUTE)
  
  /datum/reagent/blob/replicating_foam/damage_reaction(obj/effect/blob/B, original_health, damage, damage_type, cause)
  	if(damage > 0 && original_health - damage > 0 && prob(60))
  		var/obj/effect/blob/newB = B.expand()
  		if(newB)
  			newB.health = original_health - damage
  