№ · 玩法设计 CH.07.23
主页 · 🎲 玩法设计 · Buff玩法扩展 —— 未完成部分清单

Buff玩法扩展 —— 未完成部分清单

📅 2026-07-23 · 📦 12.4 KB · 🎲 玩法设计 · 📝 MD 文档 🆕 14d 🏷️ Buff🏷️ 玩法设计

生成日期:2026-07-18 基于对全部设计文档(V1.0 / V2.0 / 实装指南 / 技术文档 / 配置索引)与全部代码文件(catalog / buffEngine / innStatusBuffBridge / BuffPanel / contentPackB/C)的完整交叉比对。


一、状态机缺失 Buff(V1.0 §3.2 / V2.0 §1.1)

V2.0 定义了 10 级状态优先级,但以下"强制停摆级"和部分"异常限制级"Buff 只有标签预留,无独立 BuffDefinition

| 缺失 Buff | 对应标签 | 优先级 | 说明 | |:--|:--|:-:|:--| | 资金断裂歇业 | #Bankruptcy | 1 (最高) | 余额 < 单日支出 20%,全店歇业。innStatusBuffBridge 已预留标签,无独立定义 | | 食品安全停业 | #FoodSafetyViolation | 2 | 食材变质引发中毒/舆论满值,强制停业 6h | | 治安停业整顿 | #SecurityCollapse | 3 | 安防归零或重大打砸事件,强制停业 4h。现有 inn_security_crisis 仅为预警级 | | 卫生崩溃 | #SanitationCollapse | 4 | 清洁度 < 10 触发。现有 inn_hygiene_suspend 是停业整改,非崩溃级 | | 口碑危机 Buff | #ReputationCrisis | 6 | innStatusBuffBridge 引用了标签,但 catalog 中无独立 inn_reputation_crisis 定义。现有的 inn_reputation_slump 是 ContentPackB 的弱化版 | | 食材危机 Buff | #SupplyCrisis | 5 | V1.0 定义,innStatusBuffBridge 引用。现有 inn_supply_warning 是 ContentPackB 弱化版 |


二、员工岗位专属投射 Buff 未实装(V1.0 §2.2)

V1.0 设计了按岗位区分的员工 Buff,可投射到客栈全局标签池。当前仅有通用的 staff_mood_low / staff_health_low

| 缺失 Buff | 适用岗位 | 核心效果 | 全局投射 | |:--|:--|:--|:--| | BUFF_STF_LBA_GUARD(葵花点穴手) | 跑堂(白展堂) | 安防自然衰减 → 0,每小时恢复 +6 | #SecurityGuard → 客栈挂载安防增益 | | BUFF_STF_GUR_LAZY(排山倒海·情绪版) | 跑堂(郭芙蓉) | 上菜速度 -30%,安防值守 -40% | #WaiterCrisis → 客栈挂载跑堂危机 | | BUFF_STF_CHEF_STRIKE(罢工边缘) | 厨子 | 出餐 -30%,菜品出错率 +20% | #ChefCrisis / #ChefAbsent | | BUFF_STF_ACCT_ERR(算错账) | 账房 | 收银错账率 +15% | 每日结算损失 5% 营业额 |


三、46 个角色 Buff 配置模板未接入引擎

src/data/buffs/buff-config-template.ts 定义了 46 个角色 Buff(心情 8 + 健康 8 + 技能 8 + 特殊状态 8 + 关系 8 + 成长 6),但使用旧版 BuffConfig 格式,均未接入 catalog.ts 与 buffEngine

| 类别 | 数量 | 示例 | 缺失内容 | |:--|:-:|:--|:--| | 心情类 | 8 | 心情愉悦 / 怒火中烧 / 心如止水 / 焦虑不安 | 需转为 BuffDefinition,定义触发条件(心情阈值),接入 generateBuffCandidates | | 健康类 | 8 | 精力充沛 / 生病不适 / 疲惫不堪 / 免疫增强 | 同上,需对接员工健康系统 | | 技能类 | 8 | 技艺精湛 / 创新思维 / 导师风范 / 勤奋好学 | 需对接员工技能/经验系统 | | 特殊状态 | 8 | 极度疲劳 / 灵感迸发 / 压力山大 / 全神贯注 | 需对接加班/事件系统 | | 关系类 | 8 | 团队和谐 / 内部矛盾 / 师徒传承 / 良性竞争 | 需对接羁绊/感情线系统 | | 成长类 | 6 | 突飞猛进 / 停滞不前 / 行业专家 / 实习新人 | 需对接员工成长/晋升系统 |

当前仅 staff_mood_lowstaff_health_low 两个通用版接入引擎。


四、ContentPack B 的候选生成逻辑缺失

ContentPackB 的 8 个 Buff 已注册到 catalog.ts,但 buffEngine.tsgenerateBuffCandidates 函数中没有对应的触发判定逻辑

