Skip to content
bonzaiferroni edited this page Jan 15, 2017 · 26 revisions

This code is still being tested. If you are using it, let me know if you run into any problems.

Traveler is a general-purpose tool for moving your creeps around.

single-lane creep movement

####Features:

  • Efficient path-caching and CPU-use (you can see how it compares with creep.moveTo() here)
  • Ignores creeps in pathing by default which allows for fewer PathFinder calls and single-lane creep movement
  • Detects hostile rooms and will path around them once discovered
  • Effective long-range pathing
  • Lots of options (read below)

travelTo(creep, goal, options?)

Move creep to goal.

Arguments

  • creep: Creep The creep you want to move.
  • goal: { pos: RoomPosition } Object with a property pos: RoomPosition.
  • options?: Object
  • ignoreRoads?: boolean Creeps won't prefer roads above plains (will still prefer them to swamps). Default is false.
  • ignoreCreeps?: boolean Will not path around other creeps. Default is true.
  • ignoreStuck?: boolean Will not path around other creeps even if stuck. Default is false.
  • ignoreStructures?: boolean Will not path around structures. Default is false.
  • preferHighway?: boolean Creep prefer to travel along highway (empty rooms in between sectors). Default is false
  • allowHostile?: boolean Hostile rooms will be included in path. Default is false.
  • allowSK?: boolean SourceKeeper rooms will be included in path. (if false, SK rooms will still be taken if they are they only viable path). Default is false.
  • range?: number Range to goal before it is considered reached. The default is 1.
  • obstacles?: { pos: RoomPosition }[] Array of objects with room positions that represent positions to avoid.
  • roomCallback?: (roomName: string, ignoreCreeps: boolean) => CostMatrix | boolean Callback function for overriding the default PathFinder callback. If it returns false, that room will be excluded. If it returns a matrix, it will be used in place of the default matrix. If it returns undefined the default matrix will be used instead.
  • routeCallback?: (roomName: string) => number Callback function for overriding the findRoute callback. If it returns a number that value will be used to influence the route. If it returns undefined it will use the default value.
  • returnPosition?: boolean Return the RoomPosition that is being moved to when outcome === OK. Can be used to "look ahead".
  • restrictDistance?: number Limits the range the findRoute will search. Default is 16.
  • maxOps?: number Limits the ops (CPU) that PathFinder will use. Limit is 20000. (~20 CPU)