anchor.diff:  	spawn(5)
   		trunk = locate() in loc
   		if(trunk)
  -			trunk.linked = src        // link the pipe trunk to self
  +			trunk.linked = src
   
   /obj/machinery/disposal/trapdoor/Crossed(AM as mob|obj)
   	if(open)
  
positive.code: 				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()
  
  
negative.code: 		if(!M.floating)
  			M.loc = src
  			trap_flush()
  			if(auto_close_on_mob)
  				spawn(auto_close_on_mob)
  					close()
  	for(var/obj/item/O in loc)
  		if(!O.throwing || !O.anchored)
  			O.loc = src
  			trap_flush()
  	open = TRUE
  	if(auto_close)
  		spawn(auto_close)
  			close()
  	return 1
  
  
  