import type { FunctionDocumentationEntry } from '../types'; /** * story_opening_camp_dialogue * * 开局营地场景的特殊对话控制 function。 * 这里同时提供判定 helper,供 prompt 和故事流程判断是否进入营地开场对白模式。 */ export function isOpeningCampDialogueFunctionId( functionId: string | null | undefined, ) { return functionId === STORY_OPENING_CAMP_DIALOGUE_FUNCTION.id; } export const STORY_OPENING_CAMP_DIALOGUE_FUNCTION: FunctionDocumentationEntry = { id: 'story_opening_camp_dialogue', domain: 'flow', title: '营地开场对话', source: 'src/data/functionCatalog/flow/storyOpeningCampDialogue.ts', summary: '驱动开局营地 4 到 6 行开场对白的流程项。', detailedDescription: '它告诉 prompt 与运行时:当前不是普通探索推进,而是要围绕营地背景、初始同伴态度和刚进入世界的紧张感生成一段结构化开场对白。', trigger: '开局同伴营地场景进入正式对话时出现。', execution: '点击后会进入 opening adventure 的特殊对话生成链,而不是普通 function option 链路。', result: '玩家会先看到一段营地对白,再衔接后续 npc_chat 或离营流程。', active: true, runtime: { storyMode: 'special_sequence', uiMode: 'none', executor: 'src/hooks/rpg-runtime-story/openingAdventure.ts + src/services/prompt.ts', animationNote: '重点在对白本身,不额外驱动独立战斗/位移动画。', storyNote: '会把 prompt 切到营地开场对白模式,并要求输出结构化对话行。', uiNote: '不弹 modal,直接进入对白流。', }, };