import { Card } from '../Cards/types'; import { MapName } from '../World/map.library'; import { Stance } from '../Combat/types'; import { BaseStats, DerivedStats } from '../Character/types'; import { ActiveEffect } from '../Effects/types'; import { ProcOverrides, ProcUnlocks } from '../Combat/combat-effects'; import { Item } from '../Items/types'; import { PhilosophicalAlignment } from '../Philosophy/types'; import { FactionReputationDelta } from '../Faction/types'; import type { CodexEntry } from '../Game/types'; export type { CodexEntry }; export interface BefriendabilityConfig { roundsThreshold?: number; hpGate?: { belowPct: number; }; requiredStances?: Stance[]; requiredSkillUse?: string[]; defaultFallback?: 'both-defend-cap'; } export type EnemyLogic = 'random' | 'aggressive' | 'defensive' | 'balanced' | 'strategic' | 'boss'; export type EnemyDifficulty = 'simple' | 'normal' | 'elite' | 'boss' | 'unique'; export type Tier1EffectOverrides = Partial>>>; export interface FriendshipReward { items?: Item[]; xpBonus?: number; narrative?: string; flagSet?: string; alignmentDelta?: Partial; factionDeltas?: FactionReputationDelta; } export interface LootTableEntry { item: Item | null; weight: number; } export interface FinalBlowLines { brutal: string; quiet: string; ironic: string; } export interface PactLines { quiet: string; setDown: string; heavy: string; } export interface CauseLines { brutal: string; broken: string; quiet: string; } export interface Enemy { id: string; name: string; description: string; level: number; health: number; maxHealth: number; baseStats: BaseStats; derivedStats: DerivedStats; mapName: MapName; logic: EnemyLogic; difficulty?: EnemyDifficulty; tier1Overrides?: Tier1EffectOverrides; procUnlocks?: ProcUnlocks; procOverrides?: ProcOverrides; skills?: Card[]; loot?: LootTableEntry[]; xpReward?: number; effects: ActiveEffect[]; philosophicalAlignment?: PhilosophicalAlignment; friendshipReward?: FriendshipReward; befriendabilityConfig?: BefriendabilityConfig; finalBlowLines?: FinalBlowLines; pactLines?: PactLines; causeLines?: CauseLines; journalEntry?: CodexEntry; addedIn?: string; tags?: string[]; portraitAsset?: string; stanceHint?: string; } //# sourceMappingURL=types.d.ts.map