anchor.diff:  	if(path)
   		for(var/i = 1 to round(0.5 * length(path)))
   			path.Swap(i, length(path) - i + 1)
  +	else
  +		path = new()
   	sources = null
   	qdel(open)
   	return path
  
positive.code: 	src.simulated_only = simulated_only
  	src.avoid = avoid
  
  /// The proc you use to run the search, returns a list with the steps to the destination if one is available, or nothing if one couldn't be found
  /datum/pathfind/proc/search()
  	start = get_turf(caller)
  	if(!start || !end)
  
negative.code: 	if(start.z != end.z || start == end ) //no pathfinding between z levels
  		return FALSE
  	if(max_distance && (max_distance < get_dist(start, end))) //if start turf is farther than max_distance from end turf, no need to do anything
  		return list()
  
  	//initialization
  	var/datum/jps_node/current_processed_node = new (start, -1, 0, end)
  