跨 Lane 互斥规则 v1.0
整理时间:2026-07-01 18:50 +08:00 整理人:Mavis(PM 视角) 依据:
docs/design/active/5日lane依赖图-v1.md(R1-R4 互相接口)docs/design/active/胜利终局-truth-source-v1.md(R2 § 4.3 胜利/失败互斥留 v1.1)docs/design/active/剧情线3+预研大纲-v1.md(R4 三条线互斥留 v1.1)docs/design/active/联机P2P房间骨架-v1.md(R3 联机/单机隔离)docs/design/completed/systems/failure-endgame-design.md(失败终局既有规则)docs/plans/active/week-plan-2026-07-01-tools-entry-and-year1-mainline.md(Year 1 4 段投放) 本文档作用:把 5 日内 R1/R2/R3/R4 4 条 lane 涉及的所有互斥规则集中拍清,避免派生短工时各 lane 内部规则不一致。 本版本只拍最小互斥集:胜利/失败二选一 / 剧情线之间 / 联机/单机 / 道具投放多渠道 4 类。
0. TL;DR(60 秒版)
- 第 1 类:胜利/失败 —— 同一存档不可同时存在
victory-snapshot和failure-snapshot;第 360 天已触发失败链,胜利不触发 - 第 2 类:剧情线之间 —— R4 旧账风波 / 小米丐帮 / 角色分支扩写 同存档只走 1 条作为主线,另 2 条降级为"伏笔/彩蛋"
- 第 3 类:联机/单机 —— 联机 P2P 房间不包含
victory态,胜利终局不进联机;单机 slot 跟联机 room 数据完全隔离 - 第 4 类:道具投放多渠道 —— 同件装备在冒险 / 集市 / 竞标 3 个渠道只走 1 个作为主线,另 2 个降级为"稀有/限购"
- 不在本 v1.0:三角线修正(郭吕祝)互斥 / 羁绊 vs 关系网络互斥 / 任务 vs 事件互斥 / 季节 vs 节气互斥
1. 第 1 类:胜利/失败 二选一(关键)
1.1 互斥公式
同一存档 slot 状态 = {
victory-snapshot: false,
failure-snapshot: false,
in-progress: true, // 默认
}
胜利触发 → in-progress: false, victory-snapshot: true, failure-snapshot: false
失败触发 → in-progress: false, failure-snapshot: true, victory-snapshot: false
二选一互斥 → 胜利/失败 snapshot 永远不同时为 true
1.2 第 360 天 / 跨年夜 的二选一规则
- 触发窗口:
currentDay ∈ [353, 367] - 优先级:失败优先(跟
failureEndgame.ts既有预警/缓解链对接) - 规则:
- 第 353-360 天:若
failureEndgame任意一条预警链触发 →failure-snapshot: true,胜利不再触发 - 第 360 天晚上:若
failure-snapshot === false+ 4 维度 AND 复合成立 →victory-snapshot: true - 第 360 天晚上:若
failure-snapshot === true→ 失败收束页 + 收束文档触发,胜利不触发 - 第 361-367 天:跨年夜已过,本存档不再触发任何终局
- 第 353-360 天:若
1.3 历史回看互斥
- 玩家读旧存档时:
victory-snapshot === true→ 走胜利收束页重看failure-snapshot === true→ 走失败复盘页重看- 两者不可能同时为 true
1.4 不在本 v1.0 的事项
- ❌ 失败/胜利二选一的具体 UI(留 v1.1)
- ❌ "差一维胜利"的提示(留 v1.1)
- ❌ 跨周目互斥(留 R6 v1.1 多周目循环)
2. 第 2 类:剧情线之间(关键)
2.1 R4 3 条剧情线互斥
| 线 | 主线优先级 | 伏笔/彩蛋降级规则 | | :--- | :--- | :--- | | ① 旧账风波 | 主线(R4 推荐) | 跨年夜收束 = 胜利第一锚点 | | ② 小米/丐帮 | 伏笔(降级) | 跨年夜留 20-50 字伏笔 | | ③ 角色分支扩写 | 彩蛋(降级) | 跨年夜留 20-50 字彩蛋 |
2.2 互斥规则(同存档只走 1 条主线)
- 同存档只承认 1 条主线剧情(默认旧账风波,主会话可改)
- 另 2 条自动降级为"伏笔/彩蛋",不进入主线节点
- 玩家不会感知"剧情线选择"——伏笔/彩蛋以简报 / 装饰形式出现,不影响主线推进
- 跨周目(R6 v1.1 多周目循环)时,玩家可手动切换主线,但同周目不切换
2.3 跟 Year 1 月度节点的关系
| Year 1 月度节点 | ① 旧账风波主线 | ② 小米丐帮伏笔 | ③ 角色分支彩蛋 | | :--- | :---: | :---: | :---: | | 第 31-60 天 街坊熟络 | ✅ 起点 | — | — | | 第 91-120 天 扩建起步 | ✅ 关键转折 1 | — | — | | 第 121-150 天 江湖初闻 | — | ✅ 起点(简报) | — | | 第 181-210 天 羁绊萌芽 | — | ✅ 关键转折 1 | — | | 第 211-240 天 羁绊升温 + 擂台预热 | ✅ 关键转折 2 | — | — | | 第 241-270 天 大日子逼近 | — | ✅ 终结(简报) | — | | 第 271-300 天 擂台高潮 | — | — | 跨线触发(预留) | | 第 331-360 天 岁末收束 | ✅ 终结 + 跨年夜 | 伏笔 | 彩蛋 | | 第 360 天 / 跨年之夜 | ✅ 主线收束 | 伏笔 | 彩蛋 |
2.4 不在本 v1.0 的事项
- ❌ 玩家手动切换主线(留 R6 v1.1 多周目)
- ❌ 三角线(郭吕祝)互斥(留 Phase 5)
- ❌ 羁绊 vs 关系网络互斥(留 Phase 5)
- ❌ 任务 vs 事件互斥(留 v1.1)
3. 第 3 类:联机/单机 隔离(关键)
3.1 数据隔离
| 存储 | 单机 | 联机 |
| :--- | :--- | :--- |
| tongfu_save_slot_* | ✅ 读写 | ❌ 不读不写 |
| tongfu_global_profile | ✅ 读写 | ❌ 不读不写 |
| tongfu_multiplayer_room_* | ❌ 不读不写 | ✅ 读写 |
3.2 互斥规则
- 同一 playerId 在同一时间:
- 只能进入1 个联机 P2P 房间(房主或客机)
- 同时不能进行单机的"开张 / 推进主线 / 结算"操作
- 单机 slot 的
currentDay不因联机房间的"实时日历"变化 - 联机房间的
phase不影响单机的phase
3.3 胜利终局跟联机的隔离
- 胜利终局不进联机房间(已在 R2 § 4.5 明确)
- 联机房间状态机不包含
victory态(已在 R3 § 1.1 明确) - 联机房间的"结算"(
settled态)不写PlaythroughSaveSlot,不触发胜利收束页
3.4 不在本 v1.0 的事项
- ❌ 联机实时竞价毫秒同步(留 R3 v1.1)
- ❌ 联机 5 秒流拍 / 断线重连(留 R3 v1.1)
- ❌ 联机掉线后自动回单机 slot(留 v1.1)
- ❌ 联机胜利/失败(本 v1.0 联机不含终局)
4. 第 4 类:道具投放多渠道(关键)
4.1 投放渠道(Year 1 4 段)
| 渠道 | Year 1 第 1-30 天 | Year 1 第 31-90 天 | Year 1 第 91-180 天 | Year 1 第 181-360 天 | | :--- | :---: | :---: | :---: | :---: | | 冒险掉落 | ❌ 不投 | ✅ 普通装备 | ✅ 中级装备 | ✅ 高价值装备 | | 集市采购 | ✅ 基础消耗品 | ✅ 中级消耗品 | ✅ 精良食材 | ✅ 高级食材 | | 竞标会 | ❌ 不投 | ✅ 少量竞标 | ✅ 珍宝竞标 | ✅ 剧情关键竞标 | | 事件链 | ✅ 早期小额信物 | ✅ 剧情线索 | ✅ 名声卷轴 | ✅ 剧情凭证 | | 任务奖励 | ✅ 跌打药 | ✅ 精良装备 | ✅ 套装前置 | ✅ 传承前置 |
4.2 互斥规则(同件装备只走 1 个主线渠道)
- 同 1 件装备 在 Year 1 4 段中只走 1 个主线投放渠道
- 另渠道降级为"稀有/限购"(出现概率<5% 或限定周期)
- 例外:基础消耗品(
木柴 / 清水 / 跌打药)走多个渠道(基础生存保证)
4.3 16 件装备的渠道映射(基于 equipment.ts 实际数据)
| 装备 id | name | qualityTier | 主线渠道 | 备选渠道(降级) |
| :--- | :--- | :---: | :--- | :--- |
| item_basic_apron | 基本围裙 | common | 集市采购 | 任务奖励 |
| item_wooden_sword | 木剑 | common | 集市采购 | 任务奖励 |
| item_ledger_book | 账本 | common | 集市采购 | 任务奖励 |
| item_broom_magic | 魔法扫帚 | rare | 事件链 | 竞标会 |
| item_chef_hat | 厨师帽 | rare | 任务奖励(厨房扩建) | 集市采购 |
| item_abacus_ancient | 古代账本 | rare | 竞标会 | 事件链 |
| item_pearl_earring | 珍珠耳环 | rare | 竞标会 | 事件链 |
| item_iron_cleaver | 玄铁菜刀 | legend | 任务奖励(白展堂线) | 竞标会 |
| item_lucky_plaque | 中孚黄铜牌 | legend | 冒险掉落 | 竞标会 |
| item_peace_bell | 太平钟 | legend | 竞标会 | 任务奖励(挂红绸) |
| item_abacus_gold | 金算盘 | epic | 任务奖励(佟湘玉线) | 竞标会 |
| item_shadow_cloak | 夜行衣 | epic | 任务奖励(白展堂线) | 冒险掉落 |
| item_palm_gloves | 铁砂掌手套 | epic | 任务奖励(白展堂线) | 冒险掉落 |
| item_chef_knife | 银针菜刀 | epic | 任务奖励(厨房扩建) | 集市采购 |
| item_ancient_book | 古书孤本 | epic | 冒险掉落 | 竞标会 |
| item_ancient_vase | 青花瓷瓶 | epic | 冒险掉落 | 竞标会 |
详细投放映射表(16 件 × 4 段时间)见
docs/design/active/Year1道具投放映射表-v1.md(R2 文档)。
4.4 不在本 v1.0 的事项
- ❌ 多渠道并行投放(留 v1.1)
- ❌ 渠道动态切换(留 v1.1)
- ❌ 玩家手动选择渠道(留 v1.1)
5. 互斥规则总结表(快查)
| 类型 | 互斥双方 | 互斥规则 | 数据位置 |
| :--- | :--- | :--- | :--- |
| 1 | 胜利 / 失败 | 同存档不可同时 victory-snapshot + failure-snapshot;失败优先 | PlaythroughSaveSlot.victory-snapshot / failure-snapshot |
| 2 | 3 条剧情线 | 同存档只走 1 条主线,另 2 条降级为伏笔/彩蛋 | R4 文档 § 1.5 / § 3.3 |
| 3 | 联机 / 单机 | 同一 playerId 同时不能进联机房间 + 单机推进;数据完全隔离 | tongfu_save_slot_* / tongfu_multiplayer_room_* |
| 4 | 道具投放多渠道 | 同 1 件装备只走 1 个主线渠道,另渠道降级为稀有/限购 | equipment.ts × 4 段投放表 |
6. 验收口径
R1 互斥规则派生短工后(5 日计划外,但 R2 Day 1 派生时可一并参考),完成标准 = 全部满足:
- 本文档 § 1-4 4 类互斥规则全部拍清
- R2 § 4.3 胜利/失败二选一由"留 v1.1"升格为"v1.0 已拍"
- R4 § 1.5 剧情线互斥由"留 v1.1"升格为"v1.0 已拍"
- R3 § 1.1 联机/单机隔离由"留 v1.1"升格为"v1.0 已拍"
- 16 件装备 × 4 段投放映射表已落盘(R2 文档产出)
src/data/items/equipment.ts16 件装备未被改动src/endgame/**任何代码未被改动
6.1 不算收口的情形
- ❌ 4 类互斥任一类没拍清
- ❌ R2/R3/R4 文档"留 v1.1"没升格
- ❌ 16 件装备映射表没落盘
- ❌ 动了
equipment.ts或src/endgame/**
6.2 可保留的 residual risk
- ✅ 4 类互斥的具体 UI 提示(留 v1.1)
- ✅ 玩家手动切换主线 / 渠道(留 v1.1)
- ✅ 跨周目互斥(留 R6 v1.1)
7. 不在本 v1.0 的事项汇总(明确划走)
- ❌ 失败/胜利二选一的具体 UI
- ❌ "差一维胜利"提示
- ❌ 跨周目互斥
- ❌ 玩家手动切换主线
- ❌ 三角线(郭吕祝)互斥
- ❌ 羁绊 vs 关系网络互斥
- ❌ 任务 vs 事件互斥
- ❌ 季节 vs 节气互斥
- ❌ 联机实时竞价 / 5 秒流拍 / 断线重连
- ❌ 联机掉线后自动回单机
- ❌ 联机胜利/失败
- ❌ 多渠道并行投放
- ❌ 渠道动态切换
- ❌ 玩家手动选择渠道
8. 参考入口
| 想看什么 | 去这里 |
| :--- | :--- |
| 跨 lane 依赖图 | docs/design/active/5日lane依赖图-v1.md |
| R2 胜利终局 | docs/design/active/胜利终局-truth-source-v1.md § 4.3 |
| R3 联机 P2P | docs/design/active/联机P2P房间骨架-v1.md |
| R4 剧情线 3+ | docs/design/active/剧情线3+预研大纲-v1.md |
| 失败终局既有 | docs/design/completed/systems/failure-endgame-design.md |
| 16 件装备数据 | src/data/items/equipment.ts(779 行,16 件) |
| 16 件 × 4 段投放映射 | docs/design/active/Year1道具投放映射表-v1.md(R2 文档) |
| 旧存档兼容 | docs/design/active/旧存档兼容边界-v1.md |
| PM 铁律 | docs/handoff/roles/pm.md |
9. 版本与变更记录
| 版本 | 时间 | 整理人 | 关键变更 | | :---: | :---: | :--- | :--- | | v1.0 | 2026-07-01 18:50 | Mavis(PM 视角) | 首版:拍 4 类互斥(胜利/失败 / 剧情线 / 联机/单机 / 道具多渠道);R2 § 4.3 + R3 § 1.1 + R4 § 1.5 留 v1.1 部分升格为 v1.0 已拍;16 件装备 × 4 段投放映射见 R2 文档 | | v1.1(待) | — | — | 待 R6 多周目循环 + 三角线修正 + 联机实时竞价 3 条 lane 落地后,补跨周目 / 三角 / 联机实时 3 类互斥 |