anchor.diff:  	if(!user || !target)
   		return 0
   	var/user_loc = user.loc
  +	
  +	var/drifting = 0
  +	if(!user.Process_Spacemove(0) && user.inertia_dir)
  +		drifting = 1 
   
   	var/target_loc = target.loc
   
  
positive.code: 		Tloc = target.loc
  
  	var/atom/Uloc = user.loc
  
  	var/holding = user.get_active_hand()
  
  	var/holdingnull = 1 //User's hand started out empty, check for an empty hand
  
negative.code: 			break
  		if(uninterruptible)
  			continue
  		
  		if(drifting && !user.inertia_dir)
  				drifting = 0
  				user_loc = user.loc
  		
  		if((!drifting && user.loc != user_loc) || target.loc != target_loc || user.get_active_hand() != holding || user.incapacitated() || user.lying )
  			. = 0
  			break
  	if (progress)
  