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:
|
|
'server-rs/crates/module-runtime-story/src/session_action.rs -> resolve_story_runtime_action',
|
|
animationNote: '重点在对白本身,不额外驱动独立战斗/位移动画。',
|
|
storyNote: '会把 prompt 切到营地开场对白模式,并要求输出结构化对话行。',
|
|
uiNote: '不弹 modal,直接进入对白流。',
|
|
},
|
|
};
|