export declare const TIDE_TUNNEL_NAME = "The Tidewater Run"; export declare const TIDE_TUNNEL_ID = "tide-tunnel"; export declare const TIDE_TUNNEL_COMBAT_LEVEL = 20; /** * The tunnel's tide, a fixed schedule on the wall clock (UTC ms since the epoch, as Date.now() gives it): every fifteen minutes the sea stands high * for 300 s (the mouth is awash and shut), ebbs for 60 s (still shut), lies LOW for 480 s (the way is open), then floods for 60 s (a warning to * everyone inside) and is high again, when anyone still inside is walked out. */ export declare const TIDE_TUNNEL_CYCLE_MS = 900000; export type TideTunnelPhase = 'high' | 'ebb' | 'low' | 'flood'; export declare function tideTunnelTide(nowMs: number): { phase: TideTunnelPhase; msUntilLow: number; msLeftLow: number; msUntilHigh: number; cycle: number; }; /** The way in is open only at low water (the ebb is still shut). */ export declare const isTideTunnelOpen: (nowMs: number) => boolean; /** The sea is in the tunnel: high water, when anyone inside is walked out. */ export declare const isTideTunnelFlooded: (nowMs: number) => boolean; /** "about 3 minutes" / "about 40 seconds". */ export declare function tideWaitText(ms: number): string; /** The gauge post's line (readable any time, quest or not). */ export declare function tideTunnelTideLine(nowMs: number): string; export declare const TIDE_TUNNEL_SHUT_TEXT = "The arch is awash and the Run behind it is full of sea. Read the gauge post for the next low water."; export declare const TIDE_TUNNEL_FLOOD_WARNING = "The sea is coming into the Run. Water licks at the floor of the Gallery: you have about a minute to get out before the tide fills it."; export declare const TIDE_TUNNEL_SWEPT_TEXT = "The sea fills the Run behind you and lifts you off your feet. It carries you out under the arch and sets you down on the rim, soaked, with everything you carried."; export declare const TIDE_TUNNEL_DOWN_TEXT = "You wade in under the arch. Water drips off the roof, crabs click somewhere ahead and the floor is still wet. The tide will be back."; export declare const TIDE_TUNNEL_UP_TEXT = "You wade out under the arch into the daylight and the wind off the sea."; export declare const TIDE_TUNNEL_DOWN_LABEL = "Wade into the Tidewater Run"; export declare const TIDE_TUNNEL_UP_LABEL = "Wade out to the Outer Rim"; export declare const TIDE_TUNNEL_MOUTH: { readonly x: number; readonly z: number; readonly style: "seacave-e"; }; /** Where a player comes out on the rim, in front of the arch (three tiles east of its centre). */ export declare const TIDE_TUNNEL_OUTSIDE: { readonly x: number; readonly z: number; }; export declare const TT_CX: number; export type TideTunnelRoom = { id: string; name: string; cx: number; minZ: number; maxZ: number; halfW: number; /** A named floor style of backend dungeonRooms.ts DUNGEON_FLOOR_STYLES, and a prop set of DUNGEON_PROP_SETS (absent: none). */ floor: 'sea-cave' | 'raw-warren' | 'worked-flagstone' | 'guard-post'; props?: 'guard-supplies' | 'abandoned-hall'; }; /** South to north: the Gallery where the arch lets you in, the Crab Warren, the Landing, the Vault; short flagstone passages join them. */ export declare const TT_GALLERY: TideTunnelRoom; export declare const TT_WARREN: TideTunnelRoom; export declare const TT_PASSAGE_A: TideTunnelRoom; export declare const TT_LANDING: TideTunnelRoom; export declare const TT_PASSAGE_B: TideTunnelRoom; export declare const TT_VAULT: TideTunnelRoom; export declare const TIDE_TUNNEL_ROOMS: readonly TideTunnelRoom[]; /** The four named rooms (the passages are not counted). */ export declare const TIDE_TUNNEL_NAMED_ROOMS: readonly TideTunnelRoom[]; /** The way out: the arch at the Gallery's south end (the Strand's `seacave-n` model facing north), clicked from z 464. */ export declare const TIDE_TUNNEL_EXIT: { readonly x: number; readonly z: 466; readonly style: "seacave-n"; }; /** Where a player arrives, a few steps up from the arch. */ export declare const TIDE_TUNNEL_ENTRY: { readonly x: number; readonly z: 462; }; /** The whole tunnel (the aggro rule, the tide sweep and the reach steps). */ export declare const TIDE_TUNNEL_BOX: { readonly minX: number; readonly maxX: number; readonly minZ: 397; readonly maxZ: 469; }; export declare function inTideTunnel(x: number, z: number): boolean; export declare const TIDE_TUNNEL_GALLERY_AREA: { readonly minX: number; readonly maxX: number; readonly minZ: number; readonly maxZ: number; }; export declare const TIDE_TUNNEL_VAULT_AREA: { readonly minX: number; readonly maxX: number; readonly minZ: number; readonly maxZ: number; }; /** Which end of the arch a caveentrance is: 'down' the rim's arch, 'up' the tunnel's; null for anything else (the Strand's arches share the model). */ export type TideTunnelDoor = 'down' | 'up'; export declare function tideTunnelDoorEnd(style: string | undefined, x: number, z: number): TideTunnelDoor | null; /** Every creature of the Run has this id prefix (the aggro rule, the quests' counts and the sweep's boss reset read it). */ export declare const TIDE_TUNNEL_ID_PREFIX = "tt-"; /** Reef crabs in the Gallery's corners and the Warren (the Knucklebone crab kind: a red shell as big as a dog). */ export declare const TT_CRABS: ReadonlyArray<{ x: number; z: number; }>; /** Island raiders (the wreckers' kind) hold the Landing; Skull Raiders the Vault's door. */ export declare const TT_RAIDERS: ReadonlyArray<{ x: number; z: number; }>; export declare const TT_SKULLS: ReadonlyArray<{ x: number; z: number; }>; /** The Tide-Reeve: a mid-boss in the Vault, one telegraphed blow (bossSignatures.ts `undertow`), back after four minutes. Drawn on an existing model. */ export declare const TIDE_REEVE_KIND = "tidereeve"; export declare const TIDE_REEVE_NAME = "Reeve Corwen Hale"; export declare const TIDE_REEVE: { readonly name: "Reeve Corwen Hale"; readonly level: readonly [number, number]; readonly maxHit: 16; readonly healthFactor: 1.5; readonly respawnMs: 240000; readonly aggro: 7; readonly leash: 12; readonly x: number; readonly z: 405; readonly spawnLeash: 2; readonly text: "Reeve Hale looks up from the tally slate. \"Low water is mine. Whatever the sea leaves in this Run, I count, and I keep.\""; readonly note: "The wreckers' Reeve, a tide-bailiff gone to the bad, who keeps the Run's loot in the vault under the Outer Rim. Every fourth blow is the Undertow: he drags a ring of the sea in round him, announced a full turn ahead and twice an ordinary hit. Step out of his reach before it lands and it misses. Two Skull Raiders stand at the vault's door."; }; export declare function isTideTunnelHostileKind(kind: string): boolean; export declare const TT_PROP: { readonly gauge: "ttgauge"; readonly cache: "ttcache"; }; /** The tide gauge post on the rim beside the arch: reads the tide any time. */ export declare const TT_GAUGE: { readonly id: "tt-gauge"; readonly x: number; readonly z: number; readonly style: "ttgauge:post"; }; /** The Reeve's cache at the back of the vault: a smugglers' strongbox, once per character. */ export declare const TT_CACHE: { readonly id: "tt-cache"; readonly x: number; readonly z: 401; readonly style: "ttcache:reeve"; }; export declare const TIDE_TUNNEL_PROPS: ReadonlyArray<{ id: string; x: number; z: number; style: string; }>; export declare function ttPropModel(prop: string): string | null; export declare const TIDE_TUNNEL_PROP_NAMES: Readonly>; /** The surface sign at the arch. */ export declare const TIDE_TUNNEL_SIGN: { readonly id: "tt-sign"; readonly x: number; readonly z: number; readonly text: "The Tidewater Run. An old smugglers' run under the Outer Rim, open only at low water: read the gauge post. Combat 20+. The sea fills it every fifteen minutes and carries out whoever is still inside."; }; /** What the cache pays, once per character (the Ledger mark is the memory), and the Explorer XP its Ledger line carries. */ export declare const TT_CACHE_COINS = 900; export declare const TT_CACHE_ITEMS: ReadonlyArray<{ kind: string; qty: number; }>; export declare const TT_CACHE_OPEN_TEXT = "You prise the strongbox open: coins, salt-stiff and green, and a pair of silver bars wrapped in oilcloth. The Reeve's cut of every cargo that ever came through the Run."; export declare const TT_CACHE_EMPTY_TEXT = "The strongbox stands open and empty. You have had the Reeve's cut."; /** Standable tiles (teleport links, smokes). */ export declare const TIDE_TUNNEL_STANDS: { readonly mouth: { readonly x: number; readonly z: number; }; readonly gauge: { readonly x: number; readonly z: number; }; readonly gallery: { readonly x: number; readonly z: 462; }; readonly warren: { readonly x: number; readonly z: 448; }; readonly landing: { readonly x: number; readonly z: 428; }; readonly vault: { readonly x: number; readonly z: 412; }; }; /** The Tidewater Run's lines (marked by the server, ids are the marks it writes; explorerLedger.ts section `tunnel`). */ export declare const LEDGER_TUNNEL_LINES: readonly { id: string; label: string; }[]; export declare const LEDGER_TUNNEL_XP = 60; //# sourceMappingURL=tideTunnel.d.ts.map