Skip to main content

Travel and pathing

nexMap4 routing is built around one computed route and two execution modes. A single shortest-path query produces a route; that route is then compiled into either batched server commands or one-command-per-room client steps, depending on your settings.

Destinations

Every travel entry point resolves to a room on the graph:

nexMap.api.travel.toRoom(315); // a concrete room id
nexMap.api.travel.toArea(42); // nearest reachable room in an area
nexMap.api.travel.toLandmark("home"); // a saved landmark
nexMap.api.travel.goto("Delos"); // a room id, landmark, or area name
nexMap.api.travel.stop(); // stop the active route

goto is the universal entry point — it accepts the same forms as nm goto and figures out whether the argument is a room id, a landmark, or an area name. Clicking a room on the map is equivalent to toRoom.

Planning without moving

planRoute computes a route synchronously and returns it without executing. This is pure and deterministic — no GMCP reads, no side effects — so it is safe to call repeatedly:

const plan = nexMap.api.travel.planRoute(315);
// { commands, rooms, segments, totalWeight, sourceRoomId, targetRoomId } | null

A null result means no route exists under the current travel-class and exclusion settings.

Execution modes

The active mode is the Pathing Mode setting on the Pathing & Travel tab.

ModeBehavior
Hybrid Track (hybridTrack)Uses Achaea's path track to batch eligible segments server-side. Fewer round-trips; the default.
Client Step (clientStep)Sends one command per room from the client, preserving room-by-room automation hooks (arrival callbacks).

Both modes execute the same computed route — only how the commands are delivered differs.

Travel classes

Beyond plain walking, the graph models special-travel edges. Optional edge types are travel classes that can be enabled or disabled; a disabled class is pruned from pathfinding (its edges are given infinite weight at query time). Core travel classes such as nurRift are always available and are not configuration toggles.

Travel classNotes
eagleWingsLow clouds.
atavianWingsHigh clouds.
islandWingsIsland wing travel.
wormholeRemote wormhole edges (see below).
sewergrateSewer-grate travel.
airHarnessAir-harness travel.
universeUniverse travel.
knockerKnocker travel.
gareGare travel.
urnUrn travel.
pebblePebble travel.
nurRiftNur rift travel. Always available; not configurable.

Most optional classes are disabled by default — enable the ones your character can actually use, either in the dialog or with a toggle:

nexMap.api.travel.enable("clouds"); // eagleWings + atavianWings
nexMap.api.travel.disable("wormholes");
nexMap.api.travel.toggle("universe");
nexMap.api.travel.isEnabled("wormholes");

Aliases

The toggles accept friendly aliases so you don't have to type internal class names:

AliasExpands to
cloudseagleWings + atavianWings
lowcloudseagleWings
highcloudsatavianWings
wingseagleWings + atavianWings + islandWings
grates / sewergratessewergrate
wormholeswormhole

Wing commands

Wing travel sends a spoken incantation. The defaults match Achaea's standard phrases and can be customized on the Pathing & Travel tab:

ClassDefault command
eagleWingssay duanathar
atavianWingssay duanatharan
islandWingssay duanatharic

Wormholes

Wormhole edges come from a remote service and from any custom wormholes you add. They participate in pathing only when the wormhole class is enabled.

nexMap.api.wormholes.list();
nexMap.api.wormholes.refresh(); // reload from the service
nexMap.api.wormholes.add({ sourceRoomId: 4270, targetRoomId: 328 });
nexMap.api.wormholes.remove(4270);
nexMap.api.wormholes.probe(); // arm the probe parser

Excluding rooms and cities

Pathing avoids any room in the excluded rooms set. The City Lockouts tab is the friendly front end for this — selecting a city excludes its gate rooms so routes never pass through a hostile city. You can also exclude arbitrary room ids directly.

Celerity

The Celerity setting (1–5) is a movement-cost multiplier applied when celerity is active — higher values model a faster effective walking speed and bias the route accordingly.