№ · 活跃计划
CH.06.25
可执行事件清单 v1
目标:把当前项目里“随机事件、终局事件、江湖简报、读档版本”四条线拆成能独立执行的子会话任务,避免一个会话同时改动太多模块。
使用方式
- 本文件不是玩法说明书,而是子会话执行清单。
- 每个子会话只拿一个明确目标,不跨越文件边界。
- 主线程负责调度、收口和版本同步,不承担全部实现。
- 任何实现之前,先对照对应设计文档,再按这里的阶段拆分执行。
- 事件池协作入口见 事件表索引 v1;先按表归类,再决定是否拆文件。
- 工程分层总则见 代码结构拆分规则 v1;静态表进
src/data/,逻辑进src/utils/,UI 进src/components/,App.tsx只做编排。
统一字段
所有事件、预警、简报或终局节点,尽量统一使用这些字段:
id:唯一标识。type:事件类型,例:普通随机事件、终局预警、终局抉择、江湖简报、日程预告。timeAffinity:允许触发的时段,例:['dawn']、['day', 'dusk']。businessPhaseAffinity:允许触发的营业阶段,例:['open']、['closing']、['closed']。yearPhase:故事年期,建议区分year1、year2、both。dayWindow:可触发的故事天数窗口。triggerCondition:资源、人物属性、羁绊、种子或外部状态门槛。resultScope:结果作用域,例:经营、道具、人物、羁绊、终局、日程、日志。seedImpact:对失败种子或剧情种子的影响强度。stageWindow:可触发阶段,例:warning、pressure、choice、collapse、aftermath。description:玩家可见文案摘要。ownerScope:建议的文件边界。
执行总则
- 一次只推进一条主线,不同时改随机事件、终局、UI、存档四个大面。
- 先做数据和文档,再做展示,再做持久化。
- 所有可见结果都要能回溯到事件来源、时间窗和条件门槛。
- 不在一个会话里完成所有内容,子会话之间通过清单交接。
- 保留当前脏工作区,不回退其他会话改动。
阶段拆分
Phase 0:规则收口
目标:让后续所有子会话使用同一套时间、阶段和文档口径。
- 统一
dawn / day / dusk / night与open / closing / closed。 - 统一开业锚点为“万历三十年前后,同福客栈开业第一天”。
- 统一失败终局的四段式:
warning -> pressure -> choice -> collapse/aftermath。 - 统一江湖简报的三段式:
昨日回顾 -> 今日提醒 -> 未来预告。
验收:
- 任意事件都能被归类到一个时段和一个业务阶段。
- 任意终局都能落到一个明确的阶段窗口。
Phase 1:随机事件池
目标:把日常事件按时段和年期拆成稳定事件池。
- 接入清晨、白天、傍晚、深夜、比武招亲五组事件。
- 每条事件补齐
timeAffinity、dayWindow、yearPhase、triggerCondition、resultScope。 - 白天偏经营和社交,夜晚偏风险和收束,第二年事件权重更高。
- 先按
主线 / 角色线 / 支线 / 时间线四类表归档,再外提到独立数据文件。
建议文件边界:
src/App.tsx的随机事件常量和抽取权重。- 必要时新增
src/data/randomEvents.ts。
验收:
- 事件能按时段触发。
- 第二年事件明显比第一年更容易出现。
Phase 2:终局运行时
目标:把失败终局推进到可解释、可复盘的运行时状态。
- 让终局链支持
warning / pressure / choice / resolved / failed。 - 每条终局至少有一条种子来源和一组补救条件。
- 把补税、贿赂、求情、担责、认错等动作映射到对应链条。
建议文件边界:
src/utils/failureEndgame.ts- 必要时补最小类型字段到
src/types.ts
验收:
- 终局预警能根据资源和角色属性变化。
- 终局记录能写出触发、选择、结果、种子。
Phase 3:UI 与弹窗
目标:让玩家看见事件时段、终局阶段、不可选原因和关键提示。
- 普通随机事件与终局事件共用弹窗展示。
- 弹窗能显示时段、阶段、资源不足、关系不足、种子提示。
- 低侵入,不重做主 UI。
建议文件边界:
src/components/RandomEventPopup.tsx- 必要时轻量补
src/index.css
验收:
- 选项不可用时能显示具体原因。
- 终局阶段和时段信息能在弹窗中直接看到。
Phase 4:存档与版本
目标:把终局快照、时间点存档、现实时间和游戏时间统一成可读结构。
- 解释
createdAt、updatedAt、gameTime。 - 解释终局链状态、失败种子和阶段记录,读档页能直接看见当前因果链。
- 支持最近安全点重开和按时间点建档。
- 若引入新持久化字段,旧存档要补默认值。
建议文件边界:
src/version.tsdocs/version-history.md- 必要时
src/endgame/*与src/components/endgame/*
验收:
- 版本记录能解释本轮改动和兼容性。
- 存档读回不会因新增字段报错,且时间与终局解释能保持稳定。
Phase 5:江湖简报
目标:在天亮时把经营、道具、江湖动态、人物状态和终局风险整理成简报。
- 读取昨日经营复盘、道具变化、事件记录。
- 读取人物健康、心情、忠诚、压力和羁绊节点。
- 读取大日子倒计时和终局风险。
- 默认不写成随机事件,不直接推进判定。
建议文件边界:
src/App.tsx的时间推进和日志汇总入口。src/components/LedgerSummaryTab.tsx的总览展示。- 必要时新增
src/utils/jianghuBriefing.ts和简报组件。
验收:
- 每天第一次到达清晨只生成一次简报。
- 简报至少分成昨日回顾、今日提醒、未来预告三段。
- 大日子能显示明确倒计时。
子会话交付模板
每个子会话结束时都要回传:
- 修改文件列表。
- 实现说明。
- 验证命令和结果。
- 未完成项。
- 是否可进入下一阶段。
当前推荐排序
- 随机事件池。
- 终局运行时。
- UI / 弹窗。
- 存档 / 版本。
- 江湖简报。
备注
- 这份清单要和 昼夜与终局一体化玩法文档、失败终局设计文档、江湖简报设计 v1 一起使用。
- 如果未来把某一条线改成独立系统,先更新这里,再更新对应设计文档。