/** * LootTable.ts * * Weighted loot drops: rarity tiers, guaranteed drops, * roll logic, conditional drops, and pity timers. * * @module gameplay */ export type LootRarity = 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary'; export interface LootEntry { itemId: string; weight: number; rarity: LootRarity; minQuantity: number; maxQuantity: number; guaranteed: boolean; condition?: string; } export interface LootDrop { itemId: string; quantity: number; rarity: LootRarity; } export interface LootTableDef { id: string; entries: LootEntry[]; minDrops: number; maxDrops: number; guaranteedDrops: boolean; } export declare class LootTable { private tables; private pityCounters; private conditions; private seed; private rng; constructor(seed?: number); addTable(id: string, entries: LootEntry[], minDrops?: number, maxDrops?: number): void; getTable(id: string): LootTableDef | undefined; roll(tableId: string, luck?: number): LootDrop[]; private createDrop; private updatePity; getPityCounter(tableId: string, rarity: LootRarity): number; setCondition(key: string, value: boolean): void; private meetsCondition; getTableCount(): number; getDropRates(tableId: string): Map; reseed(seed: number): void; private createRng; } //# sourceMappingURL=LootTable.d.ts.map