/** * THE MISSING SHIPMENT (T21, 2026-10-14; C3 in PLAN_1_TO_40.md, levels 12-18; design sheets `missing-shipment-1..6` in the * backend's design-references; plan `.cursor/task-plans/2026-10-14-t21-fair-contests-shipment.md`). * * Merchant Perrin's "Rumours" line at Bramble Fair Green becomes a real quest: a fair wagon of goods left for Calverton and never * arrived. Read the clues along the east road (wheel ruts, a spilled crate, a dropped ribbon), search the wrecked wagon at the * crossing, follow the bootprints down the side track into Reedmill Hollow, put down the camp's guards and its leader, take the * manifest off the loot pile and bring it back to Perrin. * * DECISION (recorded in the early-game program file): the trail ends INSIDE the existing strip, at Reedmill Hollow, a bowl of * low ground with a ruined mill south-east of the fair, not at Webfen Causeway: the sheets name no Webfen stop (the delivery * sheet only points "east, road to Webfen" as what comes next). Webfen stays a later place. * * The camp's people are existing fighters under their own names (hedge-thieves, a redcap archer and two redcaps, one of them * the leader), so no new creature kind is needed; the wreck, the huts, the crates and the ruin are existing models standing in * for the sheet's pieces (the sheet's own Blender kit is a later job). Every number is a WORLD tile. */ export declare const MISSING_SHIPMENT_ID = "missingShipment"; export declare const MISSING_SHIPMENT_NAME = "The Missing Shipment"; /** What the quest asks of the player before Perrin will offer it: a fight's worth of steel and a little tracking. */ export declare const MISSING_SHIPMENT_COMBAT = 12; export declare const MISSING_SHIPMENT_FORAGING = 5; export declare const MANIFEST_SCROLL_KIND = "manifestscroll"; export declare const CARTERS_GLOVES_KIND = "cartersgloves"; export declare const MISSING_SHIPMENT_ITEM_KINDS: readonly string[]; export declare const MISSING_SHIPMENT_ITEM_NAMES: Readonly>; export declare const MS_PROP: { /** The three clues along the east road: one touch step, three props. */ readonly clue: "msclue"; /** The three search points round the wrecked wagon: one touch step, three props. */ readonly wreck: "mswreck"; /** The camp's loot pile: hands over the manifest. */ readonly loot: "msloot"; }; export type MissingShipmentProp = { id: string; x: number; z: number; style: string; }; export declare const MS_CLUE_RUTS: MissingShipmentProp; export declare const MS_CLUE_CRATE: MissingShipmentProp; export declare const MS_CLUE_RIBBON: MissingShipmentProp; export declare const MS_WRECK_HARNESS: MissingShipmentProp; export declare const MS_WRECK_GOODS: MissingShipmentProp; export declare const MS_WRECK_DRAG: MissingShipmentProp; export declare const MS_LOOT_PILE: MissingShipmentProp; export declare const MISSING_SHIPMENT_PROPS: readonly MissingShipmentProp[]; /** What the game calls each piece (hover name). */ export declare const MISSING_SHIPMENT_PROP_NAMES: Readonly>; /** The model a Missing Shipment quest prop draws with (existing dreadmodels stand in), or null if not one of ours. */ export declare function missingShipmentPropModel(prop: string, style?: string): string | null; /** The wrecked wagon at the crossing south of the road's end (the existing fish-cart wreck stands in). */ export declare const MS_WRECK: { readonly x: 893; readonly z: 676; readonly model: "fishcartwreck"; readonly facing: "s"; }; /** Where the bootprints leave the wreck for the hollow: the side track's mouth, the `reach` step's ground. */ export declare const MS_SIDE_TRACK: { readonly minX: 899; readonly maxX: 905; readonly minZ: 678; readonly maxZ: 682; }; export declare const MS_SIDE_TRACK_AT: { readonly x: 902; readonly z: 680; readonly label: "the side track"; }; /** The worn track's waypoints, from the wreck east along the knoll's north shoulder and down into the hollow (the backend lays it three wide). */ export declare const MS_TRACK_WAYPOINTS: readonly { x: number; z: number; }[]; /** Reedmill Hollow: the bowl of low ground south-east of the fair, under the knoll. */ export declare const MS_HOLLOW: { readonly minX: 910; readonly maxX: 923; readonly minZ: 684; readonly maxZ: 699; }; export declare const MS_HOLLOW_AT: { readonly x: 917; readonly z: 691; readonly label: "Reedmill Hollow"; }; export type MissingShipmentPiece = { id: string; kind: string; x: number; z: number; style: string; scale?: number; }; /** The camp and the ruined mill: huts, a fire, crates and the mill's wall and wheel. Existing models and kinds. */ export declare const MS_CAMP_PIECES: readonly MissingShipmentPiece[]; /** The bandits (existing kinds, their own names). `leader` is the redcap the kill step names last. */ export declare const MS_GUARD_KINDS: readonly string[]; export declare const MS_LEADER_KIND = "redcap"; export declare const MS_GUARDS_TO_DEFEAT = 3; export declare const MS_BANDIT_NAME = "Reedmill Bandit"; export declare const MS_LOOKOUT_NAME = "Reedmill Lookout"; export declare const MS_LEADER_NAME = "Garr Hookhand"; export type MissingShipmentBandit = { id: string; kind: string; name: string; x: number; z: number; leash: number; }; export declare const MS_BANDITS: readonly MissingShipmentBandit[]; /** Placeholders (balance is done last): coins, Foraging and Explorer XP, a lump of combat XP to place, and the gloves. */ export declare const MISSING_SHIPMENT_REWARD: { readonly coins: 300; readonly foraging: 150; readonly explorer: 350; readonly choiceCombat: 300; }; //# sourceMappingURL=missingShipment.d.ts.map