anchor.diff:  	. = ..()
   	if(.)
   		return
  -	if((user.loc != src) && CHECK_MOBILITY(user, MOBILITY_USE) && Adjacent(user) && SEND_SIGNAL(user, COMSIG_IS_SWIMMING) && filled && (next_splash < world.time))
  +	if((user.loc != src) && !user.IsStunned() && !user.IsKnockdown() && !user.incapacitated() && Adjacent(user) && SEND_SIGNAL(user, COMSIG_IS_SWIMMING) && filled && (next_splash < world.time))
   		playsound(src, 'sound/effects/watersplash.ogg', 8, TRUE, 1)
   		next_splash = world.time + 25
   		var/obj/effect/splash/S = new(src)
  
positive.code: 	var/filled = TRUE
  	var/next_splash = 0
  	var/obj/machinery/pool/controller/controller
  
  /turf/open/pool/Destroy()
  	controller = null
  	return ..()
  
  /turf/open/pool/proc/update_icon_pool()
  	if(!filled)
  		name = "drained pool"
  		desc = "No diving!"
  		cut_overlay(/obj/effect/overlay/water)
  		cut_overlay(/obj/effect/overlay/water/top)
  	else
  		name = "poolwater"
  		desc = "You're safer here than in the deep."
  		add_overlay(/obj/effect/overlay/water)
  		add_overlay(/obj/effect/overlay/water/top)
  
  /obj/effect/overlay/water
  	name = "water"
  
negative.code: // Mousedrop hook to normal turfs to get out of pools.
  /turf/open/MouseDrop_T(atom/from, mob/user)
  	// I could make this /open/floor and not have the !istype but ehh - kev
  	if(SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !user.IsStunned() && !user.IsKnockdown() && !user.incapacitated() && !istype(src, /turf/open/pool))
  		var/mob/living/L = from
  		//The element only exists if you're on water and a living mob, so let's skip those checks.
  		var/pre_msg
  