import { Enemy } from '../Enemy/types'; import { Encounter } from '../World/types'; import { MapName } from '../World/map.library'; import { Character } from '../Character/types'; import { Equipment, EquipmentSlot, Item } from '../Items/types'; import { DialogueTree, DialogueChoice } from '../NPCs/types'; import { PhilosophicalAlignment } from '../Philosophy/types'; export type GameAction = { type: 'START_COMBAT'; payload: { target: Enemy | Encounter; }; } | { type: 'END_COMBAT'; payload?: { outcome?: 'victory' | 'defeat' | 'friendship' | 'flee'; finalPlayer?: Character; grantedLoot?: Item[]; grantedXp?: number; }; } | { type: 'MOVE_TO_NODE'; payload: { nodeId: string; }; } | { type: 'TRAVEL_TO_MAP'; payload: { mapName: MapName; }; } | { type: 'PROCESS_NODE'; payload?: undefined; } | { type: 'APPLY_DIALOGUE'; payload: { tree: DialogueTree; choice: DialogueChoice; }; } | { type: 'USE_ITEM'; payload: { itemId: string; }; } | { type: 'EQUIP_ITEM'; payload: { item: Equipment; }; } | { type: 'UNEQUIP_ITEM'; payload: { slot: EquipmentSlot; }; } | { type: 'LEVEL_UP'; payload?: undefined; } | { type: 'ALLOCATE_STAT_POINT'; payload: { stat: 'heart' | 'body' | 'mind'; }; } | { type: 'LEARN_SKILL'; payload: { skillId: string; }; } | { type: 'SHIFT_MORAL_METER'; payload: { delta: number; gating?: { min?: number; max?: number; }; }; } | { type: 'SHIFT_PHILOSOPHICAL_ALIGNMENT'; payload: { delta: Partial; }; } | { type: 'SAVE_GAME'; payload?: undefined; } | { type: 'LOAD_GAME'; payload?: undefined; } | { type: 'RESET_RUN'; payload: { keepCharacter: boolean; }; } | { type: 'UNLOCK_CODEX_ENTRY'; payload: { entryId: string; }; }; export type GameActionOf = Extract; //# sourceMappingURL=actions.types.d.ts.map