import type { LanternWakeBox } from './lanternWake.js'; /** * Safe pockets: small boxes inside the PvP Dreadwoods where nobody can attack anybody (decision D4, 2026-10-14). * * Gallowmere's palisade was the first (T22, hard-coded in zones.ts). T33 made the rule a list so a second pocket is a line here, not * a new check in zones.ts: `isPvpZone` and `pvpLevelDeltaAllowed` read this list, so a fight cannot start across, into or out of a * pocket and one that walks in ends. A pocket stops PLAYER attacks only; whether the pocket's own area keeps monsters out is the * area's rule (Gallowmere's `inGallowmereHunt`, the Red Waste's `inRedWasteHunt`). * * The HUD zone stays the Dreadwoods; the backend tells the player once on the way in and once on the way out (world.ts syncPlayerZone). * Boxes are world tiles, inclusive, and lie wholly inside the Dreadwoods. */ export type SafePocket = { readonly id: string; readonly name: string; readonly box: LanternWakeBox; /** The line when a player steps in, and when they step out. */ readonly enter: string; readonly leave: string; }; export declare const SAFE_POCKETS: readonly SafePocket[]; /** The pocket this tile is in, or null. Fractional positions count as the tile they stand on. */ export declare function safePocketAt(x: number, z: number): SafePocket | null; export declare function inSafePocket(x: number, z: number): boolean; //# sourceMappingURL=safePockets.d.ts.map