import { type WesternTrainCircuit } from './westernTrain.js'; /** One arrival in this many is raided. */ export declare const PASSING_BAY_EVERY = 3; /** The raiders: Redcaps (the Ridge's outlaws, the nearest raider the game has), scaled to whoever is in the halt. */ export declare const PASSING_BAY_STREAM: { readonly kind: "redcap"; readonly name: "Bay raider"; readonly levels: [number, number]; /** Alive at once with one player in the halt, plus `perExtraPlayer` for each more (twice `cap` at most). */ readonly cap: 3; readonly perExtraPlayer: 1; /** One more every this long while the room has someone in it. */ readonly everyMs: 8000; readonly firstWave: 2; /** Raiders ignore anyone below this Combat (a newcomer who wanders into the halt is left alone). */ readonly aggroCombat: 10; readonly aggroRadius: 6; readonly leashRadius: 40; readonly aggroText: "A raider bursts out of the service bay and comes at you!"; }; /** Where they come from: inside the booking hall, by the doorways to the platform. */ export declare const PASSING_BAY_NESTS: ReadonlyArray<{ x: number; z: number; }>; /** Raiders felled, in one raid, that earn the line's thanks. */ export declare const PASSING_BAY_KILLS_TO_PAY = 3; /** The thanks (PLACEHOLDER): coins and Explorer XP, once per raid per player who stood and fought and is still standing when the train comes. */ export declare const PASSING_BAY_REWARD: { readonly coins: 200; readonly explorerXp: 300; }; /** Scaled difficulty step of the stream (types worldEventScaling.ts `scaling.difficulty`). */ export declare const PASSING_BAY_DIFFICULTY = 1; export declare const PASSING_BAY_TEXTS: { /** To riders aboard a train about to reach a raided Forge Halt. */ readonly warn: "Smoke ahead: raiders have hit the service bay at the Forge Halt. Stay aboard and ride on, or step off and fight until the next train."; /** To anyone in the halt when the raid starts. */ readonly start: "Raiders have broken out of the service bay! Hold the platform until the next train."; /** The train is in, the raid is over. */ readonly endPaid: "The next train pulls in and the line's guards clear the last of the raiders. The line thanks you for standing your ground."; readonly endPlain: "The next train pulls in and the line's guards clear the last of the raiders."; /** To a player in the halt who is below the raiders' notice. */ readonly quiet: "There is a raid on the halt, but the raiders have no interest in someone so green. Keep to the platform."; }; export type PassingBayWindow = { /** Which arrival slot this is (counted from the circuit's epoch). */ slot: number; /** The slot opens (a train arrives at the Forge Halt) and closes (the next one arrives). */ startMs: number; endMs: number; /** True when this slot is a raid. */ raided: boolean; }; /** * The Forge Halt's arrival slot at `nowMs` (one every cycle / trains ms, so three a lap), and whether it is a raid. Null when the * circuit does not run the Forge Halt (version 1). */ export declare function passingBayWindow(nowMs: number, circuit?: WesternTrainCircuit): PassingBayWindow | null; //# sourceMappingURL=passingBay.d.ts.map