| Buff ID | 名称 | 需要的触发逻辑 | |:--|:--|:--| | inn_service_in_stride | 井然有序 | 当班伙计全员心情/健康达标时激活,按在岗人数叠层 | | inn_supply_warning | 备料吃紧 | 食材库存 < 2 天时激活(带回差) | | staff_mood_high | 干劲十足 | 单个员工心情 > 70 时激活 | | staff_health_high | 精神饱满 | 单个员工健康 > 75 时激活 | | time_dawn_preparation | 晨起备灶 | 黎明时段 + 营业中自动激活,2 个时段后过期 | | time_dusk_last_orders | 晚市收尾 | 傍晚时段自动激活,2 个时段后过期 | | inn_security_watchful | 巡守严密 | 安防值 > 60 时激活正向增益 | | inn_reputation_slump | 口碑吃紧 | 口碑 < 50 时激活(带回差),与 inn_reputation_crisis 区分层级 |


五、ContentPack C 的环境系统联动全部未接入

ContentPackC 定义了 23 个 Buff,覆盖天气/节气/闯荡/异常四类,均已在 catalog 注册但候选生成逻辑完全缺失

5.1 天气系统(7 个)

| Buff ID | 名称 | 需对接的系统 | |:--|:--|:--| | weather_clear_bustle | 晴日兴市 | 天气系统:读取当日天气 kind,匹配后挂载 | | weather_rain_lingering | 细雨留客 | 同上 | | weather_storm_shutin | 风雨闭门 | 同上 | | weather_fog_prowl | 雾锁宵小 | 同上 | | weather_windy_dust | 风尘扑面 | 同上 | | weather_heatwave_spoil | 酷暑损耗 | 同上 | | weather_snow_hearth | 围炉赏雪 | 同上 |

BuffSnapshot.weather 字段已在 types.ts 定义,但未在 generateBuffCandidates 中使用。

5.2 节气系统(5 个)

| Buff ID | 名称 | 需对接的系统 | |:--|:--|:--| | season_spring_vitality | 春和景明 | 节气系统:根据游戏天数计算当前节气/季节 | | season_summer_swelter | 盛夏溽热 | 同上 | | season_autumn_harvest | 金秋丰稔 | 同上 | | season_winter_hush | 寒冬清淡 | 同上 | | term_festival_celebration | 节气庆典 | 节气交替首日触发,限时 4 个时段 |

BuffSnapshot.solarTerm 字段已在 types.ts 定义,但未使用。

5.3 闯荡系统(5 个)

| Buff ID | 名称 | 需对接的系统 | |:--|:--|:--| | adventure_expedition_underway | 出行在外 | 闯荡系统:出行中按队伍人数叠层 | | adventure_perilous_road | 险途难行 | 闯荡系统:高危地图激活 | | adventure_fortune_road | 顺风顺水 | 闯荡系统:低危地图激活 | | adventure_homecoming_glory | 满载而归 | 闯荡系统:归来结算后按收获档位激活 | | adventure_road_weary | 舟车劳顿 | 闯荡系统:空手归来时激活 |

BuffSnapshot.adventure 字段已在 types.ts 定义,但未使用。

5.4 异常/随机事件(6 个)

| Buff ID | 名称 | 需对接的系统 | |:--|:--|:--| | anomaly_mysterious_guest | 神秘贵客 | 随机事件系统触发 | | anomaly_rumor_storm | 流言四起 | 随机事件系统触发 | | anomaly_lucky_streak | 时来运转 | 随机事件系统触发 | | anomaly_haunting_night | 夜半异响 | 随机事件系统触发(仅夜间) | | random_task_reward | 义举加持 | 随机任务完成时触发 | | random_windfall_hour | 偏财时刻 | 随机时间点触发,仅 1 时段 |


六、第三条势力合璧「武林同盟」未实装

V2.0 §势力联动 定义了 3 个势力合璧组合:

| 组合 | 条件 | 状态 | |:--|:--|:-:| | 官商一体 | 衙门 ≥ 80 + 乡绅 ≥ 80 | ✅ 已实装 | | 黑白通吃 | 衙门 ≥ 80 + 丐帮 ≥ 80 | ✅ 已实装 | | 武林同盟 | 江湖门派 ≥ 80 + 丐帮 ≥ 80 | ❌ 未实装 |

武林同盟设计效果:声望获取 +25%,解锁特殊道具展示,增加安防上限。


七、健康分等级对应的增益/减益 Buff 未实装

V2.0 §3.2 定义了 5 个健康分等级,对应的全局效果可转为 Buff 但未实装:

| 等级 | 健康分区间 | 应产生的 Buff 效果 | |:--|:-:|:--| | 模范客栈 | 90-100 | 全营收 +10%,客流 +15%,正面事件概率翻倍 | | 稳定经营 | 70-89 | 无额外效果(当前状态) | | 经营预警 | 50-69 | 负面事件概率 +30%,每日风险提示 | | 经营危机 | 30-49 | 全营收 -15%,异常限制状态概率增加 | | 濒临倒闭 | 0-29 | 全营收 -30%,每日检测强制停摆 |

注:inn_qixia_famous_inn(七侠镇名店)已覆盖"连续 7 天 ≥ 90"的情况,但其他等级的效果未通过 Buff 系统表达。


八、数值拦截计算未全面接入游戏主循环

