39 lines
1.7 KiB
TypeScript
39 lines
1.7 KiB
TypeScript
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,直接进入对白流。',
|
||
},
|
||
};
|