anchor.diff:  		target.loc = src
   		if(user == target)
   			user.visible_message("[user] dives into [src].", \
  -									"<span class='notice'>You dive into [src].</span>")
  +				"<span class='notice'>You dive into [src].</span>")
   		else
   			target.visible_message("<span class='danger'>[user] has pushed [target] in [src].</span>", \
  -									"<span class='userdanger'>[user] has pushedd [target] in [src].</span>")
  +				"<span class='userdanger'>[user] has pushedd [target] in [src].</span>")
   			add_logs(user, target, "pushed", addition="into [src]")
   		update()
   		sleep(5)
   		trap_flush()
   
   /obj/machinery/disposal/trapdoor/proc/trap_flush()
  -	flushing = 1
  -	flushAnimation()
  -	sleep(10)
  +	if(flushing)
  +		return
  +
  +	flushing = TRUE
   	if(last_sound < world.time + 1)
   		playsound(src, 'sound/machines/disposalflush.ogg', 50, 0, 0)
   		last_sound = world.time
  
positive.code: 	H.init(src)
  	air_contents = new()
  	H.start(src)
  	flushing = 0
  	flush = 0
  	sleep(5)
  	close()
  
  /atom/movable/proc/disposalEnterTry()
  	return 1
  
negative.code: 	spawn(5)
  		trunk = locate() in loc
  		if(trunk)
  			trunk.linked = src        // link the pipe trunk to self
  
  /obj/machinery/disposal/trapdoor/Crossed(AM as mob|obj)
  	if(open)
  		if(istype(AM, /mob/living/))
  			var/mob/living/M = AM
  			if(M.floating)
  				return
  			M.loc = src
  			trap_flush()
  			return
  		if(istype(AM, /obj/item))
  			var/obj/item/O = AM
  			spawn(5)							// attempt to fix the comment below. Actually quite nice as the items do the little landing spin and then get sucked in.
  				if(O.throwing || O.anchored)	// does not seem to take in items even if they land
  					return
  				else if(O.loc == src.loc)		// attempt to fix the comment above
  					O.loc = src
  					trap_flush()
  
  /obj/machinery/disposal/trapdoor/MouseDrop_T(mob/living/target, mob/living/user)
  	if (!open)
  		return
  	if(istype(target) && user == target)
  		push_mob_in(target, user)
  		return 1
  
  /obj/machinery/disposal/trapdoor/proc/push_mob_in(mob/living/target, mob/living/user)
  	if(target.buckled)
  		return
  	add_fingerprint(user)
  	if(user == target)
  		user.visible_message("[user] is attempting to dive into [src].", \
  			"<span class='notice'>You start diving into [src]...</span>")
  	else
  		target.visible_message("<span class='danger'>[user] starts pushing [target] into [src].</span>", \
  			"<span class='userdanger'>[user] starts pushing you into [src]!</span>")
  	if(do_mob(user, target, 10))
  		if (!loc)
  			return
  