buffEngine 的 summarizeBuffs 已实现完整的修饰符汇总,但以下游戏核心数值尚未通过 Buff 引擎包裹

  • [ ] 每日客流量计算 → 需 customerFlowMultiplier
  • [ ] 每日营收结算 → 需 incomeMultiplier / frontDeskIncomeMultiplier
  • [ ] 清洁度自然衰减 → 需 cleanlinessDecayMultiplier / cleanlinessDeltaPerSlot
  • [ ] 安防值自然衰减 → 需 safetyDecayMultiplier / safetyDeltaPerSlot
  • [ ] 员工心情/健康变化 → 需 staffMoodDeltaPerSlot / staffHealthDeltaPerSlot
  • [ ] 偷窃/斗殴/投诉概率 → 需 theftChanceMultiplier / brawlChanceMultiplier / complaintChanceMultiplier
  • [ ] 菜品/座位可用数 → 需 dishAvailabilityMultiplier / seatCapacityMultiplier

九、离线保护与自动运维未实装

V2.0 §4.1-4.2 定义的配套机制:

| 功能 | 描述 | 状态 | |:--|:--|:-:| | 离线保护期 | 离线 > 4h 后衰减速度降为 50% | ❌ | | 保底经营模式 | 离线触发强制停摆后按 15% 保底结算 | ❌ | | 自动运维防抖 | 清洁/安防的启动线-终止线区间回差 | ❌(Buff 引擎层已支持回差,但配置界面未做) | | 自动运维失效预警 | 资源不足时弹出提醒 | ❌ |


十、随机事件与 Buff 联动未实装

V2.0 §4.3-4.4 描述的事件驱动 Buff 场景:

| 事件 | 应产生的 Buff | 状态 | |:--|:--|:-:| | "吃出苍蝇"投诉 | 挂载投诉率 +300% 的临时 Debuff | ❌ | | "姬无命同伙踩点" | 挂载偷窃风险翻倍 | ❌ | | "邢捕头突击查税" | ✅ 已有 gov_tax_audit,但触发入口依赖 flags | | "怡红楼造谣" | 挂载 #PrCrisis / #Rumor 标签 → 舆论值持续上升 | ❌(标签预留,无独立 Buff) | | 危机公关(低成本/中成本/势力方案) | 按选择消除或削弱对应 Debuff | ❌ |


十一、总结概览

| 模块 | 已完成 | 未完成 | |:--|:-:|:-:| | 核心 Buff 引擎(buffEngine.ts) | ✅ 944 行完整实现 | — | | 客栈状态桥接(innStatusBuffBridge.ts) | ✅ 509 行完整实现 | — | | Buff 面板 UI(BuffPanel.tsx) | ✅ 250 行 | — | | 类型定义(types.ts) | ✅ 完整 | — | | 核心 Buff 定义(catalog.ts) | ✅ 基础 15 + B 包 8 + C 包 23 | — | | 状态机强制停摆级 Buff | 仅标签预留 | 🔴 6 个 Buff 定义缺失 | | 员工岗位专属投射 Buff | 仅通用 mood/health | 🔴 4 个 Buff 定义缺失 | | 角色 Buff 接入引擎 | 2/46 已接入 | 🔴 44 个待迁移 | | ContentPackB 触发逻辑 | 定义已注册 | 🔴 8 个候选生成逻辑缺失 | | ContentPackC 环境联动 | 定义已注册 | 🔴 23 个候选生成逻辑缺失 | | 第三条势力合璧(武林同盟) | — | 🔴 1 个 Buff 定义缺失 | | 健康分等级 Buff | 仅名店 Buff | 🟡 4 个等级效果待 Buff 化 | | 数值拦截接入游戏循环 | 引擎就绪 | 🟡 7 个核心数值待包裹 | | 离线保护 / 自动运维 | — | 🟡 机制设计完成,代码未写 | | 随机事件 Buff 联动 | 查税/卫生检查入口已有 | 🟡 其余事件链未建立 |

图例:🔴 = 完全未做(高优先级) 🟡 = 引擎支持但未接入游戏循环(中优先级)


十二、建议实施优先级

P0 — 阻塞核心玩法

  1. 补齐强制停摆级 Buff 定义(资金断裂/食品安全/治安停业/卫生崩溃)
  2. summarizeBuffs 接入客流量/营收/清洁度衰减等核心数值计算

P1 — 完善经营深度

  1. 补齐 ContentPackB 的 8 个候选生成逻辑(日常时段 Buff)
  2. 健康分等级 Buff 化(模范客栈/经营危机/濒临倒闭)
  3. 第三条势力合璧「武林同盟」

P2 — 扩展玩法维度

  1. ContentPackC 天气系统对接(需先有天气生成逻辑)
  2. ContentPackC 节气系统对接(需先有节气计算逻辑)
  3. ContentPackC 闯荡系统对接(需先有闯荡模块)
  4. 46 个角色 Buff 迁移至 BuffDefinition 格式并接入引擎

P3 — 辅助机制

  1. 离线保护结算
  2. 自动运维配置界面
  3. 随机事件 Buff 联动链
  4. 员工岗位专属投射 Buff