任务线失败终局运行时技术文档
# 任务线失败终局运行时技术文档
最近更新:2026-06-26 16:06:26 +08:00
作用:把角色压力、任务线进度、失败种子和终局阶段接成一条可执行的运行时链路,让失败从任务里长出来。
边界:只定义运行时状态、阈值和阶段推进;不新增失败类型表,不新增终局玩法表,不改存档结构。
设计目标
- 能说清每条任务线是怎么从“可见风险”走到“终局收束”的。
- 能在运行时保存压力快照、种子标签、阶段历史和失败来源。
- 能和昼夜节律、事件节点、角色深度、擂台和羁绊系统对齐。
运行时输入
| 输入 | 说明 | 现有来源 |
| --- | --- | --- |
| taskLinePressure | 任务线当前压力总和 | 角色压力、任务进度、资源紧张度、关系压力 |
| failureSeedTags | 已经埋下的失败种子 | 税案、旧身份、食安、欠薪、断水等现有终局种子 |
| taskLineStage | 当前终局阶段 | 复用 warning / pressure / choice / collapse / aftermath |
| timeWindow | 当前触发时段 | 清晨、白天、傍晚、深夜 |
| triggerSource | 本次加压来源 | 任务节点、角色状态、江湖简报、事件结果 |
阶段推进
| 阶段 | 建议阈值 | 运行时表现 | 必须记录 |
| --- | --- | --- | --- |
| warning | >= 60 | 先出现风险提示和种子影子 | 压力来源、首个种子、触发时段 |
| pressure | >= 75 | 进入可见加压,任务线开始被盯上 | 第二波证据、加压项、受影响角色 |
| choice | >= 85 | 玩家看到明确抉择和补救门槛 | 可选补救、门槛不满足原因 |
| collapse | >= 95 | 终局收束落下,任务线转入败局 | 终局 id、失败链、最终结果 |
| aftermath | 收束后 | 留下复盘和继承入口 | 可继承遗产、可重开标记、快照引用 |
上述阈值是建议默认值,具体线条可以在各自的终局种子里覆写,但不能把阶段顺序打乱。
建议状态
export interface TaskLineFailureRuntimeState {
taskLineId: string;
pressure: number;
pressureSources: string[];
failureSeedTags: string[];
stage: 'warning' | 'pressure' | 'choice' | 'collapse' | 'aftermath';
triggerDay: number;
triggerTimeWindow: 'dawn' | 'day' | 'dusk' | 'night';
triggerSource: string;
stageHistory: Array<{
stage: string;
at: number;
note?: string;
}>;
endgameId?: string;
recoverable: boolean;
}
推进规则
- 任务线先积压压力,不允许直接跳到落幕。
- 压力上涨必须能追溯到具体来源,不允许只剩一个抽象数字。
- 失败种子可以叠加,但不能无限增殖成新失败表。
- 角色压力越高,任务线越容易从普通支线滑向失败终局。
- 一旦进入
collapse,运行时必须冻结当前线的核心判定,交给复盘和回档文档处理。 - 终局阶段仍要尊重昼夜窗口,不能把清晨、白天和深夜的表现写成同一种文案。
需要对齐的现有字段
failureEndgame:沿用已有失败终局状态,不另起一套。gameTime:继续作为时段和历史节点的唯一时间源。bondStates:关系压力可以继续通过羁绊链条向任务线传递。JianghuBriefingEntry:预警信息可以进入简报,但不在这里新增播报表。
验收标准
- 能解释一条任务线如何从压力累积走到终局收束。
- 能说清每个阶段有哪些可见信号、抉择门槛和收束结果。
- 能把失败种子、压力快照和阶段历史留给复盘文档读取。
- 不新增失败类型表,不改存档结构,不越过昼夜节律。
关联文档
docs/design/completed/systems/failure-endgame-design.mddocs/design/completed/systems/day-night-endgame-playbook.mddocs/design/completed/gameplay/staff-depth-economy-design.md