feat(combat): 伤害下限全来源批——任何伤害落地取值域 [1,+∞)(2026-09-20 用户拍板,台账 100)

用户对 06「零伤害/无威胁组合的跨字段护栏」直接给词表:所有伤害(不分敌我)
最终落点不能是 0 或负数,最小取值 1,无上限。

- DamageMath.counter_component 增 landed_floor 参数(空桶恒 0 边界不变)
- battle_orchestrator 四落点保底:棋盘克制直伤/爆裂正向/负向反噬/地形变异
  (攻击双方原有闸不动;apply_damage n≤0 拒绝保留作真 bug 兜底)
- 06 条目整条解决移除:上界护栏随『不设上限』裁决、退化 0 基线敌经下限消解
- 战斗结算 v0.19 四处措辞+取值域成文(与未合并伏击分支撞号注记避让)
- registry ac_roll / settlement_table.gd 注释同步
- 冒烟 352→355 项 0 失败三闸全过(贴底/穿透/空桶三断言)
- 现行表值零行为变更:纯结构保证+调参防误配
This commit is contained in:
DKChan committed 2026-09-20 03:25:09 +08:00
1 parent a20ea38086
commit 6a9f5901c1
8 files changed
+40 -28

No files matched your search

-8
View File
@@ -75,14 +75,6 @@
**状态**:待办(2026-09-17 量级当量重核同步推进)
#### 零伤害 / 无威胁组合的跨字段护栏
**现状**:主角基础攻击为 0 已被域下界杜绝;残余退化 = 敌种行攻击基线 0 且上限 0 → 无威胁敌(内容调参禁区);跨表量级护栏(基线 × 倍率上界对主角生命上限域)的归属未定
**归属**:实现期 ADR 与[数据配置](systems/表现与支撑/数据配置.md)
**状态**:待办
#### 同深度第二敌种与精英 / Boss 编码位
@@ -186,7 +186,7 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
主角攻击 = 单一基础分量(2026-09-19 充能退役批):量 = 攻击力基线(表值),类型 = 主角表 `attack_type`(营地永久强化换型 = 改字段;未来冒险前参数面承接"按关配型"的策略位)。原"普通 + 穿刺/魔法充能三分量"模型整体退役——挖掘期与战斗期之间不再有弹药供给线,克制应对从局内攒桶改为冒险前配型 + 棋盘火力(穿刺弹/魔法矢等直伤奖励道具,消费面不变)。
**护甲等级掷点:必中、非归零,只吃基础攻击分量**(2026-09-16 定稿落地,判定式与全部数值已拍板;判定对象措辞随敌人技能池批改述)。防守方由此多了一条数值轴——护甲等级(数据键 `armor_class`):攻击永远命中,没有 miss、没有零收益白回合;只有吃掷点的分量在掷点低于防守方护甲等级时按减伤档位打折,档位再重也不归零。判定式:攻击结算时掷单骰(骰面读表),掷点 ≥ 防守方护甲等级 + 攻击加成 → 全额;掷点 < 护甲等级按缺口(护甲等级 − 掷点)查减伤档位表打折——边界与档值读 `settlement.tres` 减伤档位表,三档皆非零档。暴击:天然最大面(读表)使该次基础攻击分量 ×暴击倍率(读表),双方同规,且天然最大面恒全额(暴击与折扣互斥;天然最大面〔nat20〕暴击是掷点层概念,与技能重击〔池技能〕严格区分——两层不得混述)。伤害下限:任何攻击落地伤害至少 damage_floor(读表,全局 max(damage_floor, ·))——"被减伤归零 v=0"零值伤害行语义随批退役,重档折扣的攻击行在行文本记"被压制"。掷点范围:只有基础攻击分量吃掷点——主角先手攻击的普通分量,敌方技能的基础伤害分量(= 攻击基线 × 技能伤害倍率,普通攻击倍率 1 为特例);无伤害分量的技能(增益/妨害类)不掷不折;棋盘来源一律无视护甲等级——伏击附加、爆裂、清障炸药、奖励即时伤害、技能必中附加分量(rider,2026-09-19)全部必中全额不掷,这是本机制的边界切口,与"奖励/惩罚必中"同构。护甲等级(数值轴,掷点打折)与护甲类型(属性轴,克制修正)严格分离:护甲类型不做护甲等级映射,克制修正点数读表、消费面不变,两概念在文档、表字段与代码键中不得混用。数值载体:主角与敌方护甲等级行值读 hero / enemy 表的 armor_class 列(正式行值归怪物设定批,登记[待办清单](../../06-待办清单.md)),ac_up(护甲强化)在其上加算(幅度/层数读 `status_effects.tres`)。攻击加成(`attack_bonus`)为结构位预留字段,切片恒 0,未来归元进度 / 武器附魔投值。掷点时机在结算战斗段内、每次基础攻击伤害计算时判定,消费 `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放)。
**护甲等级掷点:必中、非归零,只吃基础攻击分量**(2026-09-16 定稿落地,判定式与全部数值已拍板;判定对象措辞随敌人技能池批改述)。防守方由此多了一条数值轴——护甲等级(数据键 `armor_class`):攻击永远命中,没有 miss、没有零收益白回合;只有吃掷点的分量在掷点低于防守方护甲等级时按减伤档位打折,档位再重也不归零。判定式:攻击结算时掷单骰(骰面读表),掷点 ≥ 防守方护甲等级 + 攻击加成 → 全额;掷点 < 护甲等级按缺口(护甲等级 − 掷点)查减伤档位表打折——边界与档值读 `settlement.tres` 减伤档位表,三档皆非零档。暴击:天然最大面(读表)使该次基础攻击分量 ×暴击倍率(读表),双方同规,且天然最大面恒全额(暴击与折扣互斥;天然最大面〔nat20〕暴击是掷点层概念,与技能重击〔池技能〕严格区分——两层不得混述)。伤害下限:**任何来源的伤害落地**至少 damage_floor(读表,全局 max(damage_floor, ·)——2026-09-20 用户拍板扩全来源:攻击双方、棋盘直伤与爆裂、地形变异、负向反噬;伤害取值域 [1, +∞),**不设上限**)——"被减伤归零 v=0"零值伤害行语义随批退役,重档折扣的攻击行在行文本记"被压制"。掷点范围:只有基础攻击分量吃掷点——主角先手攻击的普通分量,敌方技能的基础伤害分量(= 攻击基线 × 技能伤害倍率,普通攻击倍率 1 为特例);无伤害分量的技能(增益/妨害类)不掷不折;棋盘来源一律无视护甲等级——伏击附加、爆裂、清障炸药、奖励即时伤害、技能必中附加分量(rider,2026-09-19)全部必中全额不掷,这是本机制的边界切口,与"奖励/惩罚必中"同构。护甲等级(数值轴,掷点打折)与护甲类型(属性轴,克制修正)严格分离:护甲类型不做护甲等级映射,克制修正点数读表、消费面不变,两概念在文档、表字段与代码键中不得混用。数值载体:主角与敌方护甲等级行值读 hero / enemy 表的 armor_class 列(正式行值归怪物设定批,登记[待办清单](../../06-待办清单.md)),ac_up(护甲强化)在其上加算(幅度/层数读 `status_effects.tres`)。攻击加成(`attack_bonus`)为结构位预留字段,切片恒 0,未来归元进度 / 武器附魔投值。掷点时机在结算战斗段内、每次基础攻击伤害计算时判定,消费 `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放)。
EV 参考数不入正文(派生读数,需要时按判定式与现行表值自行复算);旧 defense_up 的减伤墙已整体退役换装为 AC(无双轨,见版本历史)。微调旋钮 = 档位边界与档位值,不动护甲等级值。换装点锚定:基准 AC(读 hero 表)自带的方向性偏移与[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)已登记的加难杠杆扫描合并处理;其生存链区间模型按掷点带宽口径复核(带宽含暴击档与折扣档),"零红档"验收保留。
@@ -199,7 +199,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
乘数 = 1 + 池合成值 ÷ 100;池内加算、每池独立封顶 ±100 百分点 → 乘数域 [0, 2];四池对称:敌打主角 = hero_defense × enemy_output,主角打敌 = hero_offense × enemy_defense(2026-09-18 结构修复批:hero_offense 乘区接线落地——attack_up 普通分量直乘旁路退役,旧"切片现状"注记销项)
护甲等级掷点:掷单骰(骰面读表),掷点 ≥ 护甲等级 + 攻击加成 → 全额;低掷按缺口查减伤档位表(边界与档值读表,无零档)
暴击:天然最大面(读表)→ 该次基础攻击分量 ×暴击倍率(读表)且恒全额(双方同规;掷点层概念,与技能重击严格区分)
伤害下限:任何攻击落地伤害 ≥ damage_floor(读表,全局 max(damage_floor, ·)——折扣与池归零都不产生 v=0 伤害行)
伤害下限:任何来源的伤害落地 ≥ damage_floor(读表,全局 max(damage_floor, ·)——折扣与池归零都不产生 v=0 伤害行;2026-09-20 扩全来源,取值域 [1, +∞))
吃掷点分量 = 主角普通分量 / 敌方技能基础伤害分量;穿刺、魔法、增益/妨害施放、必中附加分量与棋盘来源伤害不掷不折
治疗量 = min( 当前生命 + 表值, 生命上限 )
```
@@ -207,7 +207,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
| 边界 | 规则 |
|---|---|
| 修正池封顶 | 同侧百分比修正加算后每池独立收口 ±100 百分点;乘数可为 0——输出压制触池底时落地伤害由全局下限保底 damage_floor(读表)(叠满免伤归零的结构面已随护甲等级换装消失) |
| 伤害下限 | 任何攻击落地伤害至少 damage_floor(读表,全局 max(damage_floor, ·));"被减伤归零 v=0"零值伤害行语义退役,重档折扣行文本记"被压制"——免伤与零输出仍逐行可见 |
| 伤害下限 | 任何来源的伤害落地至少 damage_floor(读表,全局 max(damage_floor, ·)——2026-09-20 扩全来源:攻击双方/棋盘直伤/地形变异/负向反噬,取值域 [1, +∞) 不设上限);"被减伤归零 v=0"零值伤害行语义退役,重档折扣行文本记"被压制"——免伤与零输出仍逐行可见 |
| 护甲等级掷点 | 必中非归零:掷单骰(骰面读表)对防守方护甲等级 + 攻击加成(恒 0),低掷按缺口查减伤档位表(读表)三档折扣、档位不设零档;天然最大面暴击 ×暴击倍率(读表)恒全额;只吃基础攻击分量(主角普通分量、敌方技能基础伤害分量),棋盘来源伤害与增益施放不掷不折 |
| 溢杀 | 一刀超出目标剩余生命的部分丢弃:不转移给下一个敌人、不存续、无负生命中间态 |
| 治疗 | 生命不溢出上限;满血正向治疗零兑付,记"奖励未生效"行 |
@@ -297,7 +297,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
| 甲效矩阵 | 整数点数 {−1, 0, +1} | 三档加法修正(克制 +1 / 中性 0 / 被克 −1)九格现行值读 `settlement.tres`(provisional——2026-09-18 加法核换装,量纲 percent 退役) | 键集 = 攻击类型 {普通, 穿刺, 魔法} × 护甲类型 {轻甲, 魔法护甲, 重甲},3×3 满格结构冻结;数值归调参 |
| 护甲等级掷点 | 骰面 int [2,1000] · nat 最大面 [1,骰面] · 暴击倍率 percent [100,999] | 骰面 / nat 最大面 / 暴击倍率读表(2026-09-16 拍板定稿) | 回合内随机:每吃掷点分量逐次掷骰,掷点低于防守方护甲等级 + 攻击加成触发档位折扣;天然最大面暴击 ×暴击倍率(读表)且恒全额(双方同规);消费 `armor_roll` 封闭流(逐次掷逐次取号) |
| 减伤档位表 | 边界升序 + 档位值降序 percent [1,99],档数 = 边界数 + 1 | 边界与档值读 `settlement.tres`(roll_tier_bounds / discount 档位,2026-09-16 拍板定稿) | 低掷缺口按边界查档(读表);档位不设零档(非归零);微调旋钮 = 本表,不动护甲等级值 |
| 伤害下限 `damage_floor` | int [1, 999] | 读 `settlement.tres` damage_floor(2026-09-16 拍板定稿) | 任何攻击落地伤害全局 max(damage_floor, ·);零值伤害行语义随批退役 |
| 伤害下限 `damage_floor` | int [1, 999] | 读 `settlement.tres` damage_floor(2026-09-16 拍板定稿;2026-09-20 扩全来源) | 任何来源的伤害落地全局 max(damage_floor, ·);零值伤害行语义随批退役 |
| 攻击加成 `attack_bonus` | int [0, 999] | 0(结构位) | 掷点阈值 = 防守方护甲等级 + 攻击加成;切片恒 0,未来归元进度 / 武器附魔投值 |
| 护甲等级 `armor_class`(防守方字段) | int [0, 999] | 主角与敌方现行值读 hero / enemy 表 armor_class 列(暂定) | 字段本体在敌人表与主角表(归[敌人系统](敌人系统.md)),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md);敌方正式行值归怪物设定批(见待办清单);与护甲类型(克制属性轴)两概念不得混用 |
| 段序常量 | 固定五段 | 结构冻结 | 加载期恒等校验,违例拒绝启动 |
@@ -319,7 +319,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
- 战斗段次序:主角先手后逐敌"按摇定技能行兑现、结算伤害、执行上报"各恰一次;主角倒下立即短路,剩余敌人不行动。
- 护甲等级掷点:吃掷点分量(主角普通分量、敌方技能基础伤害分量)逐次掷单骰(骰面读表)——掷点 ≥ 防守方护甲等级 + 攻击加成全额兑付;低掷按缺口查减伤档位表(边界与档值读表),档位不设零档;天然最大面暴击该分量 ×暴击倍率(读表)且恒全额;穿刺/魔法分量与棋盘来源伤害(伏击附加、爆裂、清障炸药、奖励即时)、必中附加分量及增益/妨害施放不掷不折。
- 新效应词汇(2026-09-19):伤害技 rider_mult 行的每次攻击,伤害行携带 rider 值且终值 = max(伤害下限, 主分量链结果) + rider(停手轮零池零伏击下逐拍精确复算);rider 键只随带 rider_mult 的技能行出现;妨害技 = 施放行 + 状态按 target_side 落主角(投掷阈值随行可读下调),冷却/保底/死亡作废三闸无一例外。
- 伤害下限与留档:任何攻击落地伤害 ≥ damage_floor(读表),全流水零 v=0 伤害行、零"被减伤归零"行;掷点读数、护甲等级与档位随伤害行留档,天然最大面(nat20)行带暴击标记。
- 伤害下限与留档:任何来源的伤害落地 ≥ damage_floor(读表,2026-09-20 扩全来源),全流水零 v=0 伤害行、零"被减伤归零"行;掷点读数、护甲等级与档位随伤害行留档,天然最大面(nat20)行带暴击标记。
- 数值边界:伤害下限保底后全程无零值/负值伤害;溢杀丢弃不转移;治疗封顶不溢出。
- 出口分发:先判主角倒下(负)再判敌清空(胜);停手与耗尽轮恒同图,清图轮才允许换图。
- 关卡收束:关卡结束清空魔法道具背包恰一次并返回清空前计数;战斗结束不清背包。
@@ -354,3 +354,4 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
| v0.16 | 2026-09-18 | **甲效矩阵加法核换装批(用户拍板数值语言——小整数加法核,与 01-核心循环 数值语言条款 / registry / 切片代码同批)**:量纲 percent→整数点数,三档(克制 +1/中性 0/被克 −1)九格改值〔normal 0/+1/−1、pierce −1/+1/0、magic 0/−1/+1〕,pierce×heavy = 0 中性为用户特别拍板;五档词表与百分比乘区退役(v0.15 的五档表随批短命退役,理由=个位数刻度假粒度);分量算术改述=折算取整后加修正点数;缺项回退 100→0;奖励直伤行 payload 键 effectiveness 保留、值语义改点数;池乘区/AC 折扣档/暴击保留百分比并成文粒度口径(数值语言条款:百分比仅此三处既有粗档+开发侧工具);切片同批:settlement.tres/settlement_table.gd/damage_math/battle_orchestrator/smoke/registry/01-核心循环同步 |
| v0.17 | 2026-09-19 | **技能池新效应词汇批(用户拍板——设计权威 docs/proposal-status-vocabulary.md v1.0,与 敌人系统 / 增益状态 / registry / 切片代码同批)**:① 三乘法链尾部 +必中附加分量 rider(伤害技 rider_mult 字段:max(伤害下限, floor(攻击基线 × rider_mult))——后置加法、必中全额、不进乘区不出暴击、价位锚 0.75 = AC 折扣档最轻档;"固定值伤害"改形——固定值不随基线缩放与共享技能表前提冲突);② 增益/妨害技 = 同族施放行(0 伤害不掷不折不兑伏击),妨害状态按状态行 target_side 落主角——零新授予通道;③ 必中家族清单 +rider(掷点边界切口);④ 公式行/吃掷点行/验收标准三处同步 + 新效应词汇验收条目(rider 逐拍精确复算 + rider 键封闭 + 妨害落主角端到端);⑤ 实装面 = 仅 L2 Boss 卓尔(毒爆 +rider、新行蛛网束缚妨害→失衡),其余敌种不动;多段命中经用户拍板退役不入词汇表 |
| v0.18 | 2026-09-19 | **插旗不可逆批(用户拍板全套落地,2026-09-18 提案转正;与排雷玩法 v0.5 / 行动经济 v0.4 / 地图战斗资源 v0.12 / registry / 切片代码同批)**:① 授予段「抵消过滤」改述「判定基线」——撤旗动作退役,旗判定以轮末在场旗为基线,被挖开的旗不入基线;② 新增插旗不可逆四情况兑付表:①标中照常 / ②插旗雷格直挖只吃挖雷惩罚标中不发 / ③标空照常 / ④插旗安全格直挖零惩罚零奖励(正向作废 + reward_ineffective 归因行);③ 挖格批兑付表补四情况分支;④ 标中资格措辞改「旗无移除手段」(拔旗重插通道消失);⑤ P0 闭环第 2/4 步与验收标准同步(「抵消过滤」条改「挖旗格兑付改判」)。切片同批:minesweeper_rules 挖旗格放行 + flag_pull 出目录 + dug_under_flag 事件标记、battle_orchestrator 情况④零奖励抑制、action_economy 表 flag_pull_ap_cost 删除、冒烟 317→327 项 0 失败(四情况探针 `_smoke_flag_irreversible_quadrants`) |
| v0.19 | 2026-09-20 | **伤害下限全来源批(用户拍板「任何伤害取值域 [1,+∞),最小值一定是 1」;与 06 清单「零伤害/无威胁组合的跨字段护栏」收口 / registry / 切片代码同批,台账 100)**:① 下限语义从"任何攻击落地伤害"扩为"任何来源的伤害落地"——攻击双方(原有)+棋盘克制直伤(counter_component 增 landed_floor 参数,空桶不吃修正恒 0 边界不变)+爆裂正向+负向反噬(穿刺陷阱/魔法反噬/heal 反噬)+地形变异 flat_damage,全部收进 damage_floor 闸内;② 取值域成文 [1, +∞) **不设上限**——「零伤害/无威胁组合」条目的跨表上界护栏半边随拍板裁决为不设(上不封顶),敌种攻击基线 0 的退化态经下限自然消解(0 基线攻击落地仍 ≥1,"无威胁敌"结构性不存在);③ 现行表值下零行为变更(棋盘直伤贴底值 2−1=1 本就在闸内),本批=结构保证+调参防误配;④ 判读口径/约束表/调参表/验收四处措辞同步;冒烟 352→355 项 0 失败(+贴底/穿透/空桶三断言)。版本号注记:v0.19 在伏击上限删除批(未合并分支)中已被占用,本条与之合并时以先落籍者为准顺延避让 |
+1 -1
View File
@@ -354,7 +354,7 @@ entities:
pool_clamp_hi: int pp(结构冻结 +100——percent 池地板域上界;原"七字段 pool_clamp_lo_hi"措辞作废,数据配置 GDD 行按收编先例以本条为准)
round_direction: enum {floor}(结构冻结——单一取整规则)
armor_effectiveness: Dictionary 攻击类型×护甲→克制修正点数(加法 delta,域 [−3,+3],缺项回退 0 中性;键集结构冻结 {normal, pierce, magic} × {light, ward, heavy};现行九格读数不列于本 registry——读 data/tables/settlement.tres(**2026-09-18 加法核换装批:量纲由百分比改整数点数,三档 克制 +1/中性 0/被克 −1,五档百分比读数随批退役**);**2026-09-15 命名统一批:改为语义键,原 {base, dmg_a, dmg_b} × {none, a, b} 位置键作废**;数值 provisional 归 难度曲线与Boss)
ac_roll: 护甲等级掷点(**2026-09-16 护甲等级掷点批定稿,数字即规范**——骰面 roll_faces=20、nat 最大面 crit_roll=20、暴击倍率 crit_multiplier=200、攻击加成 attack_bonus=0〔结构位,元进度/武器附魔未来投值〕、伤害下限 damage_floor=1、流名 armor_roll_stream="armor_roll";判定式:掷 1d20,掷点 ≥ 防守方护甲等级 + 攻击加成 → 全额、低掷按缺口查档〔见 ac_discount_tiers〕,nat20 暴击该基础攻击分量 ×2 且恒全额〔双方同规〕;任何攻击落地伤害 ≥ damage_floor〔全局 max(1,·)——零值伤害行语义退役,重档折扣行文本记"被压制"〕;吃掷点分量 = 主角先手攻击普通分量 / 敌方技能基础伤害分量〔= 攻击基线 × 技能伤害倍率——2026-09-16 敌人技能池批改述,原"敌方攻击拍与重击拍基线伤害"退役;无伤害分量的增益技不掷不折〕,棋盘来源伤害〔伏击附加 / 爆裂 / 清障炸药 / 奖励即时——2026-09-19 充能退役后无充能分量〕必中全额不掷;回合内随机、消费 armor_roll 封闭流逐次掷逐次取号,可逐位回放)
ac_roll: 护甲等级掷点(**2026-09-16 护甲等级掷点批定稿,数字即规范**——骰面 roll_faces=20、nat 最大面 crit_roll=20、暴击倍率 crit_multiplier=200、攻击加成 attack_bonus=0〔结构位,元进度/武器附魔未来投值〕、伤害下限 damage_floor=1、流名 armor_roll_stream="armor_roll";判定式:掷 1d20,掷点 ≥ 防守方护甲等级 + 攻击加成 → 全额、低掷按缺口查档〔见 ac_discount_tiers〕,nat20 暴击该基础攻击分量 ×2 且恒全额〔双方同规〕;任何攻击落地伤害 ≥ damage_floor〔**2026-09-20 伤害下限全来源批(用户拍板)**:语义扩为任何来源的伤害落地——攻击双方/棋盘克制直伤/爆裂/地形变异/负向反噬全部收进闸内,伤害取值域 [1, +∞) 不设上限;全局 max(1,·)——零值伤害行语义退役,重档折扣行文本记"被压制"〕;吃掷点分量 = 主角先手攻击普通分量 / 敌方技能基础伤害分量〔= 攻击基线 × 技能伤害倍率——2026-09-16 敌人技能池批改述,原"敌方攻击拍与重击拍基线伤害"退役;无伤害分量的增益技不掷不折〕,棋盘来源伤害〔伏击附加 / 爆裂 / 清障炸药 / 奖励即时——2026-09-19 充能退役后无充能分量〕必中全额不掷;回合内随机、消费 armor_roll 封闭流逐次掷逐次取号,可逐位回放)
ac_discount_tiers: Dictionary 缺口档边界→档位值 percent(**2026-09-16 定稿**——roll_tier_bounds=[3,7] · roll_tier_discounts=[75,50,25],档数 = 边界数 + 1;缺口 1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25,档位不设零档〔非归零〕,取整沿全局 floor;EV 参考数〔按判定式复算〕= AC10 期望减免 21.25% / AC11 25% / AC12 28.75%;微调旋钮 = 边界与档位值,不动 AC 值;难度曲线与Boss 生存链区间带宽补扫含暴击档与折扣档、"零红档"验收保留)
validation: segment_order 违例致命 · effect_pool_map 悬空致命 · p_perfect 域 {100,200}(2026-09-10 载体域——100 = "完美必须 ≥ 不加倍"机制语义下界,200 = 双份交付)——战斗结算 冒烟三行致命 manifest(segorder_violation / poolmap_dangling / pperfect_oob)
mechanics: 结算段序骨架唯一权威载体(授予→增益/减益→战斗→衰减→判定——2026-09-15 格面资源批五段,item_window/item 两段随可选类删除下线)· **随机口径(2026-09-15 护甲等级批修订)**:结算换算层引入回合内随机(ac_roll 护甲等级掷点——必中非归零、低掷按 ac_discount_tiers 档位折扣),掷点流归属未定〔rng_service 流封闭清单 board_gen/reward_roll/encounter 不含结算内消费——新增流须改代码+P1 支柱评审、复用 encounter 则改"实例化期恰一 scope"绑定,登记 战斗结算「待办」,rng_service 条目随定稿批修订〕· 可回放契约 = **封闭随机流可回放**(同 master_seed 同意图序列 ⇒ 步骤流逐位复现——数据配置 AC-15 落点,原"结算路径零随机 / 步骤流逐行相同"口径随批作废;开战掷区间 / 装板摇号属初始化随机维持不变)· 调用序钉死 按摇定技能行兑现→apply_damage→commit_action(2026-09-16 技能池批改型——原 query_attack→apply_damage→advance 随行为环退役;行型 10 类同批改型:蓄力行 charge → 施放行 cast〔增益技 0 伤害施放、具名技能、不兑伏击〕)· 衰减恒执行含末轮 · 高光双落载体(perfect_sweep P_perfect——2026-09-10 修订为真实双份兑付载体 / 标中旗 highlight 标记)· 流水行协议字段分层(公共 7 字段 + 行类型特有 target/effect_id/pool_value/聚合计数——2026-09-10 评审批修订;行类型封闭枚举 10 类——2026-09-15 格面资源批由 15 类收拢:删道具行 / 已消耗未生效行 / 使用被拒行 / 窗口打开锚行 window_open / 窗口跳过锚行 window_skip 五类随可选类删除下线〔2026-09-15 窗口锚行批曾由 13 扩为 15,同日回撤〕;行来源断言两层豁免集合同批修订 = 行型豁免 {decay, verdict} × 来源类别豁免 {hero_attack, enemy_action, clear_reward},豁免不等于免检——豁免行仍受公共字段与各自语义约束,清单改动须同步 战斗结算 明细流水一节与 battle_log_view 格式化)· **类型化克制结算规格 = 战斗结算 GDD F6(W3 补全,2026-09-14 重算批;2026-09-15 命名统一批;2026-09-19 充能退役批——挖掘期充能/战斗段消费半边废止,加法核点数修正)**——逐分量 armor_effectiveness 查表(奖励直伤道具消费方保留)