anchor.diff:  		sleep(1)
   		if (progress)
   			progbar.update(world.time - starttime)
  -
  -		if(!user || user.stat || user.weakened || user.stunned  || user.loc != Uloc)
  +		
  +		if(drifting && !user.inertia_dir)
  +				drifting = 0
  +				Uloc = user.loc
  +				
  +		if(!user || user.stat || user.weakened || user.stunned  || (!drifting && user.loc != Uloc)
   			. = 0
   			break
   
  
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: 	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
  
  