alclient
Version:
A node client for interacting with Adventure Land - The Code MMORPG. This package extends the functionality of 'alclient' by managing a mongo database.
59 lines (58 loc) • 1.01 kB
TypeScript
import type BitSet from "bitset";
import type { ItemName, MapName } from "./adventureland-data.js";
export type Grid = BitSet;
export type Grids = {
[T in MapName]?: Grid;
};
export type NodeData = {
map: MapName;
x: number;
y: number;
};
export type LinkData = NodeData &
/**
* Used to travel through doors
*/
({
type: "transport";
spawn: number;
}
/**
* Used to travel to the spawn point of the map
*/
| {
type: "town";
}
/**
* Used when entering a crypt
*/
| {
key: ItemName;
type: "enter";
}
/**
* Used when leaving cyberland or jail
*/
| {
type: "leave";
}
/**
* Normal movement
*/
| {
type: "move";
});
export type PathfinderOptions = {
avoidMaps?: MapName[];
avoidTownWarps?: boolean;
getWithin?: number;
useBlink?: boolean;
costs?: {
blink?: number;
enter?: number;
town?: number;
transport?: number;
};
/** If set, we will console.log() messages */
showConsole?: boolean;
};