anchor.diff:  		return list(TEXT_NORTH = list(0, 6), TEXT_SOUTH = list(0, 6), TEXT_EAST = list(0, 6), TEXT_WEST = list(0, 6))
   	else
   		return list(TEXT_NORTH = list(0, 6), TEXT_SOUTH = list(0, 6), TEXT_EAST = list(-6, 4), TEXT_WEST = list( 6, 4))
  +
  +/datum/component/riding/human/additional_offset_checks()
  +	var/mob/living/carbon/human/H = parent
  +	return !H.buckled
   
   /datum/component/riding/human/force_dismount(mob/living/user)
   	var/atom/movable/AM = parent
  
positive.code: 			var/list/offsets = get_offsets(passindex)
  			var/rider_dir = get_rider_dir(passindex)
  			buckled_mob.setDir(rider_dir)
  			dir_loop:
  				for(var/offsetdir in offsets)
  					if(offsetdir == AM_dir)
  						var/list/diroffsets = offsets[offsetdir]
  						buckled_mob.pixel_x = diroffsets[1]
  						if(diroffsets.len >= 2)
  							buckled_mob.pixel_y = diroffsets[2]
  						if(diroffsets.len == 3)
  							buckled_mob.layer = diroffsets[3]
  						break dir_loop
  	var/list/static/default_vehicle_pixel_offsets = list(TEXT_NORTH = list(0, 0), TEXT_SOUTH = list(0, 0), TEXT_EAST = list(0, 0), TEXT_WEST = list(0, 0))
  	var/px = default_vehicle_pixel_offsets[AM_dir]
  	var/py = default_vehicle_pixel_offsets[AM_dir]
  
negative.code: 	var/atom/movable/AM = parent
  	AM.unbuckle_mob(M)
  
  /datum/component/riding/proc/additional_offset_checks()
  	return TRUE
  
  /datum/component/riding/proc/handle_vehicle_offsets()
  	var/atom/movable/AM = parent
  	var/AM_dir = "[AM.dir]"
  