外观
D16 · 藏经秘境扫荡真意箱 100× 超发 + 方向换算口径分裂
本轮来源:2026-09-25 策划报障「满特权,真意扫荡数量不对劲,直接几百个,而且是小号第一天就有这么多」。 核心是实现 bug(面额换算与箱换算混用),叠加一处口径分叉(文档写日预算恒定、实现按 3× 放大)与一处路径分裂(扫荡与手动悟道的方向换算不同模型)。
1. 差异现象
- 新注册小号(凡人境)第一天对藏经秘境扫荡,一次 5 连发160 个自选真意箱;满特权账号(VIP8 阶梯满 + 月卡 + 冠名 = 15 次/日)BALANCED 一键扫荡发 480 箱、专修真意方向发 780 箱。
- 对照经济目标:自选真意箱 1 箱 = 100 真意(名义值),周常藏经阁每周也只发 2 箱;单本功法凡人→渡劫全 10 篇真意总成本 = 37,760 名义真意。满特权一天扫荡 = 48,000 名义真意,超过整本功法毕业总投入,功法系统材料经济完全击穿。
- 残页产出数量正常(与篇章成本同尺度);手动悟道产出正常(单次 80/32 名义基准符合文档);只有「扫荡 → 真意箱」这一条链路爆炸。
2. 代码事实(文件:行号 + 数值)
面额体系(理解 bug 的前提)
balance/BalanceConfigRegistry.java:302-308——putGrowth把所有成长轨道的dailyOutput/unitCost统一 ×10(MATERIAL_DENOMINATION_MULTIPLIER=10,:18):凡人境 MENTAL_PAGE 日预算 raw 4000、MENTAL_INTENT 日预算 raw 1600(名义 400/160,与 docs/功法心法设计.md §4.2.3 一致)。domain/MentalMethodChapterConfig.java:30-36—— 篇章成本同尺度:pageCost = costs[i]×1000、intentCost = costs[i]×400(凡人篇 10,000 / 4,000 raw)。service/MentalMethodService.java:45——CHOICE_BOX_GRANT_INTENT = 1_000:开 1 箱兑 1000 面额真意 = 100 名义真意(周常 2 箱 = 200 名义,与文档 §4.3「自选四象真意 ×200/周」一致)。
超发点(改动前)
service/DungeonLimitService.java:623-624(改动前)——intentBoxQty = stochasticRound(intentQty / MATERIAL_DENOMINATION_MULTIPLIER):intentQty是 raw 面额值(满特权 BALANCED 15 次 = 1600×15/5 = 4800),÷10 = 480 被当成箱数直接发放。正确换算是 ÷1000(= 每 1000 面额兑 1 箱)→ 4.8 箱。两个换算(raw→名义 ÷10、名义→箱 ÷100)只做了第一个,第二个被跳过,净放大 100 倍。- 数值对账(凡人境,改动前 = 旧搬运模型 + ÷10,错发箱数 = raw真意 ÷10):
| 场景 | 旧 raw 真意 | 旧错发箱数 | 新 raw 真意 | 应发箱数 |
|---|---|---|---|---|
| 免费 5 次 BALANCED | 1600 | 160 | 1600 | 1.6 |
| 满特权 15 次 BALANCED | 4800 | 480 | 4800 | 4.8 |
| 满特权 15 次 专修真意 | 7800 | 780 | 7200 | 7.2 |
| 满特权 15 次 专修残页 | 2400 | 240 | 2400 | 2.4 |
单次基准口径(P1,保持不动并定案)
service/MaterialRewardService.java:20-30——calculate(track, realm, settlementsPerDay, count)的分母是免费次数;DungeonLimitService.calculateMaterialReward(:701-709)与DungeonMentalMethodService.claimMaterial(:142-150)都传DungeonType.MENTAL_METHOD.getBaseLimit()=5。domain/DungeonType.java:38-40—— MENTAL_METHOD:基础 5 次,月卡 +3、冠名 +2、VIP 阶梯 {2:+1, 4:+1, 6:+1, 8:+2}(VIP8 封顶 +5,原 VIP10 档并入 VIP8,docs/64 §1.3),满特权合计 15 次。- 按同单次产出结算 → 满特权 = 3× 日产量。这恰好与全服材料副本付费产出封顶口径(
ShopBalanceRules.materialDungeonRewardMultiplier:VIP5+ +50%、月卡 +50%、冠名 +100%,封顶 3.0×,docs/副本次数产出与升级消耗重构设计.md §3.1 修订)数值等价——藏经秘境的特权是「加次数」,其余材料副本是「加每场倍率」,殊途同归到 3.0×。篇章另有境界门禁(MentalMethodChapterConfig.isRealmUnlocked),3× 材料不会越过境界解锁篇章,付费语义 = 消除材料卡点、卡境界。
方向换算分裂(P2,改动前)
- 扫荡(改动前
DungeonLimitService.java:611-619)用搬运模型:PAGE_FOCUS 把真意的 50% 搬给残页、INTENT_FOCUS 把残页的 25% 搬给真意——满特权 15 次 PAGE_FOCUS 得残页 12,000+2,400=14,400 raw / 真意 2,400;INTENT_FOCUS 得残页 12,000−3,000=9,000 / 真意 4,800+3,000=7,800。 - 手动悟道
service/DungeonMentalMethodService.java:99-104用比例模型(与文档 §4.2.1 一致):残页 ×150/100、真意 ×20/40 等比例换算——同场景得残页 18,000 / 真意 2,400。同一机制两条路径数值不同。
3. 旧文档说法
docs/功法心法设计.md§4.2.1 注(修订前):「实际单次基础奖励 = 每日材料预算 ÷ 玩家当日总次数……满权益 15 次单次基准约 26.67/10.67,日总量不变」——与实现的「÷ 免费次数 5」口径相反,属文档口径被实现推翻,2026-09-25 定案按实现(方案B 3×)修订文档。docs/功法心法设计.md§9.3.1(修订前):「箱数 =floor(direction.baseIntentReward × consumed / 100)」——公式把方向权重当绝对值用,与 §4.2.1 自己声明「表中数值用于计算方向比例,不是固定单次掉落」自相矛盾,且未给面额换算,正是实现走偏的源头之一。docs/功法心法设计.md§4.2.1 表格与 §13 验收清单里的「VIP2/4/6/8/10 各 +1 次」为过期说法(VIP10 档已并入 VIP8,docs/64 §1.3),一并修正。- 设定站
settings/growth/mental-method.md§4 已写「每箱 1000 自选真意」(面额口径,与实现一致),未写扫荡箱数换算,无错误陈述,仅补 DiffNote。
4. 影响范围
- 玩家影响(正向修复):真意箱日产出回落至设计量级——免费玩家 BALANCED 5 次 ≈ 1.6 箱/日(160 名义真意)、满特权 15 次 ≈ 4.8 箱/日(480 名义真意);周常 2 箱/周重新具有追赶价值。测试环境删档运营,无存量背包追溯负担。
- 经济影响:消除「一天扫荡 > 整本功法毕业真意总成本」的击穿点;残页线、手动悟道线数值不变;满特权 3× 日产量口径不变(方案B 定案,与全服 3.0× 付费产出封顶对齐,付费体系不受损)。
- 契约影响:
POST /api/dungeon/MENTAL_METHOD/sweep请求/响应结构不变,仅rewards文案中的箱数量级变化;一键扫荡默认 BALANCED 不变;自选真意箱开箱接口(每箱 1000 面额真意)不变。 - 数据库影响:无迁移、无存量修正脚本(测试环境删档口径)。
5. 处理结论
- 箱换算修正:
grantMentalMethodSweepReward改为intentBoxQty = stochasticRound(intentQty / MentalMethodService.CHOICE_BOX_GRANT_INTENT)(÷1000),删除误用的本地常量MATERIAL_DENOMINATION_MULTIPLIER;方法 javadoc 重写并留 100× 历史 bug 记录。 - 方向换算统一:扫荡改用与手动悟道(
DungeonMentalMethodService.enter)及文档 §4.2.1 一致的比例模型——残页 × basePageReward/100、真意 × baseIntentReward/40(专修残页 ×1.5/×0.5、专修真意 ×0.5/×1.5),废除搬运模型。 - 单次基准定案:分母保持免费次数 5 不动(方案B,2026-09-25 策划定案)——满特权 15 次 = 3× 日产量,对齐全服 3.0× 付费产出封顶;不采用旧文档「按当日总次数分摊」口径。
- 回归测试:新增
MentalMethodSweepRewardTest4 例——免费 BALANCED(残页 4000 raw、箱 ∈ [1,2])、满特权 BALANCED(残页 12,000、箱 ∈ [4,5])、专修真意比例模型(残页 6,000、箱 ∈ [7,8])、专修残页比例模型(残页 18,000、箱 ∈ [2,3]),全部走真实MaterialRewardService+ 默认平衡表计算链。 - 文档同步:
docs/功法心法设计.md§4.2.1/§4.2.3/§9.3.1/§4.2 表格/§13 验收清单修订(方案B 口径 + 箱数公式 + VIP8 阶梯勘误);设定站与实现页挂<DiffNote id="d16" />。