/** * THE IRONJAW WATCH (coverage slice 7, track T105, 2026-10-14; plan `.cursor/task-plans/2026-10-14-t105-ogre-camp-beacon-night.md`; * levels 34-38): a Scout-Captain's camp at the southern edge of the ogre approaches, in the PvP Dreadwoods, 55 tiles south of the Ogre * Fortress. Since 2026-10-17 it is also the gathering post of the Spider Matriarch's lair (Spider Hollow, 14 rows south of it; lairPockets.ts). It is a SAFE POCKET (one line in safePockets.ts: nobody can attack anybody inside), with a camp cook, a quartermaster (both * camp traders, campTraders.ts), a Bounty Board (the generic `bountyboard`: the Ironjaw ogre contracts are already on every board), the * Scout-Captain who gives the three quests (ironjawWatchQuests.ts), and a Lean Rules tag: three Ironjaw ogres felled in one outing with no * healing (leanRules.ts `lean:approach-3`). * * It complements, and never repeats, Breaking the Ironjaw (ironjawSiege.ts, Fenwick's war camp: clear the outposts, run the ram to the * gate). This camp WATCHES: tracks to read, fires to count from the lookout mounds, and a lean walk. The fortress's palisade gate stays * sealed (areaGates.ts 'ogre-fortress'); nothing here opens it. * * Pure data with type-only imports, so safePockets.ts (and so zones.ts) can read it without importing the rest: the fortress's numbers * are written out here and pinned equal in the types test. Every number is a WORLD tile and a PLACEHOLDER for the balance pass. */ import type { LanternWakeBox } from './lanternWake.js'; export declare const IRONJAW_WATCH_NAME = "The Ironjaw Watch"; export declare const IRONJAW_WATCH_ID = "ironjaw-watch"; /** The ogre approaches (coverage slice 7's empty block): the camp, the lookout mounds, the sign props and the fortress's outposts are inside it. */ export declare const IRONJAW_APPROACH: LanternWakeBox; /** The camp's ground, and the SAFE POCKET (every tile of it). The Fortress (540,360) lies 55+ tiles north; its zone ends at z 379. */ export declare const IRONJAW_WATCH: LanternWakeBox; export declare const IRONJAW_WATCH_SAFE_POCKET: LanternWakeBox; export declare const IRONJAW_WATCH_ENTER = "You step into the Ironjaw Watch. Nobody can attack you inside the lanterns, and the ogres do not come this far south."; export declare const IRONJAW_WATCH_LEAVE = "You step out of the Ironjaw Watch. This is Dreadwoods ground again: other players can attack you, the ogres lie to the north, and Spider Hollow, the Matriarch's lair, lies to the south."; export declare const IRONJAW_WATCH_SIGN = "The Ironjaw Watch. No fighting inside the lanterns. The Ironjaw ogres hold the old fortress to the north (Combat 34+ to hunt them, and the fortress gate is sealed). A camp cook, a quartermaster and a Bounty Board stand here; the Scout-Captain keeps the watch. This is Dreadwoods ground: players can attack you outside the lanterns."; export type IronjawWatchProp = { id: string; kind: 'dreadprop' | 'dreadmodel' | 'campfire' | 'barrel' | 'signpost' | 'bountyboard'; style: string; x: number; z: number; scale?: number; }; /** Stand-in pieces from the Dreadwoods kit (logged as an upgrade): a tent, the fire, the board, stores, lanterns, a banner and the sign. */ export declare const IRONJAW_WATCH_PIECES: readonly IronjawWatchProp[]; /** The Scout-Captain (types fairFolk.ts id `ironjawcaptain`, a resident by name): the three quests' giver. */ export declare const IRONJAW_CAPTAIN_ID = "ironjawcaptain"; export declare const IRONJAW_CAPTAIN_NAME = "Scout-Captain Maren Voss"; export declare const IRONJAW_CAPTAIN_SPOT: { readonly x: 545; readonly z: 437; readonly faceX: 541; readonly faceZ: 438; }; export declare const IRONJAW_CAPTAIN_LINE = "Scout-Captain Voss does not look away from the northern ridge. \"Count the fires, not the ogres. The fires tell you how many are home.\""; /** Where the standable spots are, for the teleports, the smokes and the helper. */ export declare const IRONJAW_WATCH_STANDS: { readonly outside: { readonly x: 541; readonly z: 450; }; readonly camp: { readonly x: 540; readonly z: 440; }; readonly board: { readonly x: 547; readonly z: 435; }; }; export declare function inIronjawWatch(x: number, z: number): boolean; export declare function inIronjawApproach(x: number, z: number): boolean; export declare const IW_PROP: { readonly sign: "ogresign"; }; export type IronjawWatchProp2 = { id: string; x: number; z: number; style: string; }; /** Three ogre signs on the approach, all outside the fortress's zone (z > 379): tracks, gnawed bones and a cold fire ring. */ export declare const IW_SIGN_TRACKS: IronjawWatchProp2; export declare const IW_SIGN_BONES: IronjawWatchProp2; export declare const IW_SIGN_FIRE: IronjawWatchProp2; export declare const IW_SIGNS: readonly IronjawWatchProp2[]; export declare const IRONJAW_WATCH_QUEST_PROPS: readonly IronjawWatchProp2[]; /** The two lookout mounds, west and east of the fortress and well outside its zone: you see the outposts' fires from each. */ export declare const IW_LOOKOUT_WEST: { readonly x: 496; readonly z: 394; readonly label: "the west lookout mound"; }; export declare const IW_LOOKOUT_EAST: { readonly x: 584; readonly z: 394; readonly label: "the east lookout mound"; }; export declare const IW_LOOKOUT_AREAS: { readonly west: { readonly minX: number; readonly maxX: number; readonly minZ: number; readonly maxZ: number; }; readonly east: { readonly minX: number; readonly maxX: number; readonly minZ: number; readonly maxZ: number; }; }; /** The model an ogre-sign prop draws with (a clue marker stand-in), or null if not one of them. */ export declare function ironjawWatchPropModel(prop: string): string | null; export declare const IRONJAW_WATCH_QUEST_PROP_NAMES: Readonly>; /** What a sign says when no step wants it. */ export declare const IRONJAW_WATCH_PROP_IDLE_LINES: Readonly>; export declare const IRONJAW_WATCH_ZONE_LABEL = "The Ironjaw Watch"; /** The Lean tag's wording: the approach's ogres. */ export declare const IRONJAW_WATCH_LEAN_NOTE = "Three Ironjaw ogres felled on the approach in one outing, with no healing, is a lean outing of its own (the Explorer's Ledger, The Lean Rules)."; //# sourceMappingURL=ironjawWatch.d.ts.map