/** * The Western Entrance's foraging belt and its first quest (2026-10-10; backend NEXT_STEPS "The Western Entrance and the * Western Lands", items 3 and 4). FINAL world frame (x east, z south, the /tp frame), like westernEntrance.ts. * * THE BELT: wild thyme (the potion herb, its patches in potionMaking.ts HERB_PATCH_SPOTS) along the arrival road and the * lookout path; brambles and field mushrooms (foragePatches.ts) along the paths, the meadow edges and the copses' rims, and * on the east meadow past the goods yard. The backend places every patch on the finished headland (src/westernBelt.ts), * each on the nearest open tile to its spot, never on a path, under a tree or within reach of the train's line. * * LOST SUPPLIES (Porter Dunna, the first of the six quest hooks on the masterplan sheet): the supply wagon came down the * neck with a cracking axle and shed three crates of the station's stores on the way. Find them (on the neck, by the * lookout path and out on the east meadow), refill the one the gulls split with blackberries and field mushrooms from the * belt, bring the lot to Dunna on Platform Two in the goods yard, and let Station Master Hamrik sign for it. The crates * are quest props placed after every other western piece (src/westernBelt.ts), so none can displace the station or the line. */ import type { HerbKind } from './potionMaking.js'; import type { ForageKind } from './foragePatches.js'; /** * A crate of the station's stores, picked up where the wagon shed it. No trader buys one: a lost crate is found again at * its spot while the quest still wants it (backend storyQuests.ts refindLost), so a price would make that a coin loop. */ export declare const STATION_CRATE_KIND = "stationcrate"; export declare const WESTERN_PROP: { /** A supply crate off the wagon, drawn with the starter hub's lost-tools crate. */ readonly crate: "lostsupply"; /** Field Shrine Mystery: the old farmers' field shrine on the east meadow, drawn with Hollin Brook's wayside cross. */ readonly shrine: "fieldshrine"; /** Field Shrine Mystery: the signs along the trail back from the shrine (boot prints, a station lantern). */ readonly trail: "shrinetrail"; /** Field Shrine Mystery: the hawthorn thicket by the shrine the player keeps watch from, drawn with the South Fields' hedge. */ readonly hide: "shrinehide"; }; export type WesternPropPlace = { id: string; x: number; z: number; style: string; scale: number; }; /** At the foot of the neck, beside the arrival road, where the axle gave. */ export declare const LOST_SUPPLY_NECK: WesternPropPlace; /** On the verge of the lookout path, south of the knoll, where the wagon turned the wrong way. */ export declare const LOST_SUPPLY_LOOKOUT: WesternPropPlace; /** Out on the east meadow past the goods yard, where it rolled off the last bend. */ export declare const LOST_SUPPLY_MEADOW: WesternPropPlace; export declare const LOST_SUPPLY_CRATES: readonly WesternPropPlace[]; /** * The model a Western Entrance quest prop draws with (CAPITAL_BUILDING_MODELS), or null for a prop that is not one of them. * `style` picks between a prop's pieces (the shrine trail's prints and its lantern). */ export declare function westernPropModel(prop: string, style?: string): string | null; /** The hub's two dwarves (westernEntrance.ts WESTERN_STATION_FOLK), each the only one of their kind. */ export declare const WESTERN_DUNNA: { readonly kind: "stationporter"; readonly name: "Porter Dunna"; }; export declare const WESTERN_HAMRIK: { readonly kind: "stationmaster"; readonly name: "Station Master Hamrik"; }; /** * Wild thyme along the arrival road's verges and the lookout path: the potion herb's own patches (potionMaking.ts adds * these to HERB_PATCH_SPOTS; the backend skips them in the old frame and places them on the finished headland). */ export declare const WESTERN_HERB_SPOTS: ReadonlyArray<{ herb: HerbKind; x: number; z: number; }>; /** Brambles along the paths and the meadow edges, and on the east meadow past the goods yard; mushrooms at the copses' rims. */ export declare const WESTERN_FORAGE_SPOTS: ReadonlyArray<{ forage: ForageKind; x: number; z: number; }>; /** Where the quest helper points for the belt's picks. */ export declare const WESTERN_BELT_PLACE: { readonly x: 40; readonly z: 1166; readonly label: "the lookout path"; }; export declare const WESTERN_MUSHROOM_PLACE: { readonly x: 84; readonly z: 1178; readonly label: "the copses south of the station"; }; /** The arrival road's thyme verges, where the helper points when no thyme patch is in reach of the map. */ export declare const WESTERN_THYME_PLACE: { readonly x: 55; readonly z: 1132; readonly label: "the arrival road"; }; /** * HERBAL REMEDIES (2026-10-10): Porter Dunna has the platform cough from a week of hauling crates through the sea fog, and * Station Master Hamrik's grandmother had a cure for it: wild thyme, ground and steeped in good water. That is the Mini * Cooking Boost Potion of Potion Making (wild thyme and a vial of water, level 1), which Tansy's shop sells as a cook's * draught. Pick the headland's thyme, brew it at the porters' cauldron in the goods yard and take it to Dunna on Platform * Two; then tell Hamrik. * * A level 1 player has no pestle and mortar (Tansy's Cauldron gives Corvin's), so the porters' cauldron has a mortar * chained to it that it lends for this one draught (backend src/westernRemedy.ts): only while the quest wants a draught * and the bag holds none, one brew at a time. Nothing is handed over that could be lost or sold. Hamrik gives the one Vial * of Water on accept; a lost, sold or drunk draught or vial is put right by buying a vial from Porter Dunna's station * stores at Tansy's price (every trader pays a coin for one, so buying back is never a profit) and picking more thyme. */ export declare const WESTERN_REMEDY_POTION = "minicookingpotion"; /** * The porters' cauldron (kind `cauldron`, style `cauldron-`), by the goods yard's service shelter on the stone * apron south of the siding: far off the train's rows (z 1146-1160), placed in the final frame after every western piece * (src/westernBelt.ts), on the nearest open apron tile to its spot. Solid, like every cauldron. */ export declare const WESTERN_PORTERS_CAULDRON: { readonly id: "western-porters-cauldron"; readonly x: 125; readonly z: 1170; readonly facing: "s"; }; export declare const WESTERN_PORTERS_CAULDRON_NAME = "Porters' Cauldron"; /** What the porters' cauldron's panel says while its mortar is lent. */ export declare const WESTERN_LENT_MORTAR_TEXT = "The porters' mortar is chained to this cauldron. Hamrik lends it for one thyme draught at a time: wild thyme and a Vial of Water."; /** The station stores Porter Dunna keeps (backend world.ts): Vials of Water, at Tansy's price. */ export declare const WESTERN_STORES_TITLE = "Station Stores"; /** * FIELD SHRINE MYSTERY (2026-10-10): since Lost Supplies brought the stores in, Porter Dunna's tally comes out one oatcake * short every morning, and the old farmers' field shrine on the east meadow (older than the line) has a fresh candle on it * every dawn. Look the shrine over (a brass button in the mud), follow the boot prints back west towards the station, keep * watch from the hawthorn by the shrine and see who comes: Station Master Hamrik, with an oatcake and a light for his * grandmother, who led the crew that cut the line's bore under the sea and was the last one out the night the sea came * in. Show him the button, then decide what to tell Dunna. * * The props are quest props placed by the backend's belt (src/westernBelt.ts) after every other western piece, each on * the nearest open headland tile to its spot, outside every keep-out (the line and its step-aside rows, the hub, the * causeway), solid. The watch is a channel (backend src/westernShrine.ts): the player crouches in the thicket and must * keep still; moving, a fight or a restart breaks it, and a click on the thicket starts it again. */ /** The brass button off Hamrik's coat, found in the mud by the shrine. No trader buys one (the story engine finds it again). */ export declare const BRASS_BUTTON_KIND = "brassbutton"; export declare const BRASS_BUTTON_NAME = "Brass Coat Button"; /** The old field shrine near the meadow's cliff edge, east of the goods yard; its niche faces south, the camera's side. */ export declare const FIELD_SHRINE: WesternPropPlace; /** The hawthorn thicket a few paces south of the shrine (on the camera's side, so a watcher has the shrine in front of them), where the player hides to keep watch. */ export declare const SHRINE_HIDE: WesternPropPlace; /** The trail back from the shrine, west towards the station: prints in the meadow, a lantern by the copse, prints at the yard. */ export declare const SHRINE_TRAIL_MEADOW: WesternPropPlace; export declare const SHRINE_TRAIL_LANTERN: WesternPropPlace; export declare const SHRINE_TRAIL_YARD: WesternPropPlace; export declare const SHRINE_TRAIL: readonly WesternPropPlace[]; /** Every Field Shrine Mystery prop, in the order the belt places them. */ export declare const FIELD_SHRINE_PROPS: readonly WesternPropPlace[]; /** What the game calls each piece (the client's hover name, the guide). */ export declare const FIELD_SHRINE_NAMES: Readonly>; /** How long the watch from the thicket lasts, held still (a channel), and what its bar says. */ export declare const SHRINE_WATCH_MS = 8000; export declare const SHRINE_WATCH_LABEL = "Keeping watch"; /** Where the quest helper points for the shrine. */ export declare const FIELD_SHRINE_PLACE: { readonly x: number; readonly z: number; readonly label: "the field shrine on the east meadow"; }; //# sourceMappingURL=westernQuests.d.ts.map