/** * THE GRAVEWATCH quest chain (slice A6, T72 2026-10-14; plan `.cursor/task-plans/2026-10-14-t72-gravewatch.md`; the layout, the post and the * Tomb Warden are in gravewatch.ts). Sexton Dunmore keeps the Gravewatch post, a safe pocket just south of the Crypt Grounds' gate, and * gives five quests, levels 22-28, each needing the one before: * * 1. The Sexton's Lantern (Combat 22) put down six Grave Hounds, then tell Dunmore * 2. Names on the Stones (Combat 22) read three headstones inside the grounds; Dunmore works out the order they name * 3. Three Braziers (Combat 24) THE TIMED RUN: an eight minute clock (the story engine's `clock`, the Night Mail's): go in, light * the west, east and steps braziers in the order the stones gave, ring the sexton's bell at the * steps, and be back at the post before the clock runs out; a wrong brazier puts out the lot and * loses time, and a lost run starts again from the first step * 4. The Tomb Warden (Combat 26) put down the lair mini-boss (telegraphed Tomb Hammer, step clear to dodge); his seal to Dunmore * 5. Seal the Crypt (Combat 28) put down the Crypt Knight, set the seal in the mausoleum door, tell Dunmore: the Ledger page * * Why the story engine's clock and not the Rat Caves' TimedRun (timedRun.ts): a TimedRun puts you in a place of its own and walks you out at * the deadline, which the open Crypt Grounds are not; the story clock is the same wall-clock engine (saved with the progress, runs through a * logout and a restart, fails the run cleanly and offers it again) with a prop sequence in it. Decision logged in the plan file. * * Every number here is a PLACEHOLDER for the balance pass. Every position is a WORLD tile inside the Crypt Grounds (centre 320,640). */ import type { LanternWakeQuestProp } from './lanternWakeQuests.js'; export declare const GRAVEWATCH_QUEST_IDS: readonly ["sextonsLantern", "namesOnTheStones", "threeBraziers", "theTombWarden", "sealTheCrypt"]; export type GravewatchQuestId = (typeof GRAVEWATCH_QUEST_IDS)[number]; /** Combat levels each quest asks. */ export declare const GRAVEWATCH_COMBAT_LEVELS: Readonly>; export declare const GRAVEWATCH_QUEST_NAMES: Readonly>; /** How many Grave Hounds quest 1 wants, and how many headstones quest 2. */ export declare const GRAVEWATCH_HOUNDS_TO_DEFEAT = 6; export declare const GRAVEWATCH_STONES_TO_READ = 3; /** The timed run (quest 3): eight minutes from the moment it is accepted, with warnings at three minutes, one and half a minute left. */ export declare const GRAVEWATCH_RUN_MS: number; export declare const GRAVEWATCH_RUN_WARN_MS: readonly number[]; /** What each quest pays: coins, Explorer XP, a combat XP lump and silver (the metal the dead mind). Placeholders. */ export declare const GRAVEWATCH_REWARDS: { readonly sextonsLantern: { readonly coins: 600; readonly explorerXp: 350; readonly choiceXp: 1000; readonly silverBars: 0; }; readonly namesOnTheStones: { readonly coins: 500; readonly explorerXp: 300; readonly choiceXp: 0; readonly silverBars: 1; }; readonly threeBraziers: { readonly coins: 1100; readonly explorerXp: 650; readonly choiceXp: 1500; readonly silverBars: 2; }; readonly theTombWarden: { readonly coins: 1500; readonly explorerXp: 800; readonly choiceXp: 2000; readonly silverBars: 3; }; readonly sealTheCrypt: { readonly coins: 2500; readonly explorerXp: 1200; readonly choiceXp: 3000; readonly silverBars: 3; }; }; /** The final quest's gear piece: a silver dagger (existing item, forged at Blacksmithing 34), the Crypt gear placeholder. */ export declare const GRAVEWATCH_FINAL_GEAR = "silverdagger"; export declare const GRAVEWARDEN_SEAL_KIND = "gravewardenseal"; export declare const GRAVEWATCH_QUEST_ITEM_KINDS: readonly string[]; export declare const GRAVEWATCH_QUEST_ITEM_NAMES: Readonly>; export declare const GRAVEWATCH_QUEST_ITEM_NOTES: Readonly>; export declare const GV_PROP: { readonly stone: "gvstone"; readonly brazier: "gvbrazier"; readonly bell: "gvbell"; readonly door: "gvdoor"; }; /** The three headstones that name the order: the lamplighter, his wife and the sexton before them. */ export declare const GV_STONE_WEST: LanternWakeQuestProp; export declare const GV_STONE_EAST: LanternWakeQuestProp; export declare const GV_STONE_STEPS: LanternWakeQuestProp; export declare const GV_STONES: readonly LanternWakeQuestProp[]; /** The three braziers: the west wall, the east wall and the mausoleum steps. */ export declare const GV_BRAZIER_WEST: LanternWakeQuestProp; export declare const GV_BRAZIER_EAST: LanternWakeQuestProp; export declare const GV_BRAZIER_STEPS: LanternWakeQuestProp; export declare const GV_BRAZIERS: readonly LanternWakeQuestProp[]; /** The right order: west, east, steps (the stones say who lit which, and the steps last). */ export declare const GRAVEWATCH_BRAZIER_ORDER: readonly string[]; /** The sexton's bell by the mausoleum steps, rung when the three burn; and the mausoleum door, where the Warden's seal is set (quest 5). */ export declare const GV_BELL: LanternWakeQuestProp; export declare const GV_DOOR: LanternWakeQuestProp; export declare const GRAVEWATCH_QUEST_PROPS: readonly LanternWakeQuestProp[]; /** The grounds inside the railing, for the `reach` step (world tiles, inclusive). */ export declare const GRAVEWATCH_CRYPT_AREA: { readonly minX: 303; readonly maxX: 337; readonly minZ: 629; readonly maxZ: 651; }; /** The post's yard, for the final talk steps' helper. */ export declare const GRAVEWATCH_POST_AREA: { readonly minX: 308; readonly maxX: 332; readonly minZ: 662; readonly maxZ: 676; }; /** The kit model a Gravewatch quest prop draws with (CAPITAL_BUILDING_MODELS stand-ins), or null if not one of them. */ export declare function gravewatchPropModel(prop: string): string | null; /** What the game calls each prop (hover name, guide). */ export declare const GRAVEWATCH_QUEST_PROP_NAMES: Readonly>; /** What a prop says when no step wants it. */ export declare const GRAVEWATCH_PROP_IDLE_LINES: Readonly>; /** The effect names the backend does on a wrong brazier (nothing extra: the clock is the punishment) - kept for the guide only. */ export declare const GRAVEWATCH_WRONG_BRAZIER_NOTICE = "The wrong brazier! The flames gutter and go out, one after the other, and the graves round you stir. Start again from the first."; /** The Ledger line for the final quest's page: the Tomb Warden's fall is a boss line (explorerLedger.ts LEDGER_BOSSES); the quests are derived. */ export declare const GRAVEWATCH_LEDGER_BOSS: { readonly kind: "skeletonwarden"; readonly label: "The Tomb Warden"; }; //# sourceMappingURL=gravewatchQuest.d.ts.map