import type { FunctionDocumentationEntry } from '../types'; /** * npc_fight * * 与眼前 NPC 直接开战的强制冲突 function。 */ export const NPC_FIGHT_FUNCTION: FunctionDocumentationEntry = { id: 'npc_fight', domain: 'npc', title: '与对方战斗', source: 'src/data/functionCatalog/npc/npcFight.ts', summary: '把当前 NPC 交互直接导向敌对战斗。', detailedDescription: '无论对方原本是中立还是敌对,选择这个 function 都表示玩家主动接受或制造正面冲突,后续会切到 NPC 战斗模式。', trigger: '在敌对 NPC 遭遇或普通 NPC 交互菜单里都可能出现。', execution: '点击后会切换 currentBattleNpcId / currentNpcBattleMode,并进入本地战斗结算链路。', result: '交互界面转为战斗,战后会按 fight_victory 等结果处理掉落、好感和任务推进。', active: true, runtime: { storyMode: 'special_sequence', uiMode: 'none', executor: 'src/hooks/rpg-runtime-story/useRpgRuntimeNpcInteraction.ts -> handleNpcInteraction', animationNote: '切到 NPC 战斗模式后,由战斗播放链路驱动后续动画。', storyNote: '不会先弹窗,直接把当前 encounter 切成战斗态并进入后续结算。', uiNote: '不弹 modal,直接进入战斗。', compactDetailText: '战斗决胜负', }, };