import { Image } from '../Utils/types'; import { QuestName } from '../World/quest.library'; import { PhilosophicalAlignment } from '../Philosophy/types'; export interface AlignmentGate { axis: 'epistemology' | 'outlook' | 'scope'; op: 'gte' | 'lte'; value: number; } export interface DialogueMap { [key: string]: string | string[]; } export interface DialogueChoice { text: string; nextNodeId?: string; requires?: { quest?: QuestName; flag?: string; questCompleted?: QuestName; requiresAlignment?: AlignmentGate; playerAlignmentCellChangedSince?: boolean; }; effect?: { startQuest?: QuestName; progressQuest?: { name: QuestName; objectiveId: string; amount?: number; }; completeQuest?: QuestName; teachSkill?: string; setFlag?: string; grantCurrency?: number; moralDelta?: number; alignmentDelta?: Partial; }; } export interface DialogueNode { id: string; text: string; choices?: DialogueChoice[]; } export interface DialogueTree { rootId: string; nodes: Record; id?: string; } export interface NPC { name: string; dialogue?: DialogueMap; dialogueTree?: DialogueTree; description?: string; image?: Image; isShopkeeper?: boolean; } //# sourceMappingURL=types.d.ts.map