/** * THE LEAN RULES (A10, T84, 2026-10-14; AREA_PROPOSALS.md "Lean Rules ladder"): the Dreadwoods' no-healing rule as a thing to be proud of. * Nobody can eat or drink mid-fight in the woods, so a lair felled or an outing walked without a single bite of food is bragging rights. * It is a page of the Explorer's Ledger (section `lean`), not a title system: a ladder of Ledger lines, ranks that tick as the lean * lairs are felled, and one chat line when a rank is reached. * * What counts (the server enforces it, backend leanRules.ts): * - A LEAN LAIR KILL: you landed the killing blow on one of LEAN_LAIRS, in the Dreadwoods, and you ate no food after your first blow * on that very creature. Food eaten BEFORE the first blow is preparation, not a heal. Regeneration is never a heal. * - A LEAN OUTING: creatures of level LEAN_MIN_CREATURE_LEVEL or more felled in the Dreadwoods since you last ate (or entered the woods, * or came back from a defeat), in a row. Eating, leaving the woods, dying or logging out ends the outing. * - A CHASE SURVIVED: another player's attack on you broke off as you got away (the escape shield), you took at least a blow, and you * ate nothing in the chase. * Dying resets everything: a lair half-fought before a defeat can never be a lean kill afterwards. * * Amounts are PLACEHOLDERS (balance is done last, with James). */ export type LeanLair = { readonly kind: string; readonly id: string; readonly label: string; }; /** The lair bosses of the woods the ladder is about (NpcKinds). The Ledger's `bosses:` lines are separate and unchanged. */ export declare const LEAN_LAIRS: readonly LeanLair[]; /** Creatures this level or above count toward an outing (the rats and rabbits at the woods' edge do not pad it). */ export declare const LEAN_MIN_CREATURE_LEVEL = 10; /** The outing lines: creatures felled in one outing with no healing. */ export declare const LEAN_OUTING_STEPS: readonly number[]; /** A chase counts when you took at least this many blows from it. */ export declare const LEAN_CHASE_MIN_HITS = 1; /** The ranks, earned by felling lean lairs (distinct lairs, not repeats). Ids are marks the server writes. */ export declare const LEAN_RANKS: readonly { readonly id: string; readonly title: string; readonly need: number; }[]; export declare const LEAN_CHASE_MARK = "lean:chase"; /** * THE APPROACH TAG (coverage slice 7, T105, 2026-10-14; ironjawWatch.ts): the Ironjaw Watch's lean outing. Creatures of these kinds felled * inside LEAN_APPROACH_BOX count toward the same outing as every other creature AND toward a count of their own; reaching a step with no * healing in the outing writes its mark. Eating, leaving the woods, dying and logging out end the outing, exactly as for the plain outing. */ export declare const LEAN_APPROACH_BOX: import("./lanternWake.js").LanternWakeBox; export declare const LEAN_APPROACH_KINDS: readonly string[]; export declare const LEAN_APPROACH_STEPS: readonly number[]; export declare function leanApproachMark(n: number): string; /** True when a creature of this kind felled at this tile counts toward the approach tag. */ export declare function isLeanApproachKill(kind: string, x: number, z: number): boolean; /** The approach marks a run of `kills` approach creatures earns (every step reached). */ export declare function leanApproachMarksFor(kills: number): string[]; /** PLACEHOLDER Explorer XP for each Lean line (paid once, by the Ledger). */ export declare const LEDGER_LEAN_XP = 80; export declare function leanLairMark(lair: LeanLair): string; export declare function leanOutingMark(n: number): string; /** The Lean lair for a creature kind, or null (it is not one of the lairs). */ export declare function leanLairForKind(kind: string): LeanLair | null; /** The Lean page of the Ledger: every id here is a mark the server writes. */ export declare const LEDGER_LEAN_LINES: readonly { id: string; label: string; }[]; /** The outing marks a run of `kills` earns (every step reached). */ export declare function leanOutingMarksFor(kills: number): string[]; /** The rank marks earned by the lean-lair marks a character holds. Pure: the ladder from the marks. */ export declare function leanRankMarksFor(marks: Iterable): string[]; /** The title of the highest rank a character holds, or null. */ export declare function leanRankTitle(marks: Iterable): string | null; /** The chat line when a rank is reached. */ export declare function leanRankLine(title: string): string; /** The note the guide and the zone badge give: how to go lean. */ export declare const LEAN_RULE_NOTE = "Nobody can eat or drink mid-fight in the Dreadwoods, so prepare first: eat before the first blow, bring potions in, and a lair felled with no food after your first blow on it goes in the Explorer's Ledger as a lean kill."; //# sourceMappingURL=leanRules.d.ts.map