/** * GULLHOOK HEAD (Eastern Marches zone B, levels 18-30; design sheet `gullhook-head`, ChatGPT sheet 03 of the Eastern Marches * brainstorm; T70 build 2026-10-14; plan `.cursor/task-plans/2026-10-14-t70-gullhook-head.md`). A coastal beacon hamlet on the * strip's north-east shore, north of Chalkshell Scarp, where the beacon chain from Windward Signal Field ends: a stone beacon tower * on the headland's hill reached by the Cliff Steps (a climb), a working landing of cottages, a salvage market and a cookhouse, a * cove with a timber pier (sea fishing), a quarry cut into the north-west rock (coal, iron, one gold seam), rock samphire on the * cove's sand, and a second, darker cove to the south-east where wreckers keep a camp round a wrecked hull and a false lantern. * Skerrow the Lamp-Snuffer, the wrecker chief, is the headland's boss (a telegraphed Gaff Haul). The sheet is 140 x 90 tiles; the * coast box here is 42 x 93, so the layout is turned and compressed (the same approach as the other zone A sites). * * DECISION (T70): no new strip. The sheet's "new land past the east shore" is the strip's own open north-east coast; the strip has * no real sea on its east edge (the world ends at x 925), so the two coves are carved water inside the box. Lantern Isle (the * sheet's ferry dock) is a later place. The pieces are stand-ins the kit already has (backend STAND_INS.md, upgrades list). * * Every number is a WORLD tile (the legacy frame the fair uses: x east, z south). The box is claimed in the program file. */ export type GullhookBox = { readonly minX: number; readonly maxX: number; readonly minZ: number; readonly maxZ: number; }; export type GullhookPiece = { readonly id: string; readonly model: string; readonly facing: 'n' | 's' | 'e' | 'w'; readonly x: number; readonly z: number; readonly scale?: number; }; export type GullhookQuestProp = { readonly id: string; readonly x: number; readonly z: number; readonly style: string; }; export type GullhookPlateau = { readonly id: string; readonly rect: GullhookBox; readonly height: number; readonly stone?: boolean; }; export type GullhookPath = { readonly w: number; readonly pts: readonly (readonly [number, number])[]; readonly stone?: boolean; }; export declare const GULLHOOK_NAME = "Gullhook Head"; export declare const GULLHOOK_ID = "gullhook-head"; /** The claimed ground: the strip's north-east coast, north of Chalkshell Scarp (z 494), the world's edge at x 925. */ export declare const GULLHOOK_BOX: GullhookBox; export declare const GULLHOOK_EASE = 3; /** The levelled places: the beacon hilltop, the hamlet's landing, the quarry's floor (sunk, stone), the wreckers' camp. */ export declare const GULLHOOK_PLATEAUS: readonly GullhookPlateau[]; /** * The two coves are carved water (the strip has no sea on this edge): an ellipse each, lowered to WATER_DROP below the ground round * it. The pier cove (north) is the fishing water; the wreckers' cove (south-east) holds the wrecked hull on its north shore. */ export type GullhookCove = { readonly id: string; readonly cx: number; readonly cz: number; readonly rx: number; readonly rz: number; }; export declare const GULLHOOK_COVES: readonly GullhookCove[]; export declare const GULLHOOK_WATER_DROP = 1.2; export declare function gullhookCoveAt(x: number, z: number): GullhookCove | null; /** The pier: Boards over the pier cove, two tiles wide, from the shore at x 903 to its end at x 919. */ export declare const GULLHOOK_PIER: { readonly minX: 903; readonly maxX: 919; readonly minZ: 441; readonly maxZ: 442; readonly height: 0.9; }; /** Sand along the pier cove's shore (rock samphire needs sand at the water's edge): the south and north rims, one tile wide beside the water. */ export declare const GULLHOOK_SAND: readonly GullhookBox[]; export declare const GULLHOOK_STANDS: { /** Where the track from Chalkshell Scarp comes in, at the south edge. */ readonly gate: { readonly x: 897; readonly z: 489; }; /** The landing: the salvage market and the cookhouse. */ readonly landing: { readonly x: 896; readonly z: 455; }; /** The foot of the Cliff Steps, by the lamplighter's cottage. */ readonly stairFoot: { readonly x: 895; readonly z: 446; }; /** The beacon tower's hilltop. */ readonly beacon: { readonly x: 897; readonly z: 420; }; /** The pier's root. */ readonly pier: { readonly x: 904; readonly z: 442; }; /** The quarry's rim. */ readonly quarry: { readonly x: 890; readonly z: 410; }; /** The wreckers' camp. */ readonly camp: { readonly x: 906; readonly z: 478; }; /** The wreck on the dark cove's shore. */ readonly wreck: { readonly x: 917; readonly z: 469; }; /** Skerrow's stand, at the false lantern on the southern point. */ readonly skerrow: { readonly x: 914; readonly z: 485; }; }; /** The tracks: from Chalkshell Scarp up the coast to the landing, the west road, to the pier, the Cliff Steps (stone), the quarry branch, the camp track. */ export declare const GULLHOOK_PATHS: readonly GullhookPath[]; export declare const GULLHOOK_PIECES: readonly GullhookPiece[]; /** Fence runs: rails round the quarry's cut (the plain `fence` kind), a landing rail above the pier cove. */ export declare const GULLHOOK_FENCES: readonly { readonly id: string; readonly x0: number; readonly z0: number; readonly x1: number; readonly z1: number; }[]; /** The quarry's seams (ORE_ROCK_KIND) along the cut's north and east faces: two coal, two iron and one gold seam (Mining 30). */ export declare const GULLHOOK_SEAMS: ReadonlyArray<{ id: string; x: number; z: number; style: 'coal' | 'iron' | 'gold'; }>; /** Rock samphire on the cove's sand (types potionMaking.ts samphire, Foraging 24): the cliff-and-shore forage. Placed by the backend on the nearest sand tile. */ export declare const GULLHOOK_SAMPHIRE_SPOTS: ReadonlyArray<{ x: number; z: number; }>; /** The sea fishing: tide snapper spots off the pier's two sides, conger at its end (the existing fish; Fishing 14 and 30). */ export declare const GULLHOOK_TIDE_SNAPPER_SPOTS: ReadonlyArray<{ x: number; z: number; }>; export declare const GULLHOOK_CONGER_SPOTS: ReadonlyArray<{ x: number; z: number; }>; export declare const GH_PROP: { readonly flotsam: "ghflot"; readonly cargo: "ghcargo"; readonly climb: "ghclimb"; readonly lamp: "ghlamp"; readonly falseLight: "ghfalse"; }; /** Lost on the Tide: three pieces of the boatwright's skiff washed up along the cove's south shore. */ export declare const GH_FLOT_OAR: GullhookQuestProp; export declare const GH_FLOT_NET: GullhookQuestProp; export declare const GH_FLOT_PLANK: GullhookQuestProp; /** Salvage Rights: three crates of marked cargo round the wreck. */ export declare const GH_CARGO_A: GullhookQuestProp; export declare const GH_CARGO_B: GullhookQuestProp; export declare const GH_CARGO_C: GullhookQuestProp; /** The Beacon Stair: four rope anchors, one by each landing, to touch from the foot to the top in order. */ export declare const GH_CLIMB_1: GullhookQuestProp; export declare const GH_CLIMB_2: GullhookQuestProp; export declare const GH_CLIMB_3: GullhookQuestProp; export declare const GH_CLIMB_4: GullhookQuestProp; export declare const GH_CLIMB_ORDER: readonly string[]; /** The beacon lamp at the tower's foot, and the wreckers' false lantern on the southern point. */ export declare const GH_LAMP: GullhookQuestProp; export declare const GH_FALSE_LIGHT: GullhookQuestProp; export declare const GULLHOOK_QUEST_PROPS: readonly GullhookQuestProp[]; /** The model a Gullhook quest prop draws with (CAPITAL_BUILDING_MODELS), or null for a prop that is not one of them. */ export declare function gullhookPropModel(prop: string): string | null; export declare const GULLHOOK_QUEST_PROP_NAMES: Readonly>; export declare const GULLHOOK_SIGNS: readonly { readonly id: string; readonly x: number; readonly z: number; readonly style: string; }[]; export declare const SKERROW_KIND = "skerrow"; export declare const SKERROW_NAME = "Skerrow the Lamp-Snuffer"; export declare const SKERROW_LEVEL = 30; export declare const SKERROW_HEALTH_SCALE = 1.7; export declare const SKERROW_MAX_HIT = 17; export declare const SKERROW_SCALE = 1; export declare const SKERROW_RESPAWN_MS: number; export declare const SKERROW_NOTE = "The wrecker chief of Gullhook, who snuffed the beacon and lit a false lantern on the southern point to put ships on the rocks. His Gaff Haul is announced a full turn ahead: step out of the boat hook's reach and the blow misses. Passive until struck."; export declare const SKERROW_SPAWN: { readonly x: 914; readonly z: 485; readonly leash: 4; }; /** The existing hostile kinds the headland uses, with the area line the guide gives each. */ export declare const GULLHOOK_EXISTING_KINDS: readonly ["greencrab", "cutthroat", "drowneddeckhand"]; export type GullhookExistingKind = (typeof GULLHOOK_EXISTING_KINDS)[number]; export type GullhookWildlifeSpot = { readonly kind: GullhookExistingKind | typeof SKERROW_KIND; readonly x: number; readonly z: number; readonly leash: number; }; export declare const GULLHOOK_WILDLIFE_SPOTS: readonly GullhookWildlifeSpot[]; export declare const GULLHOOK_PACE: { speed: number; idleChance: number; pause: readonly [3, 8]; }; /** What Skerrow leaves (existing goods only): coins, shell, coal and iron. */ export declare const GULLHOOK_DROPS: Readonly>; /** The Salvage-Master's counter (backend world.ts NAMED_SHOPKEEPERS): rods and line for the pier, and what the shore gives up, bought back at the other traders' prices. */ export declare const SALVAGE_SHOP_TITLE = "Ketty's Salvage Counter"; /** Where the quest helper and the guide say the headland is. */ export declare const GULLHOOK_PLACE_TEXT = "Gullhook Head is the beacon headland on the north-east shore, north of Chalkshell Scarp: follow the track north out of Chalkshell Scarp's burrow field along the coast to the landing under the stone beacon tower."; //# sourceMappingURL=gullhookHead.d.ts.map