Files
Genarrative/src/data/functionCatalog/state/idleObserveSigns.ts
T
2026-04-28 19:36:39 +08:00

60 lines
2.0 KiB
TypeScript

import { AnimationState } from '../../../types';
import type { StateFunctionRuntimeSource } from '../types';
/**
* idle_observe_signs
*
* 空闲状态下的侦察动作。它把当前回合定义成“停下来观察”,
* 重点不是立刻推进,而是为后续选择生成可引用的观察结果。
*/
export const IDLE_OBSERVE_SIGNS_FUNCTION_SOURCE: StateFunctionRuntimeSource = {
definition: {
id: 'idle_observe_signs',
state: 'idle',
category: 'idle',
text: '停步观察动静',
description: '先收住脚步观察附近痕迹与风吹草动,判断前方是否有异样。',
visual: {
playerAnimation: AnimationState.IDLE,
playerMoveMeters: 0,
playerOffsetY: 0,
playerFacing: 'right',
scrollWorld: false,
},
effect: {
sceneShift: 0,
enterBattle: false,
},
},
promptDescription:
'停步观察周围动静、痕迹或征兆,文案可以自然改写,但仍要保持这是观察判断。',
documentation: {
id: 'idle_observe_signs',
domain: 'state',
title: '停步观察动静',
source: 'src/data/functionCatalog/state/idleObserveSigns.ts',
summary: '围绕侦察、判断和前情确认的空闲 function。',
detailedDescription:
'这个 function 不要求马上遇敌或推进,而是把回合用在收集线索、确认附近实体池与下一步风险上。',
trigger: '仅在 idle 状态下参与候选。',
execution:
'保持原地观察姿态,不推进 sceneShift;上层 prompt 会把这一回合视为观察请求,要求模型输出可延续的侦察结论。',
result: '适合进入未知区域前先看风向、脚印、气息或异响,减少盲走。',
state: 'idle',
category: 'idle',
active: true,
},
runtime: {
buildSuggestedActionText() {
return '停步观察附近的风吹草动';
},
buildDetailText() {
return '先确认附近是否潜伏着人影、怪物或其他值得靠近的东西。';
},
getPriority() {
return 4;
},
},
};