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 + β 缓议
73 lines
4.5 KiB
JSON
73 lines
4.5 KiB
JSON
{
|
||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
"$id": "boss_battles.schema.json",
|
||
"title": "boss_battles 表 schema v0(十场殿王战参数,数值抄录自 Balance Bible v1.0 §5 + systems-spec §1.2 方案 B)",
|
||
"description": "架构 §3.2 CSV 规范落盘。W4 方案 B(systems-spec §1.2,用户 2026-10-20 拍板):HP = 进入时产出/s × boss_army_seconds(S_n,军列单推秒数,可直读的设计旋钮);军列 DPS = 产出/s × army_dps_factor;点击伤害 = 产出/s × κ × combo_mult(κ = (tune_boss_kappa_base + tune_boss_kappa_slope × 已购点击升级数/12) × (1 + meta_06阶 × 0.30),满配 0.0806);INTRO 开场伤害 = HP × tune_boss_intro_cap × clamp(超度值/souls_par, 0, 1)(tune_boss_intro_enabled 开关);通过奖励 = 阴德爆发 HP×reward_hp_ratio。hall_factor 保留但降级为纯叙事/视觉参数(血条长度观感与 UI 文案),不参与任何伤害计算。已删除列:hp_factor / intro_dmg_souls_factor / intro_dmg_cap_ratio(旧公式参数,方案 B 后为死旋钮,见 provenance P-16/P-19)。",
|
||
"x-supported-keywords": [
|
||
"type", "properties", "required", "items", "enum", "pattern",
|
||
"minimum", "maximum", "minLength", "minItems", "maxItems",
|
||
"additionalProperties", "const"
|
||
],
|
||
"x-unique": ["id", "hall_id"],
|
||
"type": "object",
|
||
"required": ["sheet", "schema_version", "columns", "rows"],
|
||
"properties": {
|
||
"sheet": { "const": "boss_battles" },
|
||
"schema_version": { "const": 0 },
|
||
"columns": {
|
||
"type": "array",
|
||
"items": { "type": "string" },
|
||
"minItems": 13
|
||
},
|
||
"rows": {
|
||
"type": "array",
|
||
"minItems": 10,
|
||
"maxItems": 10,
|
||
"items": {
|
||
"type": "object",
|
||
"required": [
|
||
"id", "hall_id", "hall_factor", "boss_army_seconds", "souls_par",
|
||
"army_dps_factor", "intro_sec",
|
||
"active_sec", "combo_window_sec", "combo_step", "combo_cap",
|
||
"retry_cooldown_sec", "reward_hp_ratio"
|
||
],
|
||
"properties": {
|
||
"id": { "type": "string", "pattern": "^boss_hall_[0-9]{2}$" },
|
||
"hall_id": {
|
||
"type": "string",
|
||
"pattern": "^hall_[0-9]{2}_[a-z]+$",
|
||
"description": "halls.csv 行 ID(每殿恰一场)"
|
||
},
|
||
"hall_factor": {
|
||
"type": "number",
|
||
"minimum": 1,
|
||
"maximum": 3,
|
||
"description": "殿系数([B§5] H1-H10 = 1.0/1.1/1.2/1.3/1.4/1.6/1.8/2.0/2.1/2.2)。W4 起降级为纯叙事/视觉参数(血条长度观感与 UI 文案,如\"此殿厚重系数 2.2\"),不参与伤害计算;调难度只改 boss_army_seconds"
|
||
},
|
||
"boss_army_seconds": {
|
||
"type": "number",
|
||
"minimum": 1,
|
||
"maximum": 60,
|
||
"description": "军列单推秒数 S_n(systems-spec §1.2 B1:23.0/23.5/24.0/24.5/25.0/25.5/26.0/26.5/27.0/28.0)。HP = 进入时产出/s × 本值;军列 DPS = 产出/s × 1.0 ⇒ 纯军列耗时 = S_n 秒(恒等式)。必须 < active_sec(十殿全可胜)"
|
||
},
|
||
"souls_par": {
|
||
"type": "integer",
|
||
"minimum": 0,
|
||
"description": "开场冲锋超度基准(systems-spec §1.2 B3:0/2/18/120/600/2400/7200/21000/48000/90000)。intro_dmg = HP × tune_boss_intro_cap × clamp(超度值/本值, 0, 1);0 = 该殿无开场加成"
|
||
},
|
||
"army_dps_factor": { "type": "number", "minimum": 0, "description": "军列 DPS = 产出/s × 本值([B§5] 1.0)" },
|
||
"intro_sec": { "type": "integer", "minimum": 0, "description": "INTRO 冲锋过场秒数(3s)" },
|
||
"active_sec": { "type": "integer", "minimum": 1, "description": "ACTIVE 主动阶段秒数(30s;用户锁定恒 30 不动)" },
|
||
"combo_window_sec": { "type": "number", "minimum": 0, "description": "连击窗口(0.6s)" },
|
||
"combo_step": { "type": "number", "minimum": 0, "description": "连击每层加成(+2%)" },
|
||
"combo_cap": { "type": "number", "minimum": 0, "maximum": 1, "description": "连击封顶(+60%)" },
|
||
"retry_cooldown_sec": { "type": "integer", "minimum": 0, "description": "失败后再战冷却(60s;H7 前败即等推 → up_gate_boss_retry)" },
|
||
"reward_hp_ratio": { "type": "number", "minimum": 0, "maximum": 1, "description": "通过奖励阴德爆发 = HP × 本值(0.2)" }
|
||
},
|
||
"additionalProperties": false
|
||
}
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
}
|