/** * PIRATE BAY PHASE 3: PORT BLACKWAKE, the hostile pirate town (James's round-2 sheets pirate-bay-a03 "Port Blackwake", * a04-v2 "The Crooked Gull, a pirate brawl den", a06 "The pirate docks and shipwright", a12 "The bay's building and prop kit", * 2026-10-15; plan dreadwoods/.cursor/task-plans/2026-10-15-pirate-bay-phase3.md). * * Where: the empty meadow and the north beach west of the Landing (A2 draws the port beside the Landing along the north shore). * The town gate faces the bridge road; a main street runs west along the meadow north of the Sea Grotto; the Crooked Gull stands * by the beach, its door on the quay side; the docks and shipwright fill the west beach (a dry dock slip, a careened hull, the * rope walk and sail rack, a beached rowing boat); stilt shanties stand over the water off the beach; and the guarded jetty runs * north into the channel to the end platform where the boss ship will moor (phase 4). Every pirate attacks on sight; there is no * trade, service or quest giver in the town (James's rule): Quartermaster Kit and Map-reader Iona at the Castaway Camp give the * two quests. Levels 10-20 (lookouts 10, deckhands 15, cutthroats 20). * * Every number is a WORLD tile in the final frame (public). Backend portBlackwake.ts lays it on the finished world with the south * kit; the coast pieces (shore steps, walks, corner, shanties) reuse the cove's measured models (blackwakeCoast.ts). */ import { type CoastPart } from './blackwakeCoast.js'; /** The town's box, for the guide, the music zone and the smoke. */ export declare const PORT_BLACKWAKE: { readonly minX: 586; readonly maxX: 665; readonly minZ: 1020; readonly maxZ: 1092; }; export declare const PORT_BLACKWAKE_NAME = "Port Blackwake"; export declare function inPortBlackwake(x: number, z: number): boolean; /** A building or prop: a Blender model from quest-workshop/portblackwake (or the cove's kit), turned by its facing. */ export type PortPart = Readonly<{ id: string; model: string; x: number; z: number; facing: 'n' | 'e' | 's' | 'w'; }>; export declare const PORT_BLACKWAKE_PARTS: readonly PortPart[]; /** The campfires the crews sit round (campfire entities, lit). */ export declare const PORT_BLACKWAKE_FIRES: ReadonlyArray<{ x: number; z: number; }>; /** * The stilts and the guarded jetty: the cove's measured coast models, decks 3 m over the water. Shore steps climb off the west * beach; the jetty runs north to the end platform (the boss ship's berth, phase 4); a walkway runs east off it to two shanties * north of it and one south. */ export declare const PORT_BLACKWAKE_COAST: readonly CoastPart[]; /** Every deck tile of the stilts and the jetty, with its height. A later piece wins a shared tile. */ export declare const PORT_BLACKWAKE_COAST_FLOORS: ReadonlyArray<{ x: number; z: number; metres: number; }>; /** The guarded jetty's end platform: the boss ship's berth (phase 4) and The Guarded Jetty's reach step. */ export declare const PB_JETTY_END: { readonly minX: 604; readonly maxX: 607; readonly minZ: 1023; readonly maxZ: 1026; }; /** The Crooked Gull's brawl room (its interior tiles, the door facing north). */ export declare const PB_GULL_ROOM: { readonly minX: 643; readonly maxX: 649; readonly minZ: 1063; readonly maxZ: 1067; }; export declare function inPbGullRoom(x: number, z: number): boolean; /** The town's crew: every one a Blackwake pirate who attacks on sight (npcs.ts BLACKWAKE_AGGRO), leashed to their spot. */ export type PortCrew = Readonly<{ kind: 'lookout' | 'blackwakedeckhand' | 'cutthroat'; x: number; z: number; name?: string; radius?: number; }>; export declare const PB_TAVERN_CAPTAIN_NAME = "Tavern Captain Garrick Mott"; /** The guarded jetty's officer (pirate bay, The Captain's Stash): the cutthroat in charge of the end platform. */ export declare const PB_JETTY_OFFICER_NAME = "Jetty Officer Crane"; export declare const PORT_BLACKWAKE_CREW: readonly PortCrew[]; export declare const PB_PROP: { /** The castaways' stolen supply crates, behind the Crooked Gull's bar (The Crooked Gull). */ readonly supplies: "pbsupplies"; /** The signal lantern on the guarded jetty's end platform (The Guarded Jetty). */ readonly signal: "pbsignal"; /** The weathered sea chest half-buried by the rope walk, with Rowena's old logbook in it (The Captain's Stash, sheet C11). */ readonly stash: "pbstash"; }; export type PortProp = { id: string; x: number; z: number; style: string; }; export declare const PB_SUPPLIES: PortProp; export declare const PB_SIGNAL: PortProp; export declare const PB_STASH: PortProp; export declare const PORT_BLACKWAKE_QUEST_PROPS: readonly PortProp[]; export declare function portBlackwakePropModel(prop: string): string | null; export declare const PORT_BLACKWAKE_PROP_NAMES: Readonly>; /** The place text the guide and the arrival line use. */ export declare const PORT_BLACKWAKE_PLACE_TEXT: string; //# sourceMappingURL=portBlackwake.d.ts.map