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_low 和 staff_health_low 两个通用版接入引擎。
四、ContentPack B 的候选生成逻辑缺失
ContentPackB 的 8 个 Buff 已注册到 catalog.ts,但 buffEngine.ts 的 generateBuffCandidates 函数中没有对应的触发判定逻辑:
| 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 — 阻塞核心玩法
- 补齐强制停摆级 Buff 定义(资金断裂/食品安全/治安停业/卫生崩溃)
- 将
summarizeBuffs接入客流量/营收/清洁度衰减等核心数值计算
P1 — 完善经营深度
- 补齐 ContentPackB 的 8 个候选生成逻辑(日常时段 Buff)
- 健康分等级 Buff 化(模范客栈/经营危机/濒临倒闭)
- 第三条势力合璧「武林同盟」
P2 — 扩展玩法维度
- ContentPackC 天气系统对接(需先有天气生成逻辑)
- ContentPackC 节气系统对接(需先有节气计算逻辑)
- ContentPackC 闯荡系统对接(需先有闯荡模块)
- 46 个角色 Buff 迁移至 BuffDefinition 格式并接入引擎
P3 — 辅助机制
- 离线保护结算
- 自动运维配置界面
- 随机事件 Buff 联动链
- 员工岗位专属投射 Buff