W4 批次:三项设计裁定落地(Boss 战 Plan B / 离线契约 v2 / 长明灯加法化)

Boss 战修复(Plan B,用户拍板):
- HP 公式 15xPxhall_factor -> HP = P x boss_army_seconds_n(S=23.0→28.0 递增,
  每场军列约 23-28 秒清空,战斗时长成为可直接书写的设计旋钮,结构性消除
  高殿 P 抵消导致不可胜的旧 bug);hall_factor 降级为纯叙事/视觉参数
- 新增 souls_par 列(0→90000):开场冲锋 intro_dmg = HP x 10% x clamp(souls/souls_par,0,1),
  上限 20%->10%;删 hp_factor/intro_dmg_souls_factor/intro_dmg_cap_ratio 三列
- 点击伤害 P x κ x combo_mult,κ = (0.010 + 0.052 x click_ratio) x (1 + 0.30 x m06_owned),
  click_ratio = 已购点击升级 / 12(κ 0.010→0.0806,满配点击占比约 20.5%±3pp)
- 防双重计入:L5-12 点击升级 +1% output/s 留全局区(抬 P 同时抬军列 DPS 与点击
  伤害,可接受),不得再计入 κ 分子(recompute 注释固化)

离线契约 v2(P-8,改契约不改表):
- OfflineModel.settle 第三参 offline_mult -> offline_add(加法);各档效率
  min(rate+add, 1.0) 硬顶 100%,离线永不超在线
- 长明灯 x1.15 乘性 -> +5%/级 加法(满级 +30%,各档封顶 100%)
- 0-2h 100% 保持;8h = 6.2 等效小时(77.5% 效率)
- Gate #9 拆 9a/9b/9c:9a FAIL->PASS(0-2h 全额 + 8h∈[5.5,6.5]),
  9b 长明灯满级 8h∈[7.5,8.0] 且 ≤100%,9c 任意配置效率 ≤100%

数据与工具:
- gen_balance_sheets.py 补登 W3 遗留 7 行 tune(防重跑静默丢失),self_check 更新
- boss_battles/upgrades schema 同步(offline_mult->offline_add enum,漏改会违反导入)

测试(runner 7->8 用例,Node 交叉验证 145 断言全过):
- 可胜性哨兵重写为「十殿全可胜」:每殿 S_n<30、军列+点击≥HP、余时∈[2,8]、
  满配余时差≥4、点击占比∈[15,25]、H10≈20.5%±3pp
- κ 四档断言(0.010/0.036/0.062/0.0806,分母 12)
- 新增 test_offline_contract.gd:契约 v2 数值面 + 9a/9b/9c 全 PASS + β 缓议
This commit is contained in:
程基岩(engineering-lead) committed 2026-10-20 17:01:25 +08:00
1 parent 4f650aeb39
commit 08dc5020c3
22 files changed
+738 -233

No files matched your search

+18 -18
View File
@@ -1348,11 +1348,11 @@
"type": "offline",
"target_gen": "none",
"unlock_hall": "hall_04_wuguan",
"effect_type": "offline_mult",
"effect_param": 1.15,
"effect_type": "offline_add",
"effect_param": 0.05,
"requires": "none",
"cost": 2000,
"desc_cn": "离线效率 ×1.15(作用于衰减表全部时段;6 级满 ×2.31)"
"desc_cn": "离线效率 +5%(加法,直接加在衰减表各档速率上;6 级满 +30%,各档硬封顶 100%)"
},
{
"id": "up_offline_2",
@@ -1361,11 +1361,11 @@
"type": "offline",
"target_gen": "none",
"unlock_hall": "hall_04_wuguan",
"effect_type": "offline_mult",
"effect_param": 1.15,
"effect_type": "offline_add",
"effect_param": 0.05,
"requires": "none",
"cost": 20000,
"desc_cn": "离线效率 ×1.15(作用于衰减表全部时段;6 级满 ×2.31)"
"desc_cn": "离线效率 +5%(加法,直接加在衰减表各档速率上;6 级满 +30%,各档硬封顶 100%)"
},
{
"id": "up_offline_3",
@@ -1374,11 +1374,11 @@
"type": "offline",
"target_gen": "none",
"unlock_hall": "hall_04_wuguan",
"effect_type": "offline_mult",
"effect_param": 1.15,
"effect_type": "offline_add",
"effect_param": 0.05,
"requires": "none",
"cost": 200000,
"desc_cn": "离线效率 ×1.15(作用于衰减表全部时段;6 级满 ×2.31)"
"desc_cn": "离线效率 +5%(加法,直接加在衰减表各档速率上;6 级满 +30%,各档硬封顶 100%)"
},
{
"id": "up_offline_4",
@@ -1387,11 +1387,11 @@
"type": "offline",
"target_gen": "none",
"unlock_hall": "hall_04_wuguan",
"effect_type": "offline_mult",
"effect_param": 1.15,
"effect_type": "offline_add",
"effect_param": 0.05,
"requires": "none",
"cost": 2000000,
"desc_cn": "离线效率 ×1.15(作用于衰减表全部时段;6 级满 ×2.31)"
"desc_cn": "离线效率 +5%(加法,直接加在衰减表各档速率上;6 级满 +30%,各档硬封顶 100%)"
},
{
"id": "up_offline_5",
@@ -1400,11 +1400,11 @@
"type": "offline",
"target_gen": "none",
"unlock_hall": "hall_04_wuguan",
"effect_type": "offline_mult",
"effect_param": 1.15,
"effect_type": "offline_add",
"effect_param": 0.05,
"requires": "none",
"cost": 20000000,
"desc_cn": "离线效率 ×1.15(作用于衰减表全部时段;6 级满 ×2.31)"
"desc_cn": "离线效率 +5%(加法,直接加在衰减表各档速率上;6 级满 +30%,各档硬封顶 100%)"
},
{
"id": "up_offline_6",
@@ -1413,11 +1413,11 @@
"type": "offline",
"target_gen": "none",
"unlock_hall": "hall_04_wuguan",
"effect_type": "offline_mult",
"effect_param": 1.15,
"effect_type": "offline_add",
"effect_param": 0.05,
"requires": "none",
"cost": 200000000,
"desc_cn": "离线效率 ×1.15(作用于衰减表全部时段;6 级满 ×2.31)"
"desc_cn": "离线效率 +5%(加法,直接加在衰减表各档速率上;6 级满 +30%,各档硬封顶 100%)"
}
]
}