anchor.diff:  /obj/structure/kitchenspike/attack_hand(mob/user)
   	if(user.pulling && isliving(user.pulling) && user.a_intent == "grab" && !has_buckled_mobs())
   		var/mob/living/L = user.pulling
  +		var/old_loc = src.loc
  +		if(L.buckled)
  +			return
  +
   		if(do_mob(user, L, 120))
  +			if(src.loc != old_loc)
  +				return
   			if(has_buckled_mobs()) //to prevent spam/queing up attacks
   				return
   			if(L.buckled)
  
positive.code: 				return
  		if(!M.buckled)
  			return
  
  		var/matrix/m180 = matrix(M.transform)
  		m180.Turn(180)
  		animate(M, transform = m180, time = 3)
  		M.pixel_y = M.get_standard_pixel_y_offset(180)
  
  		M.adjustBruteLoss(30)
  		src.visible_message(text("<span class='danger'>[M] falls free of the [src]!</span>"))
  		unbuckle_mob(M, force=1)
  
negative.code: 			L.buckled = src
  			L.dir = 2
  			buckle_mob(L, force=1)
  			if(user.pulling == L)
  				user.stop_pulling()
  
  			var/matrix/m180 = matrix(L.transform)
  			m180.Turn(180)
  