import { Character } from '../Character/types'; import { Enemy } from '../Enemy/types'; import { CombatResources } from '../Cards/types'; export type Stance = 'heart' | 'body' | 'mind'; export type Action = 'attack' | 'defend' | 'skill' | 'item' | 'flee' | 'spare' | 'exploit'; export type Advantage = 'advantage' | 'neutral' | 'disadvantage'; export type CritStyle = 'double' | 'pierce'; export interface CombatAction { stance: Stance; action: Action; skillId?: string; itemId?: string; } export type PlayerCombatAction = CombatAction; export type CombatPhase = 'choosing_stance' | 'choosing_action' | 'choosing_skill' | 'mercy_choice' | 'resolving' | 'ended'; export interface BattleLogEntry { round: number; playerAction: CombatAction; enemyAction: CombatAction; advantage: Advantage; playerRoll: number; playerRollDetails: string; enemyRoll: number; enemyRollDetails: string; damageToPlayer: number; damageToEnemy: number; playerHPAfter: number; enemyHPAfter: number; result: string; } export interface CombatState { active: boolean; phase: CombatPhase; round: number; friendshipCounter: number; player: Character; enemy: Enemy; playerChoice: Partial; enemyChoice: Partial; log: BattleLogEntry[]; combatResources: CombatResources; mercyChoiceActive?: boolean; friendshipResolutionAuthorized?: boolean; } export type Combatant = Character | Enemy; //# sourceMappingURL=types.d.ts.map