/** * RIVER FISH: the Salmon Leap at the Thaw Fall (James, 2026-10-03, W-084: "make the Capital Aquarium's Crown tanks real * book habitats ... River Fish first, a river fishing spot on the Thaw with two or three new fish"; plan * `.cursor/task-plans/2026-10-03-river-fish.md`). * * Where the sea comes in over the lip and falls into the Thaw's gorge (landmarks.ts THAW_FALLS_Z), a stair is cut down * the gorge's west side to a timber stage one step over the plunge pool. From the stage a fly rod (woodwork.ts: the * fly fishing rod, a fishing line and a fly hook, as for the Trout Fishery's trout) takes three river fish: the * Grayling, the Arctic Char and, rarest, the Salmon that leap the fall. They cook, and they fill the aquarium book's * River Fish page (aquarium.ts), whose big tank is the Capital Aquarium's (capitalAquarium.ts). * * World tiles, absolute. Backend builder: salmonLeap.ts (after the Thaw gorge is cut). Blender pieces: * quest-workshop/scripts/salmonleap_v00N.py (slstage, slstairrail, slsign). */ export declare const SALMON_LEAP_NAME = "The Salmon Leap"; export declare const RAW_GRAYLING_KIND = "rawgrayling"; export declare const COOKED_GRAYLING_KIND = "cookedgrayling"; export declare const RAW_CHAR_KIND = "rawchar"; export declare const COOKED_CHAR_KIND = "cookedchar"; export declare const RAW_SALMON_KIND = "rawsalmon"; export declare const COOKED_SALMON_KIND = "cookedsalmon"; export type RiverFish = { /** The raw catch's item kind. */ kind: string; /** Its cooked item kind. */ cooked: string; label: string; /** Fishing level to catch it. */ level: number; /** Fishing XP per catch. */ xp: number; /** Its share of the bites once you can catch it (the Salmon is the rare one). */ weight: number; }; /** In ladder order. Trout is 30, frost pike 35, sea bass 40: the Salmon (45) is the best catch in the game. */ export declare const RIVER_FISH: readonly RiverFish[]; /** Fishing level to fish the Salmon Leap at all (its commonest fish). */ export declare const RIVER_FISHING_LEVEL: number; export declare function riverFish(kind: unknown): RiverFish | null; /** The river fish a Fishing level can catch, in ladder order. */ export declare function riverFishFor(fishingLevel: number): RiverFish[]; /** * Which fish a bite at the Salmon Leap is, for a Fishing level and a roll in [0, 1): weighted among the fish that level * can catch, so a Fishing 25 angler only ever lands Grayling and a Fishing 45 one lands a Salmon about one bite in * seven. Null below RIVER_FISHING_LEVEL. Pure, so the server and the tests agree. */ export declare function pickRiverCatch(fishingLevel: number, roll: number): RiverFish | null; /** The stage: a stone ledge one step over the plunge pool, decked in timber. */ export declare const SALMON_LEAP_STAGE: { readonly minX: 236; readonly maxX: 237; readonly minZ: 95; readonly maxZ: 101; readonly height: -7; }; /** * The stair from the west bank down to the stage, top first: off the bank at (234, 110) onto the rim, then into the * gorge and north down its west side, one height step a tile, to the stage's level. */ export declare const SALMON_LEAP_STAIR: ReadonlyArray<{ x: number; z: number; height: number; }>; /** The bank tile the stair leaves from (height 4, the gorge's west bank). */ export declare const SALMON_LEAP_HEAD: { readonly x: 234; readonly z: 110; }; /** Where the river fish rise: three water tiles of the plunge pool beside the stage, each within a cast of its deck. */ export declare const SALMON_LEAP_SPOTS: ReadonlyArray<{ x: number; z: number; }>; /** * Three timber pegs on the stage's east edge, one beside each spot (T104, COVERAGE_1_40 slice 5: the Thaw had river spots but no pegs, so Fishing 31-40 * had none to stand at). A stand-in prop (`fishingpeg`, style = the side that faces the water), walkable, logged in upgrades. */ export declare const SALMON_LEAP_PEGS: ReadonlyArray<{ x: number; z: number; style: 'e'; }>; /** The Blender pieces (kind dreadmodel, style `-`), and the sign at the head of the stair. */ export declare const SALMON_LEAP_PIECES: ReadonlyArray<{ id: string; model: string; x: number; z: number; facing: 'n' | 'e' | 's' | 'w'; }>; /** Every tile the Salmon Leap authors: the stair, the stage, its sign and the bank head (the gorge's passes leave these). */ export declare function onSalmonLeapSite(x: number, z: number): boolean; //# sourceMappingURL=riverFishing.d.ts.map