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; }, }, };