feat(slice): 护甲等级掷点批收编——d20 判定式+defense_up→ac_up 换装+armor_roll 流(冒烟 233 项全绿)

- 判定式:1d20 ≥ AC+attack_bonus 全额,低掷三档折扣,nat20 暴击×2,下限 max(1,·)
- 换装:defense_up 退役 → ac_up(+1 AC/层×2);hero AC10 / 敌方 0 暂定
- rng_service 增 armor_roll 封闭流;settlement.tres 七掷点参数
- 文档:战斗结算 v0.10/敌人系统 v0.4/难度曲线与Boss v0.5/增益状态 v0.4/地图战斗资源 v0.6 + registry + 06-待办清单
- EV 口径注记:AC12 按判定式 28.75%(提案 32.5% 不符,按规范登记)
- 顺手清偿 supply_scan.gd 遗留 .uid
This commit is contained in:
DKChan committed 2026-09-16 20:54:56 +08:00
1 parent 1c63830317
commit 131d1047e1
39 files changed
+1461 -182

No files matched your search

+1 -1
View File
@@ -61,7 +61,7 @@ registry 登记 **六种**(数据表未建,属待落地内容):显影尘
| 状态 | 作用方 | 效果 |
|---|---|---|
| 增伤 | 主角 | 攻击 +50% |
| 减伤 | 主角 | 承伤 −30% |
| 护甲强化 | 主角 | 护甲等级 +1/层(×2 层)——掷点折扣阈值(2026-09-16 换装,原减伤 −30% 退役) |
| 失衡 | 主角 | 承伤 +25% |
| 伏击 | 敌方 | 每次攻击附加固定伤害 |
| 削弱 | 敌方 | 输出 −65%(标中巢穴的兑付) |
+10 -2
View File
@@ -142,7 +142,7 @@
**归属**:战斗结算提案,[难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md)数值共裁
**状态**:待办
**状态**:已裁决(2026-09-16,数字即规范)——掷 1d20;掷点 ≥ 防守方护甲等级 + 攻击加成(结构位 attack_bonus,切片恒 0)→ 全额,低掷按缺口三档折扣(1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25,无零档);nat20 暴击该基础攻击分量 ×2 且恒全额(双方同规);任何攻击落地伤害 ≥1(全局 max(1,·),零值伤害行语义退役);armor_class 域 [0,999],主角 10 / 敌方首关 0(暂定)。判定式全 [#战斗结算 v0.10](systems/战斗循环/战斗结算.md) 与 registry settlement_table 条目,切片已落地(smoke 233 项全绿 + level_monte_carlo 复跑验收)
#### 护甲等级掷点的随机流归属
@@ -150,7 +150,7 @@
**归属**:[数据配置](systems/表现与支撑/数据配置.md)与战斗结算共裁,随定稿批执行
**状态**:待办
**状态**:已裁决(2026-09-16)——新开 armor_roll 封闭流(互异奇盐 0xC2B2AE3D27D4EB2F),scope_event_binding = 每次掷点恰一 scope(逐次掷逐次取号、可逐位回放);黄金向量 m=42 scope0 = 4806095330042243845;rng_service 条目与切片已同步落地
### 敌人系统
@@ -208,6 +208,14 @@
**归属**:随掷点形式定稿批,投值归[难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md)
**状态**:已裁决(2026-09-16)——域 [0,999];主角 10(暂定)、敌方首关六行 0(暂定)已入表。正式行值拆出为新待办:「敌方护甲等级(armor_class)正式行值」(下方)
#### 敌方护甲等级(armor_class)正式行值
**现状**:armor_class 字段与掷点判定已定稿落地(2026-09-16 护甲等级掷点批);第一关怪物 AC 相对较低(暂定全 0 = 敌方攻击恒全额),正式行值待怪物 / 敌人系统设定批投值——三敌种各自的护甲等级档位(含 Boss)随投值批定,投值后须复算生存链区间(含暴击档与折扣档带宽)并同步 registry。关联条目:难度曲线与Boss「基线通关率越带,加难杠杆扫描未执行」(AC 行值投值与加难扫描合并调)
**归属**:怪物/敌人系统设定批投值,[难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md)联动复算
**状态**:待办
### 增益状态
@@ -95,7 +95,7 @@ MVP 行值并不逐式现算,而是按此式量级直填经切片验证过的
| 输出峰值 / 谷值 | 玩家最好 / 最坏一轮的总输出(分量构成同上) |
| 一次性伤害 | 清障炸药一类当场引爆的大额伤害 |
护甲等级带宽口径(2026-09-15 护甲等级批):结算换算层引入护甲等级掷点(必中、低掷按档位折扣,规则归[战斗结算](../战斗循环/战斗结算.md))后,受伤与输出两侧的峰值 / 谷值构成各含一条掷点带宽——同一刀的最坏 / 最好掷点落进谷值 / 峰值。掷点按 EV 中性引入:期望伤害对齐现行表值,现行行值不重调;折扣档位与掷点形式定稿前,区间扫描维持"全额无折扣"口径,带宽项随定稿批补扫。"零红档"验收与三档判定式不变。
护甲等级带宽口径(2026-09-16 定稿落地):结算换算层引入护甲等级掷点(1d20 必中、低掷按缺口三档折扣、nat20 暴击 ×2 恒全额,规则归[战斗结算](../战斗循环/战斗结算.md))后,受伤与输出两侧的峰值 / 谷值构成各含一条掷点带宽——同一刀的最坏 / 最好掷点(含暴击档与折扣档)落进谷值 / 峰值,带宽补扫义务含暴击档与折扣档。**换装点锚定**:基准 AC10 自带约 −21% 敌方输出期望(AC11 25% / AC12 28.75%),对比被整体退役的 defense_up 满层 −60% 减伤墙是结构性削弱,且伤害下限(任何攻击落地 ≥1)使"零承伤轮"结构性消失——该方向性偏移与下方已登记的加难杠杆扫描合并处理,不单独重调行值;主角行值 10(暂定)、敌方首关 0(暂定,正式行值归怪物设定批)。"零红档"验收与三档判定式不变。
关级通关恒等式:**一关打下来,玩家总输出 ≈ 全关敌方总生命期望 ×(1 + 缓冲);其中奖励侧贡献的输出占比须落在 [15%, 40%] 带内。**
@@ -161,7 +161,7 @@ Boss 战的棋盘用本关最大板形(第一关为 12×12),板参数仍
| 每轮行动点 ↔ 停手转存规模 | [行动经济](../排雷循环/行动经济.md) | 联动评估记录归本文,调参所有权在行动经济 |
| 削弱强度 ↔ 当量锚 | [增益状态](../战斗循环/增益状态.md)、[战斗结算](../战斗循环/战斗结算.md) | 联动值禁独立调参,修订须重跑锚对照 |
| 护甲类型 ↔ 充能奖励(投桶与量) ↔ 克制矩阵 | [战斗结算](../战斗循环/战斗结算.md) | 敌种护甲变更须复算击杀区间;改充能的投桶或量属奖励侧改动,须重跑本表数值 |
| 护甲等级 ↔ 攻击基线 ↔ 区间带宽 | [战斗结算](../战斗循环/战斗结算.md) | 敌种与主角的护甲等级行值变更须复算生存链区间(掷点带宽随折扣档位与攻击基线同向放大);EV 中性锚定现行表值,掷点形式与档位定稿前禁投值 |
| 护甲等级 ↔ 攻击基线 ↔ 区间带宽 | [战斗结算](../战斗循环/战斗结算.md) | 敌种与主角的护甲等级行值变更须复算生存链区间(掷点带宽随折扣档位与攻击基线同向放大);掷点形式与档位已定稿(d20 三档 / nat20 ×2),护甲等级行值变更仍须复算生存链区间并同步 registry——主角 10 / 敌方首关 0 均暂定,敌方正式行值随怪物设定批投值、与加难杠杆扫描合并调 |
五条经济契约的对账由[战斗结算](../战斗循环/战斗结算.md)闭合验收,其中挖掘风险不等式与清图支配性两条的现行验算已破线或存在缺口(现状见其「待办」),重跑义务落在本系统的下一次调参批执行——这是本系统当前最优先的调参义务。完美排雷乘数的调参权在本系统。
@@ -199,7 +199,7 @@ Boss 战的棋盘用本关最大板形(第一关为 12×12),板参数仍
| 优先级 | 内容 | 后置原因 |
|---|---|---|
| P1 | 第二关深度轴行值(敌人表与棋盘表 D1–D4) | 内容与数值同批,随第二关内容扩展填充;填齐前冒险按单关运行(合法态) |
| P1 | 加难杠杆扫描落带 | 候选杠杆已登记(血量锚走廊、群战上探、注入衰减 0.6),扫描未执行;落带前现行行值维持 provisional-pending-scan |
| P1 | 加难杠杆扫描落带 | 候选杠杆已登记(血量锚走廊、群战上探、注入衰减 0.6),扫描未执行;护甲等级换装点锚定(基准 AC10 自带约 −21% 敌方输出期望 + 减伤墙退役 + 伤害下限)的方向性偏移并入本扫描一并调带(带宽补扫含暴击档与折扣档);落带前现行行值维持 provisional-pending-scan |
| P1 | 挖掘风险不等式与清图支配性对账重跑 | 两条对账现行破线 / 缺口,义务落在本文调参批(现状见[战斗结算](../战斗循环/战斗结算.md)「待办」) |
| P1 | 真人通关率修正系数标定 | 带按模拟口径定义;试玩批次实测真人显著强于模拟者,系数待后续试玩批次定量 |
| P1 | 完美策略档的结构性加难杠杆 | 数值杠杆对完美档已被实测证伪,结构候选未裁决(见「待办」) |
@@ -230,7 +230,7 @@ Boss 战的棋盘用本关最大板形(第一关为 12×12),板参数仍
| 表 | 行值 |
|---|---|
| 主角表 | 生命上限 50 · 基础攻击 6 |
| 主角表 | 生命上限 50 · 基础攻击 6 · 护甲等级 10(暂定) |
| 棋盘参数(第一关 D0/D1) | 10×10 · 雷密度 0.25 · 可推理率目标 0.88 · 生成尝试上限 16 |
| 棋盘参数(第一关 D2–D4,含 Boss) | 12×12 · 雷密度 0.25 · 可推理率目标 0.88 · 生成尝试上限 24 |
@@ -246,7 +246,7 @@ Boss 战的棋盘用本关最大板形(第一关为 12×12),板参数仍
| 当量参考敞口 | 12 | 变更触发全量对账重跑 |
| 注入概率初值 / 衰减 | 0.4 / 0.5(加难候选 0.6) | 注入机制归[地图战斗资源](../战斗循环/地图战斗资源.md) |
| 清障炸药威力区间 | 25–55(中点 40) | 清图槽当场引爆 |
| 状态强度 | 增伤 +50 / 减伤 −30 / 削弱 −65 / 伏击 +3(每层) | 联动评估归本文,禁独立调参 |
| 状态强度 | 增伤 +50 / 护甲强化 +1 护甲等级(×2 层,掷点轴——2026-09-16 换装,原减伤 −30 退役) / 削弱 −65 / 伏击 +3(每层) | 联动评估归本文,禁独立调参 |
## 验收标准
@@ -273,3 +273,4 @@ Boss 战的棋盘用本关最大板形(第一关为 12×12),板参数仍
| v0.2 | 2026-09-15 | 教学位掷骰自洽(用户拍板:代码不动、文档对齐):删除"教学位/首遇位固定不掷"豁免口径,教学位地精数量明确为开战掷骰区间 [1,2];D0 行数量列改 [1,2];Boss 血量锚 Σ=153.5 补逐数验算(区间期望口径下闭合) |
| v0.3 | 2026-09-15 | 雾格残留清理:关闭「待拍板」的雾相关供给验算失义条目(原供给与对账验算含雾板分层、雾成本负担比等输入分量);第二关新内容投放缺口条目改为引用「已从设计中移除的机制」(见不做清单)。曲线规则、供给带与对账义务不变 |
| v0.4 | 2026-09-15 | **护甲等级批(与战斗结算 / 敌人系统 / registry 同批登记)**:生存链区间模型补记护甲等级掷点带宽口径——峰值/谷值构成各含最坏/最好掷点带宽;EV 中性引入成文(期望伤害对齐现行表值、现行行值不重调,折扣档位与掷点形式定稿前区间扫描维持全额口径、带宽项随定稿批补扫,"零红档"验收与三档判定式不变);调参联动表新增"护甲等级 ↔ 攻击基线 ↔ 区间带宽"一行 |
| v0.5 | 2026-09-16 | **护甲等级掷点批·定稿落地(与战斗结算 / 敌人系统 / registry / 切片代码同批)**:带宽口径改写为"换装点锚定"——掷点形式与档位定稿(d20 / 缺口 1-3→×0.75 · 4-7→×0.5 · 8+→×0.25 / nat20 暴击 ×2 恒全额),基准 AC10 自带约 −21% 敌方输出期望(AC11 25% / AC12 28.75%),对比退役的 defense_up 满层 −60% 减伤墙为结构性削弱 + 伤害下限使零承伤轮结构性消失,方向性偏移与加难杠杆扫描合并处理、不单独重调行值;带宽补扫义务含暴击档与折扣档(并入加难扫描批);护甲等级行值:主角 10(暂定)、敌方首关 0(暂定,正式行值归怪物设定批);调参联动表"护甲等级"行改定稿口径;调参表主角表行与状态强度行同步(减伤 −30 → 护甲强化 +1 AC ×2 层) |
@@ -88,12 +88,12 @@
| 类型 | 正向(奖励) | 负向(惩罚) |
|---|---|---|
| attack 增伤 | attack_up 增伤 +50%(hero_offense 池) | enrage 敌方暴走 +25%(enemy_output 池) |
| defense 减伤 | defense_up 减伤 −30%(hero_defense 池) | off_guard 我方失衡 +25%(hero_defense 池,承伤加深) |
| defense 护甲 | ac_up 护甲强化 +1 护甲等级/层 ×2 层(AC 掷点阈值轴——2026-09-16 换装,不入池) | off_guard 我方失衡 +25%(hero_defense 池,承伤加深) |
| heal 回血 | heal_minor 回血 2–6(满血零兑付照旧) | 直伤:主角 −4(战斗结算直接扣血,不经增益状态) |
| blast 群伤 | spark_aoe 全体存活敌各 −4 | ambush 敌方伏击 +2 层(进伏击池) |
| weaken 削弱 | weaken 敌方输出 −65%(enemy_output 池) | sapped 我方乏力 −25%(hero_offense 池) |
设计意图:读敌拍板的路线规划——敌方要放大招时抢减伤、怪重叠时抢削弱,惩罚侧则镜像同一批类型。类型清单是封闭的:加第六型等于修订本文档,不是调参数。
设计意图:读敌拍板的路线规划——敌方要放大招时抢护甲强化、怪重叠时抢削弱,惩罚侧则镜像同一批类型。类型清单是封闭的:加第六型等于修订本文档,不是调参数。
凡"该兑付但没生效"——增益挂满层、满血捡到 heal 正向、场上无敌可打——一律在结算明细里明写一行"奖励未生效",不给折算补偿,也不静默消失。把兑付改成跳过轮末结算直接生效,同样在禁止之列。
@@ -171,7 +171,7 @@
| 行 | 类型 | 极性 | 威力 | 权重 | 档位 | 所在池 |
|---|---|---|---|---|---|---|
| attack_up | attack | 正向 | —(不消费) | 20 | 2 | 格面池 |
| defense_up | defense | 正向 | —(不消费) | 16 | 2 | 格面池 |
| ac_up | defense | 正向 | —(不消费) | 16 | 2 | 格面池 |
| spark_aoe | blast | 正向 | 4 | 16 | 1 | 格面池 |
| heal_minor | heal | 正向 | 2–6 | 15 | 1 | 格面池 |
| weaken | weaken | 正向 | —(不消费) | 12 | 1 | 格面池 |
@@ -209,3 +209,4 @@
| v0.3 | 2026-09-15 | 雾格残留清理:关闭「待拍板」的雾格相关定价约束三条失义条目与随之取消的奖励配置表档位过滤门限 t_fog_min |
| v0.4 | 2026-09-15 | **格面资源批(用户拍板,2026-09-15)**:① 核心抽象改为格面资源(CellResource)——安全格与雷格一视同仁、单一类型池装板期摇定,极性由「动作 × 格型」矩阵决定(开安全格/标中雷 = 正向,开雷格/标错安全格 = 负向),取代踩雷固定伏击、标中固定削弱、标错三选一哈希反噬三套固定兑付;② 五型字典(attack/defense/heal/blast/weaken,正负各一行;weaken 负向 sapped 为新行,heal 负向为不经增益状态的直伤);③ 封锁格(初始展开格)恒无资源;④ 清图奖励改述为板级、可配置可替换的清图奖励对象,图类型差异化插槽保留;⑤ **可选类道具(刀/治疗包)整体删除**——供给控制器、注入概率、按板保底、关卡域库存、道具使用窗口的数据面全部下线,RewardConfigTable 随批废止;功能道具经其他渠道加入的结构位登记 P1;⑥ 行动经济对账锚与难度曲线重推义务随批登记(见 registry 修订记录) |
| v0.5 | 2026-09-16 | 更名批(用户拍板 2026-09-16):系统更名"奖励道具经济"→"地图战斗资源"——定义双向(正负由动作×格型决定)、格面承载、只在战斗结算生效;文件同步重命名;「待拍板」系统更名条目关闭;英文代号 REWARD_ITEM_ECONOMY 暂沿用 |
| v0.6 | 2026-09-16 | **护甲等级掷点批·换装(与战斗结算 / 增益状态 / registry / 切片同批)**:defense 型正向行 defense_up(减伤 −30%,hero_defense 池)换装为 ac_up(护甲强化 +1 护甲等级/层 ×2 层,显示名暂定"护甲强化")——百分比减伤行无双轨退役;cell_type defense / 权重 16 / 档位 2 零改动(类型频次合计 79 不变);五型字典表与 mvp 行表同步 |
@@ -128,8 +128,8 @@
| 例子 | 容器输出 | 消费侧读法 |
|---|---|---|
| 削弱叠两层 | −130 个百分点(越出单行取值域,原样输出) | 压在地板 −100% 上:敌方攻击当轮归零 |
| 主角减伤叠两层 | −60 个百分点 | 不触地板:承伤读作 0.4 倍 |
| 削弱叠两层 | −130 个百分点(越出单行取值域,原样输出) | 压在地板 −100% 上:敌方输出乘区归零(落地伤害由战斗结算全局下限保底 ≥1) |
| 主角护甲强化叠两层 | +2 个护甲等级 | 不经任何池:掷点判定阈值 AC10 → AC12(期望减免 21.25% → 28.75%) |
容器还有一条快照纪律:实例的幅度、初始次数、量纲在授予那一刻从表行拷贝。战斗中配置表即使被重载,已授予实例不受任何影响,只影响后续授予。
@@ -142,8 +142,8 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
| effect_id | 文本,全表唯一 | 状态标识 |
| display_name | 文本 | 界面与结算明细用名 |
| target_side | hero / enemy | 作用侧 |
| magnitude | 整数 | 幅度:百分比行 ∈ [−100,100] 且非 0;固定值行 ≥ 1 |
| unit | percent / flat | 百分比修正 / 固定值 |
| magnitude | 整数 | 幅度:百分比行 ∈ [−100,100] 且非 0;固定值行 ≥ 1;护甲等级行 ∈ [−20,20] 且非 0 |
| unit | percent / flat / ac | 百分比修正 / 固定值 / 护甲等级(掷点折扣判定阈值轴——2026-09-16 护甲等级掷点批新增) |
| duration_settlements | 整数 [1,99] | 授予时初始剩余结算次数(1 = 一次性) |
| stack_policy | stack / refresh / independent | 同名再授予的合并策略 |
| max_stack | 整数 [1,16] | 叠层上限,仅叠加策略消费 |
@@ -151,7 +151,7 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
| 状态 | 效果一句话 | 发给谁 | 幅度(现行值) | 叠层上限 | 来源类别 |
|---|---|---|---|---|---|
| attack_up 增伤 | 主角攻击提升 | 主角 | +50%(provisional) | 2 | 安全格 |
| defense_up 减伤 | 主角承伤降低 | 主角 | −30%(provisional) | 2 | 安全格 |
| ac_up 护甲强化 | 主角护甲等级提升(掷点折扣判定阈值——AC 轴,不入池) | 主角 | +1 护甲等级/层(2026-09-16 换装,原 defense_up 减伤 −30% 退役) | 2 | 安全格 |
| ambush 伏击 | 敌方攻击附带额外伤害 | 敌方 | +3 固定值/层(provisional) | 16 | 踩雷 / 标空旗反噬 |
| weaken 削弱 | 敌方攻击被削弱 | 敌方 | −65%(provisional,取值域 [60,85]) | 16 | 标中旗 |
| enrage 暴走 | 敌方攻击提升 | 敌方 | +25%(provisional) | 16 | 标空旗反噬 |
@@ -206,7 +206,7 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
| 参数 | 取值域 | 现行值 | 说明 |
|---|---|---|---|
| attack_up 幅度 | 百分比 [−100,100] 且非 0 | +50(provisional) | 增伤;当量锚的参照对象(最低档主角增益) |
| defense_up 幅度 | 百分比 [−100,100] 且非 0 | −30(provisional) | 减伤;叠满两层 −60 个百分点 |
| ac_up 幅度 | 护甲等级 [−20,20] 且非 0 | +1/层(2026-09-16 换装定稿,暂定) | 护甲强化;掷点折扣判定阈值(AC10 → 11 → 12),不入任何池、消费归[战斗结算](战斗结算.md)掷点判定 |
| ambush 幅度 | 固定值 ≥ 1 | +3(provisional) | 伏击;量纲定义见[敌人系统](敌人系统.md) |
| weaken 幅度 | 百分比取值域 [60,85],取负生效 | −65(provisional) | 削弱;须过"标中旗锚"对照 |
| enrage 幅度 | 百分比 [−100,100] 且非 0 | +25(provisional) | 暴走;标错反噬三池之一,进敌方输出修正池 |
@@ -216,7 +216,7 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
非调参的冻结项:三类合并策略语义、两种量纲语义、来源类别枚举、"先兑付后衰减"时序、拒绝原子性、零随机——改动走本文修订流程,不走调参。
联动纪律:增伤与削弱是当量锚的两端;减伤与[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)的承伤预期联动;削弱的单轮层数上限受[行动经济](../排雷循环/行动经济.md)的每轮行动点约束。这些联动值禁止独立调参,修订须重跑锚对照并同步 registry。
联动纪律:增伤与削弱是当量锚的两端;护甲强化与[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)的承伤预期联动(掷点折扣轴——AC 行值变更须复算生存链区间);削弱的单轮层数上限受[行动经济](../排雷循环/行动经济.md)的每轮行动点约束。这些联动值禁止独立调参,修订须重跑锚对照并同步 registry。
## 验收标准
@@ -243,3 +243,4 @@ MVP 阶段状态表恰有六行:两个主角增益(挖安全格拿)、三
| v0.1 | 2026-09-15 | 自归档 GDD 压缩改写 |
| v0.2 | 2026-09-15 | 状态表四行改六行:补暴走(enrage,敌方 +25%)与失衡(off_guard,主角承伤 +25%)两行,承载[战斗结算](战斗结算.md)标错反噬机制(2026-09-12 批已上线);来源类别四选一改五选一(新增标空旗);连带更新"MVP 四行/四类"表述与调参表 |
| v0.3 | 2026-09-15 | 并存分支补容量语义(实例数上界 = 受理授予数,有界确定、无满层语义);P2 后置登记并存行高频授予(持续伤害类)的容量复核 |
| v0.4 | 2026-09-16 | **护甲等级掷点批·换装(与战斗结算 / 难度曲线与Boss / registry / 切片同批)**:defense_up(减伤 −30% ×2 层)整行退役换装 ac_up(护甲强化 +1 护甲等级 ×2 层)——unit 新增 ac 量纲(护甲等级阈值轴,幅度域 [−20,20] 且非 0,不入任何池),消费面 = 战斗结算护甲等级掷点判定;例子表与调参表同步;"叠满减伤触池底"的免伤墙随换装结构性消失。注:sapped 行与极性路由措辞的文档同步归增益状态既有修订批(本批不扩 scope) |
+21 -16
View File
@@ -65,7 +65,7 @@
| ④ 衰减段 | 移除到期的临时效果;每轮恰好一次,含末轮——清图奖励先兑付、效果后衰减 |
| ⑤ 判定段 | 先判主角倒下(负),再判敌人清空(胜),都不满足则继续下一轮 |
结算本体是纯逻辑步骤流:零界面依赖、禁止动画等待,随机消费只走封闭随机流。触发只读行动经济的相位读数与轮末标记,这条消息有棋盘路径和停手路径两个发射源,到达先后不承载语义。这些性质共同保证结算可回放:同样的种子、同样的事件序列,跑出的步骤流逐位复现——录像回放与断言复测都建立在它上面。随机消费恰两处:战斗开始掷骰定敌方实际数量与攻击基线浮动,属于初始化随机、发生在结算步骤流之外;护甲等级掷点(2026-09-15 护甲等级批引入)属于回合内随机、发生在步骤流之内——两处都消费封闭随机流,掷点流归属见「待办」。
结算本体是纯逻辑步骤流:零界面依赖、禁止动画等待,随机消费只走封闭随机流。触发只读行动经济的相位读数与轮末标记,这条消息有棋盘路径和停手路径两个发射源,到达先后不承载语义。这些性质共同保证结算可回放:同样的种子、同样的事件序列,跑出的步骤流逐位复现——录像回放与断言复测都建立在它上面。随机消费恰两处:战斗开始掷骰定敌方实际数量与攻击基线浮动,属于初始化随机、发生在结算步骤流之外;护甲等级掷点属于回合内随机、发生在步骤流之内——两处都消费封闭随机流,掷点消费专用的 `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放)。
举证:五段为流程编排,无计算;段序常量存配置表,加载时校验与定稿顺序完全一致,不一致拒绝启动。
@@ -76,7 +76,7 @@
| 行型 | 什么时候写 |
|---|---|
| 效果行 | 增益/减益段每条效果一行:本次授予贡献值与池合成值分列,防误读 |
| 伤害行 | 每次伤害一行:目标、伤害分量、修正终值、击杀标记;吃护甲等级掷点的分量,掷点读数与折扣档位随行留档(行型封闭清单不变) |
| 伤害行 | 每次伤害一行:目标、伤害分量、修正终值、击杀标记;吃护甲等级掷点的分量,掷点读数与折扣档位随行留档,nat20 暴击随行标记并金框高亮(行型封闭清单不变) |
| 治疗行 | 治疗生效一行:封顶后的真实回复量 |
| 溢出未生效行 | 踩雷超出伏击上限,超出的每颗一行 |
| 奖励未生效行 | 满层拒收、满血治疗等合法例外一行 |
@@ -174,25 +174,27 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
两条都是奖励侧现行定义(暂存结算表 `charge_grants`,正式归属见「待办」):换桶、换量、或把开格奖励换成增益与道具,都不触动攻击类型与甲效矩阵。
**护甲等级掷点:必中、非归零,只吃基础攻击分量**(2026-09-15 拍板新增)。防守方由此多了一条数值轴——护甲等级(数据键 `armor_class`,provisional):攻击永远命中,没有 miss、没有零收益白回合;只有吃掷点的分量在掷点低于防守方护甲等级时按减伤档位打折,档位再重也不归零。掷点只吃基础攻击分量:主角先手攻击的普通分量,敌方攻击拍与重击拍的基线伤害(基线 × 重击倍率);穿刺与魔法两个充能分量不吃。棋盘来源一律无视护甲等级——伏击附加、道具伤害、清障炸药、奖励即时伤害全部必中全额,这是本机制的边界切口,与"奖励/惩罚必中"同构。护甲等级(数值轴)与护甲类型(轻甲 / 魔法护甲 / 重甲的克制属性轴)是两个概念,文档、表字段与代码键不得混用。
**护甲等级掷点:必中、非归零,只吃基础攻击分量**(2026-09-16 定稿落地,判定式与全部数值已拍板)。防守方由此多了一条数值轴——护甲等级(数据键 `armor_class`):攻击永远命中,没有 miss、没有零收益白回合;只有吃掷点的分量在掷点低于防守方护甲等级时按减伤档位打折,档位再重也不归零。判定式:攻击结算时掷 1d20,掷点 ≥ 防守方护甲等级 + 攻击加成 → 全额;掷点 < 护甲等级按缺口(护甲等级 − 掷点)打折——缺口 1-3 → ×0.75,缺口 4-7 → ×0.5,缺口 8+ → ×0.25,三档皆非零档。暴击:天然 20(nat20)使该次基础攻击分量 ×2,双方同规,且 nat20 恒全额(暴击与折扣互斥)。伤害下限:任何攻击落地伤害至少 1(全局 max(1, ·))——"被减伤归零 v=0"零值伤害行语义随批退役,重档折扣的攻击行在行文本记"被压制"。掷点范围:只有基础攻击分量吃掷点——主角先手攻击的普通分量,敌方攻击拍与重击拍的基线伤害(基线 × 重击倍率);穿刺与魔法两个充能分量不吃;棋盘来源一律无视护甲等级——伏击附加、爆裂、清障炸药、奖励即时伤害全部必中全额不掷,这是本机制的边界切口,与"奖励/惩罚必中"同构。护甲等级(数值轴,掷点打折)与护甲类型(属性轴,克制乘区)严格分离:护甲类型不做护甲等级映射,克制矩阵 150/100/50 消费面不变,两概念在文档、表字段与代码键中不得混用。数值载体:主角基准护甲等级 10(暂定),ac_up(护甲强化)+1/层 ×2 层在其上加算;敌方首关行值暂定 0,正式行值归怪物设定批(登记[待办清单](../../06-待办清单.md))。攻击加成(`attack_bonus`)为结构位预留字段,切片恒 0,未来归元进度 / 武器附魔投值。掷点时机在结算战斗段内、每次基础攻击伤害计算时判定,消费 `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放)。
掷点折扣按 EV 中性引入:期望伤害对齐现行表值,现行数值不重调;[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)的生存链区间模型按掷点带宽口径复核,"零红档"验收保留。掷点形式与数值域未定,见「待办」。
EV 参考数(按判定式复算,作对照锚写进文档):基准 AC10 期望减免 21.25%,AC11 25%,AC12 28.75%;对比旧 defense_up 满层 −60% 的减伤墙已整体退役换装为 AC(无双轨)。微调旋钮 = 档位边界与档位值,不动护甲等级值。换装点锚定:基准 AC10 自带约 −21% 敌方输出期望,该方向性偏移与[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)已登记的加难杠杆扫描合并处理;其生存链区间模型按掷点带宽口径复核(带宽含暴击档与折扣档),"零红档"验收保留。
**结论**:先合成、再取整、全程非负;吃掷点分量必中非归零、低掷按档位折扣;溢杀丢弃、治疗封顶、死亡即时判定。
**结论**:先合成、再取整、全程非负;吃掷点分量必中非归零、低掷按档位折扣、nat20 暴击翻倍恒全额、落地伤害保底 ≥1;溢杀丢弃、治疗封顶、死亡即时判定。
```
敌方一次攻击 = floor( 裸伤害 × 主角防御乘数 × 敌方输出乘数 );伏击为后置加法,不进乘区
敌方一次攻击 = max(1, floor( 掷点档位基线 + 伏击附加 ) × 主角防御乘数 × 敌方输出乘数 );伏击为后置加法,不进乘区、不掷不折
乘数 = 1 + 池合成值 ÷ 100;池内加算、每池独立封顶 ±100 百分点 → 乘数域 [0, 2]
护甲等级掷点:掷点 ≥ 防守方护甲等级 → 全额;掷点 < 护甲等级 → 吃掷点分量 × 档位折扣(取整沿全局向下取整)
护甲等级掷点:掷 1d20,掷点 ≥ 护甲等级 + 攻击加成 → 全额;低掷按缺口查档——1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25(无零档)
暴击:nat20 → 该次基础攻击分量 ×2 且恒全额(双方同规)
伤害下限:任何攻击落地伤害 ≥ 1(全局 max(1, ·)——折扣与池归零都不产生 v=0 伤害行)
吃掷点分量 = 主角普通分量 / 敌方攻击拍与重击拍基线;穿刺、魔法、伏击附加与棋盘来源伤害不掷不折
治疗量 = min( 当前生命 + 表值, 生命上限 )
```
| 边界 | 规则 |
|---|---|
| 修正池封顶 | 同侧百分比修正加算后每池独立收口 ±100 百分点;乘数可为 0——敌人输出归零、主角本结算免伤,是合法设计态而非异常 |
| 零值伤害 | 合成后为 0 时不调扣血接口,改写零值伤害行——免伤与零输出必须可见;折扣取整后为 0 走同一条既有路,不新增行型 |
| 护甲等级掷点 | 必中非归零:掷点低于防守方护甲等级按档位折扣、档位不设零档;只吃基础攻击分量(主角普通分量、敌方攻击/重击拍基线),棋盘来源伤害不掷不折 |
| 修正池封顶 | 同侧百分比修正加算后每池独立收口 ±100 百分点;乘数可为 0——输出压制触池底时落地伤害由全局下限保底 ≥1(叠满免伤归零的结构面已随护甲等级换装消失) |
| 伤害下限 | 任何攻击落地伤害至少 1(全局 max(1, ·));"被减伤归零 v=0"零值伤害行语义退役,重档折扣行文本记"被压制"——免伤与零输出仍逐行可见 |
| 护甲等级掷点 | 必中非归零:掷 1d20 对防守方护甲等级 + 攻击加成(恒 0),低掷按缺口三档折扣、档位不设零档;nat20 暴击 ×2 恒全额;只吃基础攻击分量(主角普通分量、敌方攻击/重击拍基线),棋盘来源伤害不掷不折 |
| 溢杀 | 一刀超出目标剩余生命的部分丢弃:不转移给下一个敌人、不存续、无负生命中间态 |
| 治疗 | 生命不溢出上限;满血正向治疗零兑付,记"奖励未生效"行 |
| 死亡判定 | 生命归 0 即倒下;敌人受击即死;主角倒下战斗段立即短路;判定段先判主角、再判敌人(防御性次序) |
@@ -280,9 +282,11 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
| 完美乘数 | percent {100, 200} | 200(provisional) | 100 为仅高光、无第二份;域外加载拒绝 |
| 充能奖励定义 `charge_grants` | Dictionary:触发源 → {attack_type, per_unit, cap} | 开格 → 穿刺 1/格(计数上限 8)· 标中旗 → 魔法 2/雷(无上限)(provisional) | 奖励侧定义:附加伤害储备按攻击类型分桶,本字典决定哪个源投哪个桶、每单位几点、单轮计数上限;整表替换不改攻击类型与甲效矩阵(正式归属见「待办」) |
| 甲效矩阵 | percent | 克制 150 / 中性 100 / 被克 50(provisional) | 键集 = 攻击类型 {普通, 穿刺, 魔法} × 护甲类型 {轻甲, 魔法护甲, 重甲},3×3 满格结构冻结;数值归调参 |
| 护甲等级掷点 | 形式未定:d20 / 百面骰 / 区间均匀 | 未定(provisional,见「待办」) | 回合内随机:每吃掷点分量逐次掷骰,掷点低于防守方护甲等级触发档位折扣;流归属未定(见「待办」) |
| 减伤档位表 | 掷点差距档 → 折扣百分比,档数未定 | 未定(provisional) | 分级折扣载体;档位不设零档(非归零);EV 中性——期望伤害对齐现行表值,现行数值不重调 |
| 护甲等级 `armor_class`(防守方字段) | 未定(随掷点形式定稿) | 未定(provisional) | 字段本体在敌人表与主角表(归[敌人系统](敌人系统.md)),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md);与护甲类型(克制属性轴)两概念不得混用 |
| 护甲等级掷点 | 骰面 int [2,1000] · nat 最大面 [1,骰面] · 暴击倍率 percent [100,999] | d20 · nat20 · ×200(2026-09-16 拍板定稿) | 回合内随机:每吃掷点分量逐次掷骰,掷点低于防守方护甲等级 + 攻击加成触发档位折扣;nat20 暴击 ×2 且恒全额(双方同规);消费 `armor_roll` 封闭流(逐次掷逐次取号) |
| 减伤档位表 | 边界升序 + 档位值降序 percent [1,99],档数 = 边界数 + 1 | 边界 [3, 7] · 档位 [75, 50, 25](2026-09-16 拍板定稿) | 缺口 1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25;档位不设零档(非归零);EV 参考数:AC10 期望减免 21.25% / AC11 25% / AC12 28.75%;微调旋钮 = 本表,不动护甲等级值 |
| 伤害下限 `damage_floor` | int [1, 999] | 1(2026-09-16 拍板定稿) | 任何攻击落地伤害全局 max(1, ·);零值伤害行语义随批退役 |
| 攻击加成 `attack_bonus` | int [0, 999] | 0(结构位) | 掷点阈值 = 防守方护甲等级 + 攻击加成;切片恒 0,未来归元进度 / 武器附魔投值 |
| 护甲等级 `armor_class`(防守方字段) | int [0, 999] | 主角 10(暂定)· 敌方首关 0(暂定) | 字段本体在敌人表与主角表(归[敌人系统](敌人系统.md)),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md);敌方正式行值归怪物设定批(见待办清单);与护甲类型(克制属性轴)两概念不得混用 |
| 段序常量 | 固定五段 | 结构冻结 | 加载期恒等校验,违例拒绝启动 |
| 池封顶 | ±100 百分点 | 结构冻结 | 乘数域随之 [0, 2] |
| 取整方向 | 向下取整 | 结构冻结 | 单一规则,非调参项 |
@@ -299,9 +303,9 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
- 伏击守恒:blast 负向兑付超出上限时兑付数等于上限,超出部分逐颗记"溢出未生效"行;多敌共享同一伏击池值。
- 完美排雷:零误标且至少一面标中时第二份兑付恰一次并发高光行;出现误标或零标中则无高光;计数换图重置。
- 战斗段次序:主角先手后逐敌"查攻击、结算伤害、推进"各恰一次;主角倒下立即短路,剩余敌人不行动。
- 护甲等级掷点:吃掷点分量(主角普通分量、敌方攻击/重击拍基线)逐次掷骰——掷点不低于防守方护甲等级全额兑付,低于则按档位折扣且档位不设零档;穿刺/魔法分量与棋盘来源伤害(伏击附加、道具、清障炸药、奖励即时)不掷不折。
- 折扣零值归路:折扣取整后为 0 走既有零值伤害行,不新增行型;掷点读数与档位随该伤害行留档。
- 数值边界:合成后零伤害不扣血、写零值行;溢杀丢弃不转移;治疗封顶不溢出;全程无负值。
- 护甲等级掷点:吃掷点分量(主角普通分量、敌方攻击/重击拍基线)逐次掷 d20——掷点 ≥ 防守方护甲等级 + 攻击加成全额兑付;低掷按缺口查档(1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25),档位不设零档;nat20 暴击该分量 ×2 且恒全额;穿刺/魔法分量与棋盘来源伤害(伏击附加、爆裂、清障炸药、奖励即时)不掷不折。
- 伤害下限与留档:任何攻击落地伤害 ≥1,全流水零 v=0 伤害行、零"被减伤归零"行;掷点读数、护甲等级与档位随伤害行留档,nat20 行带暴击标记。
- 数值边界:伤害下限保底后全程无零值/负值伤害;溢杀丢弃不转移;治疗封顶不溢出。
- 出口分发:先判主角倒下(负)再判敌清空(胜);停手与耗尽轮恒同图,清图轮才允许换图。
- 关卡收束:关卡结束清空魔法道具背包恰一次并返回清空前计数;战斗结束不清背包。
- 可回放(封闭随机流口径):同种子同输入两遍步骤流逐位复现;随机消费仅限封闭随机流——开战掷骰(初始化随机)与护甲等级掷点(回合内随机),无未登记随机源、零界面等待。
@@ -325,3 +329,4 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
| v0.7 | 2026-09-15 | **格面资源批(用户拍板四点)**:① 段序七段 → 五段——道具使用窗口与道具段随可选类道具整体删除(2026-09-15 用户裁定)下线,段序常量与 registry settlement_table 同步修订;② 授予段改述为"结算队列 + 抵消过滤":开格 / 标旗 / 撤旗入队,标旗后被撤旗的动作不结算(零兑付、行动点不返);③ 兑付统一走极性矩阵(开安全格 / 标中旗 = 正向,开雷格 / 标错旗 = 负向,字典归奖励道具经济),取代踩雷固定伏击、标中固定削弱、标错三选一哈希反噬三套固定兑付;④ 明细行型 15 → 10(删道具行 / 已消耗未生效行 / 使用被拒行 / 窗口打开锚行 / 窗口跳过锚行),两层豁免集合改两类 + 三类;⑤ 战斗道具背包与库存语义下线,关卡收束只清辅助道具背包;⑥ 收益对照表 flat 类措辞去道具;验收标准改五段全序 + 抵消过滤 + 极性路由正确,删窗口类断言。行动经济 F1 对账锚(伏击共享池)与难度曲线重推义务随批登记(见 registry 修订记录),切片侧修改指导随批产出 |
| v0.8 | 2026-09-15 | **护甲等级批(用户拍板登记,只改文档与 registry、不动代码)**:战斗段新增护甲等级掷点规则——必中、非归零,掷点低于防守方护甲等级按减伤档位折扣,没有 miss、没有零收益白回合;只吃基础攻击分量(主角普通分量 / 敌方攻击拍与重击拍基线),穿刺/魔法充能分量不吃;棋盘来源(伏击附加、道具、清障炸药、奖励即时)一律无视;护甲等级(数值轴,数据键 `armor_class`)与护甲类型(克制属性轴)命名区分成文。随机口径修订:结算换算层首次引入回合内随机,可回放契约从"结算路径零随机"改为"封闭随机流可回放"(同种子同输入逐位复现);开战掷骰属初始化随机维持不变。调参表新增护甲等级掷点 / 减伤档位表 / `armor_class` 三行(全部 provisional 未定值);伤害行补掷点读数与折扣档位随行留档(行型 10 类封闭不变);验收标准新增护甲等级掷点与折扣零值归路两条、可回放条改封闭随机流口径;EV 中性引入成文(期望伤害对齐现行表值,"零红档"验收保留);待拍板新增"掷点形式与数值域""掷点的随机流归属"两条 |
| v0.9 | 2026-09-16 | 新增「呈现只读面」节(06 清单「呈现只读面契约登记缺口」闭合):把切片已实现的呈现面函数与信号登记为对外契约——呈现状态快照 `presentation_snapshot`、战斗进行中谓词 `is_battle_live`、奖励身份查询 `query_reward_identity`、结算快照信号 `settlement_snapshot`、战斗结束信号 `battle_finished` 五件成文(载荷字段、消费方、销毁前捕获语义),并登记"呈现层唯一状态读取出口、禁链式穿透"的出口纪律与诊断观测面的非契约定位;依赖与输出表 HUD 框架下游行补指路 |
| v0.10 | 2026-09-16 | **护甲等级掷点批·定稿落地(用户拍板,数字即规范——与敌人系统 / 难度曲线与Boss / registry / 切片代码同批)**:判定式定稿——掷 1d20,掷点 ≥ 防守方护甲等级 + 攻击加成(结构位 `attack_bonus`,切片恒 0)→ 全额,低掷按缺口三档折扣(1-3 → ×0.75 · 4-7 → ×0.5 · 8+ → ×0.25,无零档);nat20 暴击该基础攻击分量 ×2 且恒全额(双方同规);伤害下限全局 max(1, ·)(`damage_floor` = 1)——"被减伤归零 v=0"零值伤害行语义退役,重档折扣行文本记"被压制";百分比减伤增益 defense_up 整体退役换装 ac_up(护甲强化 +1 AC/层 ×2 层,`unit=ac` 新量纲、不入任何池,无双轨),off_guard 与池结构零改动;护甲等级与护甲类型分离成文(数值轴 / 属性轴,不做映射)。数值载体:主角 armor_class 10(暂定)、敌方首关 0(暂定,正式行值归怪物设定批,登记待办清单);掷点流归属定稿 = `armor_roll` 封闭流(逐次掷逐次取号,可逐位回放),调参表掷点/档位/下限/加成五行由未定改拍板值;EV 参考数成文(AC10 21.25% / AC11 25% / AC12 28.75%,按判定式复算),换装点锚定(基准 AC10 自带约 −21% 敌方输出期望)与加难杠杆扫描合并处理;验收标准改写掷点条目 + 新增伤害下限与留档条目;切片同批:settlement.tres 七参数入表、战斗段掷点判定/暴击/下限/行留档(roll/ac/tier/crit 字段)、armor_roll 流接入 rng_service(黄金向量 m=42 scope0 = 4806095330042243845)、零值伤害行分支删除、冒烟护栏与掷点行为断言(nat20 种子 / AC12 档位分布 / 池触底保底 / 棋盘必中)、英雄卡与敌人卡 AC 展示、ac_up 状态槽图标、nat20 金框高亮 |
@@ -80,11 +80,11 @@
| 敌种 | 行为环 | 护甲类型 | 护甲等级 | 现行定位 |
|---|---|---|---|---|
| 地精 | 攻击(单拍环) | 轻甲 | 未定(provisional) | 首发杂兵;教学位节点 ×[1,2],开战掷定 |
| 熊地精 | 攻击 / 蓄力 / 重击(三拍环) | 魔法护甲 | 未定(provisional) | 首发主力;重击倍率 2 |
| 食人魔酋长 | 攻击 / 攻击 / 蓄力 / 重击(四拍 Boss 环) | 重甲 | 未定(provisional) | 首发关底 Boss;重击倍率 2 |
| 地精 | 攻击(单拍环) | 轻甲 | 0(暂定) | 首发杂兵;教学位节点 ×[1,2],开战掷定 |
| 熊地精 | 攻击 / 蓄力 / 重击(三拍环) | 魔法护甲 | 0(暂定) | 首发主力;重击倍率 2 |
| 食人魔酋长 | 攻击 / 攻击 / 蓄力 / 重击(四拍 Boss 环) | 重甲 | 0(暂定) | 首发关底 Boss;重击倍率 2 |
护甲类型(轻甲 / 魔法护甲 / 重甲)与攻击类型的克制结算矩阵归[战斗结算](战斗结算.md),本系统只提供每个敌种的护甲类型数据。护甲等级是另一条数值轴(防守方字段,基础攻击掷点的折扣判定读数——2026-09-15 护甲等级批新增):敌人表与主角表各增 `armor_class` 一列,掷点与折扣的结算归[战斗结算](战斗结算.md),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)且未定稿——三敌种与主角的护甲等级行值随定稿批落值,两条轴的概念与字段不得混用。举证:生成与护甲为数据面规则,无计算。
护甲类型(轻甲 / 魔法护甲 / 重甲)与攻击类型的克制结算矩阵归[战斗结算](战斗结算.md),本系统只提供每个敌种的护甲类型数据。护甲等级是另一条数值轴(防守方字段,基础攻击掷点的折扣判定读数——2026-09-15 护甲等级批新增,2026-09-16 定稿落地):敌人表与主角表各增 `armor_class` 一列(域 [0, 999]),掷点与折扣的结算归[战斗结算](战斗结算.md),行值投值归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)——三敌种首关暂定 0(第一关怪物 AC 相对较低,正式行值待怪物设定投值,登记[待办清单](../../06-待办清单.md)),主角暂定 10,两条轴的概念与字段不得混用。举证:生成与护甲为数据面规则,无计算。
### 行为环:敌人按排好的剧本轮流出招,走到哪一拍零随机
@@ -202,7 +202,7 @@
| unit_count_max | [unit_count, 3],可省略 | 缺省 = 定值 | 数量区间上界;开战时在区间内掷定本战实际数量 |
| atk_min / atk_max | [0, 999] 可选配对 | ±3 浮动(provisional) | 攻击基线区间:开战掷定一次、整战持久;缺省 = 定值行 |
| armor_type | {轻甲, 魔法护甲, 重甲},缺省轻甲 | 地精轻甲 / 熊地精魔法护甲 / 酋长重甲 | 克制结算归[战斗结算](战斗结算.md) |
| armor_class(护甲等级) | 未定(随掷点形式定稿,provisional) | 未定 | 防守方护甲等级——基础攻击掷点的折扣判定读数,掷点结算归[战斗结算](战斗结算.md);与 armor_type(克制属性轴)两概念不得混用 |
| armor_class(护甲等级) | int [0, 999],缺省 0 | 0(首关暂定——正式行值归怪物设定批) | 防守方护甲等级——基础攻击掷点的折扣判定读数,掷点结算归[战斗结算](战斗结算.md);与 armor_type(克制属性轴)两概念不得混用 |
| hp | [1, 999] | provisional | 单位生命基线(难度修饰前) |
| atk | [0, 999] | provisional | 攻击基线;0 合法 = 纯伏击伤敌种 |
| heavy_multiplier | [1, 16] | 2(provisional) | 无重击拍的敌种不消费,非校验项 |
@@ -215,9 +215,9 @@
|---|---|---|---|
| max_hp | [1, 999] | provisional(出处待查) | 主角生命上限 |
| atk | [1, 999] | 6(原型锚 provisional) | 基础攻击;配 0 加载期拒绝——基础攻击恒在 |
| armor_class(护甲等级) | 未定(随掷点形式定稿,provisional) | 未定 | 主角作为防守方的护甲等级,口径同敌人表;掷点结算归[战斗结算](战斗结算.md) |
| armor_class(护甲等级) | int [0, 999] | 10(暂定,2026-09-16 拍板) | 主角作为防守方的护甲等级基准,ac_up(护甲强化 +1/层 ×2 层)在其上加算;掷点结算归[战斗结算](战斗结算.md) |
三敌种现行行值(全部 provisional,出处 registry):地精教学位 24 生命 / 7 攻击 ×[1,2](开战掷定)、群行 13/5 ×[2,3];熊地精 40/9 ×1、群行 18/6 ×[2,3]、深层锚行 30/7;食人魔酋长 150/9 ×1。护甲等级行值未定(provisional,见「待办」)。
三敌种现行行值(全部 provisional,出处 registry):地精教学位 24 生命 / 7 攻击 ×[1,2](开战掷定)、群行 13/5 ×[2,3];熊地精 40/9 ×1、群行 18/6 ×[2,3]、深层锚行 30/7;食人魔酋长 150/9 ×1。护甲等级行值首关暂定 0(正式行值归怪物设定批,登记[待办清单](../../06-待办清单.md))。
结构冻结(非调参项,修订走本文流程):行为拍枚举封闭、死亡即不动手、先作用后推进、伏击层池共享读法、附加后置加法、伏击按主角血量点计量纲、固定顺位、每坐标恰一敌种、零随机(口径修订 2026-09-15:本系统自身语义零随机不变——行为环与顺位由结算次数唯一决定;随机消费一律在[战斗结算](战斗结算.md)结算换算层按封闭随机流掷定,可回放契约 = 同种子同输入逐位复现)。联动纪律:单轮上限 × 攻击基线(支配边界联动)、数量 × 上限(单结算上界双线性)、倍率 × 攻击(重击拍支配)禁止独立调参,联调须重跑方向性预检并同步 registry(见待办)。
@@ -245,3 +245,4 @@
| v0.1 | 2026-09-15 | 自归档 GDD 压缩改写 |
| v0.2 | 2026-09-15 | 教学位掷骰口径自洽(随[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)同批修订):unit_count 字段说明、地精敌种定位与现行行值句中"教学位固定 1 只/固定不掷"改为 ×[1,2] 开战掷定 |
| v0.3 | 2026-09-15 | **护甲等级批(用户拍板登记,与战斗结算 / 难度曲线与Boss / registry 同批,不动代码)**:敌人表与主角表 schema 各增 armor_class(护甲等级)字段(取值域随掷点形式定稿,provisional);三敌种表补护甲等级列(行值未定);护甲等级(数值轴)与护甲类型(克制属性轴)命名区分成文;结构冻结清单"零随机"措辞按新口径修订——本系统自身语义零随机不变,掷点随机在战斗结算换算层按封闭随机流消费、可回放契约 = 同种子同输入逐位复现;待拍板新增"护甲等级行值未定"条目 |
| v0.4 | 2026-09-16 | **护甲等级掷点批·定稿落地(与战斗结算 / 难度曲线与Boss / registry / 切片代码同批)**:armor_class 域定稿 [0, 999](缺省 0 向后兼容);主角行值 10(暂定)、三敌种首关行值 0(暂定)——"行值未定"改"暂定值 + 待办",敌方正式行值归怪物设定批(第一关怪物 AC 相对较低,值待怪物设定投值,登记待办清单);敌种表护甲等级列同步落值;调参表两行改域与现行值 |
+25 -11
View File
@@ -20,10 +20,10 @@ entities:
owner: design/gdd/systems/表现与支撑/数据配置.md
attributes:
kind: autoload
streams: [board_gen, reward_roll, encounter]
stream_names: 当前封闭清单(增流需改代码 + P1 支柱评审;combat_var 已于 2026-09-07 full 评审删除——玩法随机不预置基础设施;**encounter 增流 2026-09-12 用户拍板**——遭遇随机化批 难度曲线与Boss GDD Core Rule 8,scope_event_binding = 每次战斗实例化恰一 scope,挖掘决策域之外 P1 合规)
streams: [board_gen, reward_roll, encounter, armor_roll]
stream_names: 当前封闭清单(增流需改代码 + P1 支柱评审;combat_var 已于 2026-09-07 full 评审删除——玩法随机不预置基础设施;encounter 增流 2026-09-12 用户拍板——遭遇随机化批,scope_event_binding = 每次战斗实例化恰一 scope;**armor_roll 增流 2026-09-16 用户拍板**——护甲等级掷点批,回合内随机首次入流:scope_event_binding = 每次掷点恰一 scope〔逐次掷逐次取号、可逐位回放〕,消费面 = 战斗结算 吃掷点分量判定)
stream_facade: open_stream(stream) 取号(计数器+1→派生→返回已播种实例);derive_at(stream, scope) 纯函数供测试/预览(不推计数器)
scope_event_binding: board_gen=每次生成新扫雷图(棋盘生成);reward_roll=每次 board install(格奖励批 + 清图奖励批)(地图战斗资源——2026-09-09 接口漂移改写,原"每次奖励结算 roll 批次";地图战斗资源 Rule 2/AC-1 为契约源);encounter=每次战斗实例化恰一 scope(战斗结算 begin_battle 实例化期、扫雷开始前——unit_count 区间均匀骰,挖掘决策域之外 P1 合规)
scope_event_binding: board_gen=每次生成新扫雷图(棋盘生成);reward_roll=每次 board install(格奖励批 + 清图奖励批)(地图战斗资源——2026-09-09 接口漂移改写,原"每次奖励结算 roll 批次";地图战斗资源 Rule 2/AC-1 为契约源);encounter=每次战斗实例化恰一 scope(战斗结算 begin_battle 实例化期、扫雷开始前——unit_count 区间均匀骰,挖掘决策域之外 P1 合规);armor_roll=每次掷点恰一 scope(战斗结算 战斗段吃掷点分量逐次判定——1d20,护甲等级掷点批 2026-09-16);armor_roll=每次掷点恰一 scope(战斗结算 战斗段吃掷点分量逐次判定——1d20,护甲等级掷点批 2026-09-16)
unseeded_access: 致命中止
snapshot_contract: 续玩/复盘快照 = master_seed + 各流 scope 计数器(消费方 存档序列化)
referenced_by: [棋盘生成, 战斗结算, 地图战斗资源, 冒险结构, 存档序列化]
@@ -34,15 +34,17 @@ entities:
attributes:
variables: [SALT_s, master_seed, scope]
output_range: "[0, 2^63)"
golden_vectors: 见《数据配置》Formulas-R2 向量表(6 常量:board_gen m=42 scope0-3 · reward_roll m=42 scope0=7422916049646135537 · encounter m=42 scope0=1061841193803499209——2026-09-14 数据配置 漂移批 encounter 增流补向量)
golden_vectors: 见《数据配置》Formulas-R2 向量表(7 常量:board_gen m=42 scope0-3 · reward_roll m=42 scope0=7422916049646135537 · encounter m=42 scope0=1061841193803499209 · armor_roll m=42 scope0=4806095330042243845——2026-09-16 护甲等级掷点批 armor_roll 增流补向量)
salt_board_gen: 0xA0761D6478BD642F
salt_reward_roll: 0xE7037ED1A0B428DB
salt_encounter: 0x8EBC6AF09C88C6E3(2026-09-14 encounter 增流——互异奇常数 ≠ 乘数)
salt_armor_roll: 0xC2B2AE3D27D4EB2F(2026-09-16 armor_roll 增流——互异奇常数 ≠ 乘数)
salt_armor_roll: 0xC2B2AE3D27D4EB2F(2026-09-16 armor_roll 增流——互异奇常数 ≠ 乘数)
multiplier: 0x9E3779B97F4A7C15
impl_spec: wrap64=二补数自然回绕;禁 float 中间量、禁对中间量用 %、禁"主动修复溢出";常量用分段表达式书写;掩码收尾
reproducibility_claim: 同冒险内同流各 scope 无碰撞 + 跨版本恒定(不做跨 master_seed 全局单射声明)
master_seed_int64_min: 致命(abs 恒等回绕→与 0 静默别名)
set_master_seed_precondition: 仅全流计数器全零时受理(3 流——2026-09-14 数据配置 漂移批口径)
set_master_seed_precondition: 仅全流计数器全零时受理(4 流——2026-09-14 数据配置 漂移批口径 + 2026-09-16 护甲等级掷点批 armor_roll 增流)
referenced_by: [棋盘生成, 战斗结算, 地图战斗资源, 冒险结构, 存档序列化]
- name: difficulty_row_resolution
@@ -123,13 +125,13 @@ entities:
max_stack: int [1,16](仅 stack 消费——refresh/independent 行内容约定恒 1,非校验项)
mvp_content:
attack_up: { display_name: 增伤, target_side: hero, magnitude: "+50 percent", duration_settlements: 1, max_stack: 2, stack_policy: stack, source_class: safe_cell } # 2026-09-11 两级奖励批 D=2→1(当次结算语义)
defense_up: { display_name: 减伤, target_side: hero, magnitude: "-30 percent", duration_settlements: 1, max_stack: 2, stack_policy: stack, source_class: safe_cell } # 2026-09-11 两级奖励批 D=2→1;2026-09-13 减伤墙批 −50→−30(叠满两层 −60 帽——难度曲线与Boss 投值,增益状态/registry 2026-09-14 接口漂移批回写落地)
ac_up: { display_name: 护甲强化, target_side: hero, magnitude: "+1 ac", duration_settlements: 1, max_stack: 2, stack_policy: stack, source_class: safe_cell } # 2026-09-16 护甲等级掷点批换装(原 defense_up 减伤 −30 percent ×2 层整行退役、无双轨——历史:2026-09-11 两级奖励批 D=2→1;2026-09-13 减伤墙批 −50→−30);unit=ac 新量纲(护甲等级阈值轴 [−20,20] 且非 0),不入 effect_pool_map 任何池,消费面 = 战斗结算掷点判定(AC10 基准 + 层数×幅度;EV 期望减免 AC10 21.25% / AC12 28.75%)
ambush: { display_name: 伏击(敌方增益), target_side: enemy, magnitude: "+3 flat", duration_settlements: 1, max_stack: 16, stack_policy: stack, source_class: mine_hit }
weaken: { display_name: 削弱(标中旗 debuff), target_side: enemy, magnitude: "-65 percent", duration_settlements: 1, max_stack: 16, stack_policy: stack, source_class: flag_hit }
enrage: { display_name: 暴走(敌方增伤), target_side: enemy, magnitude: "+25 percent", duration_settlements: 1, max_stack: 16, stack_policy: stack, source_class: flag_miss } # 2026-09-12 标错反噬批上线——三池之一(进 enemy_output 池)
off_guard: { display_name: 失衡(我方承伤加深), target_side: hero, magnitude: "+25 percent", duration_settlements: 1, max_stack: 16, stack_policy: stack, source_class: flag_miss } # 2026-09-12 标错反噬批上线——三池之一(进 hero_defense 池,承伤 ×1.25);2026-09-15 格面资源批起 = defense 型负向(标错 defense 型安全格 / 踩到 defense 型雷格兑付)
sapped: { display_name: 乏力(我方输出降低), target_side: hero, magnitude: "-25 percent", duration_settlements: 1, max_stack: 16, stack_policy: stack, source_class: flag_miss } # 2026-09-15 格面资源批新增——weaken 型负向(标错 weaken 型安全格 / 踩到 weaken 型雷格兑付),进 hero_offense 池(attack_up 镜像);值 provisional
value_status: 七行值全部 provisional(2026-09-15 四行→六行——标错反噬批 enrage/off_guard 两行收编;六行→七行——格面资源批 sapped 收编为 weaken 型负向;伏击复用为反噬第三池项〔现为 blast 型负向〕),验收锚——weaken→行动经济 F1 条款 2(地图战斗资源/战斗结算)· ambush 量纲→敌人系统(条款 3,**量纲已定稿见 ambush_unit_definition**)· 对照表→战斗结算(条款 1)· **weaken 已按 战斗结算 F0 裁决修订 −25→−65(2026-09-10,值域 [60,85]、终值共裁 战斗结算 OQ2——见 anchor_warning 回执)**
value_status: 七行值全部 provisional(2026-09-15 四行→六行——标错反噬批 enrage/off_guard 两行收编;六行→七行——格面资源批 sapped 收编为 weaken 型负向;伏击复用为反噬第三池项〔现为 blast 型负向〕;**2026-09-16 护甲等级掷点批:defense_up 行退役换装 ac_up〔护甲强化 +1 ac ×2 层〕——行数不变、一行换装,ac 幅度暂定值随掷点批定稿),验收锚——weaken→行动经济 F1 条款 2(地图战斗资源/战斗结算)· ambush 量纲→敌人系统(条款 3,**量纲已定稿见 ambush_unit_definition**)· 对照表→战斗结算(条款 1)· **weaken 已按 战斗结算 F0 裁决修订 −25→−65(2026-09-10,值域 [60,85]、终值共裁 战斗结算 OQ2——见 anchor_warning 回执)**
ambush_unit_definition: **量纲已定稿(2026-09-09 敌人系统 GDD Rule 6/F2——registry OQ2 关闭条件兑现)**:+3 flat = 每层伏击为每次攻击类行为(attack/heavy)附加 3 点主角 HP 伤害(后置加法、不进倍乘);charge 拍零兑付(空拍蒸发);值仍 provisional(锚验收归 地图战斗资源/战斗结算——行动经济 F1 条款 3;敌人系统 供给 cap 表值与单结算自然边界口径见 clause3_supply 条目)
anchor_warning: weaken 行 vs 行动经济 F1 条款 2 锚两独立线性代理同向预检不过(百分点·结算暴露 25 vs 100;原型战斗量级 ≈1 vs ≈4 当量)——战斗结算 对照验收优先裁决,登记 战斗结算 强制检查点输入。**修复空间不对称(2026-09-09 增补)**:每结算瞬时当量归一 m_w≥51 可行(F2 越域界随移 AP 界 −408%/表界 −816%);每 AP 总暴露归一 m_w>100 被 percent ∈ [-100,100] 域禁止(该分支不可行)——OQ1 前置步骤:战斗结算 先钉死归一口径,口径落定前禁止数值修订;落总暴露则现实解 = 地图战斗资源 重定最低档参照。**参照对象迁移注记(2026-09-09 地图战斗资源 评审;2026-09-11 回迁)**:最低档安全格 buff 当量的参照对象曾迁 defense_up 当量(attack_up 时为死行——地图战斗资源 F4 迁移)——**2026-09-11 用户裁决"基础攻击恒存在"(HeroTable.atk 域 [1,999]、0 加载拒绝、MVP=6)后 attack_up 复活,参照对象回迁 attack_up 当量**(消费面 = 主角战斗段先手攻击——战斗结算 GDD 同批;defense_up 迁移退役为历史记录,attack_up 入池时 tier_min_buff 重算);本条与 clause3_supply.direction_precheck 的 25 vs 100 预检算术系 attack_up 口径历史登记——defense_up |−50|×dur2 与 attack_up 数值巧合全等(100pp),今日结论不变;**迁移后预检未按新参照重跑**的义务已于 2026-09-14 战斗结算 重算批兑现(F0/F1 按 attack_up 当量重跑 + F1 锚对照实物改 attack_up 行——本迁移注记关闭)。**F0 裁决回执(2026-09-10 战斗结算 GDD——红警关闭)**:归一口径 = **每结算瞬时当量**(总暴露分支被 percent schema 域禁止 + 与"单结算自然边界"已锁事实冲突,排除);m_w 修订 −25 → **值域 [60,85]/默认 −65**(mvp_content.weaken 已同批改写——锚两腿 @D_ref=12:7.8 > 6.0 严格大于 ✓ / 7.8 ≥ E_dig 4.5 ✓〔E_dig 读数 2026-09-14 战斗结算 重算批按 难度曲线与Boss v3 曲线重推——原 7.2 随口径退役〕);地板 = 乘数零点 −100pp、交叉层数 = ⌈100/m_w⌉ = 2(原"7 层触地板"预读按 −400% 合成带估读,更正);defense_up 参照保持(总暴露分支的"重定参照"现实解未采纳);终值 = 地图战斗资源/战斗结算 共裁(战斗结算 OQ2);增益状态 GDD 正文不改以本条为准(收编先例)
rule4_exemption: 定义表非进度成长表,键 = effect_id(数据配置 Rule 4 豁免,schema 注释承载)
@@ -291,7 +293,7 @@ entities:
cross_field_validation: 加载期致命族——池空(cell 池 ≥1 正向行 weight>0)· 五型正向行齐备 · 五型负向行齐备(字典完整性——缺任一极性行致命)· clear_default 恒正当量(≥1 活行 ∧ power≥1 ∨ effect_id 非空——行动经济 条款④"清图奖励>0"的行级兑现口径)· percent 行 effect_id 必填/flat 行恒空 · flat 行 power≥1 # 2026-09-15 重写——旧 floor_supply_missing / no_damage_row 随可选类删除失义退役
mechanics: 格面资源身份 install 期预分配(roll_board 恰一次、行主序、消费 reward_roll 封闭流恰一 scope 批〔格批 + 清图批尾一号〕;全部非封锁格逐一摇定类型——安全格与雷格同池同分布、封锁格不入摇号清单;Ready 后只读、无重掷 API)· **极性不在资源内**——「动作 × 格型」矩阵(开安全格/标中雷 = 正向、开雷格/标错安全格 = 负向、标旗后撤旗 = 零兑付)字典定义归 地图战斗资源、路由执行归 战斗结算 授予段(结算队列 + 抵消过滤——标旗后被撤旗不结算)· 授予期零随机(身份恒定跨轮;换图映射消亡)· 负向恒即时(不入库、无库存语义——库存已随可选类删除下线)· 满层零兑付 = 合法例外 + "奖励未生效"行 · 重复受理幂等(同格重复 grant / 同批次重复 grant_clear → 同一快照/身份 + 诊断;受理/兑付恰一次归 战斗结算×②③)
api: 封闭枚举入口(provisional,实现期 ADR 定名)——roll_board / query_identity(返回 {reward_id, cell_type, tier} 引用级投影;未开格恒可查——魔法道具 桥接结构前提;清单外坐标 → null + 诊断)/ grant(同格重复受理幂等 + 诊断)/ grant_clear(同批次重调幂等 + 诊断)/ retire_mapping / equivalence_supply(全活行投影 + tier_min_buff)+ weighted_pick 纯函数面;新增入口 = 接口漂移,新增入口须随附全输入域语义表 # 2026-09-15 删 stock/use/query_inventory/clear_inventory(库存轴下线)
mvp_content: 十行(2026-09-15 格面资源批;值 provisional 归 难度曲线与Boss)——格面池正向五行(attack_up buff→attack_up w20 t2 / defense_up buff→defense_up w16 t2 / spark_aoe flat p4 w16 t1〔blast〕/ heal_minor flat [2,6] w15 t1〔heal〕/ weaken buff→weaken w12 t1)+ 负向五行纯字典(enrage attack〔→enemy_output〕/ off_guard defense〔→hero_defense〕/ 直伤 heal flat p4〔不经增益状态〕/ ambush+2 blast〔stacks=2〕/ sapped weaken〔→hero_offense〕)+ clear_blast(flat [25,55] w1 t2 clear_default——完美板 ×2 期望中点 80);类型频次 = 正向行权重(20/16/16/15/12 合计 79);tier_min_buff = 2
mvp_content: 十行(2026-09-15 格面资源批;值 provisional 归 难度曲线与Boss)——格面池正向五行(attack_up buff→attack_up w20 t2 / ac_up buff→ac_up w16 t2〔护甲强化——2026-09-16 护甲等级掷点批换装,原 defense_up 减伤 −30% 退役;cell_type defense/权重/档位零改动〕 / spark_aoe flat p4 w16 t1〔blast〕/ heal_minor flat [2,6] w15 t1〔heal〕/ weaken buff→weaken w12 t1)+ 负向五行纯字典(enrage attack〔→enemy_output〕/ off_guard defense〔→hero_defense〕/ 直伤 heal flat p4〔不经增益状态〕/ ambush+2 blast〔stacks=2〕/ sapped weaken〔→hero_offense〕)+ clear_blast(flat [25,55] w1 t2 clear_default——完美板 ×2 期望中点 80);类型频次 = 正向行权重(20/16/16/15/12 合计 79);tier_min_buff = 2
direction_precheck: **刀供给方向预检随可选类删除失义退役(2026-09-15)**——历史读数见底部修订记录;新对账锚 = 行动经济 条款②③ 左臂(正向格面资源当量供给)随格面资源批重推,义务归 难度曲线与Boss 调参批
settlement_obligations: 四项(战斗结算 GDD 门禁评审缺项即 blocking,清单全文见 地图战斗资源 GDD Dependencies)——① 结算段序骨架(授予→增益/减益→战斗→衰减→判定)② 极性路由受理 + 每格恰一次 + 满层零兑付"奖励未生效"行(含聚合计数字段)③ clear_reward 授予路径(增益状态 OQ4 关闭条件)④ 生命周期编排(battle_over retire 映射消亡)+ roll_board 恰一次 # 2026-09-15 由六项收拢(窗口/道具段与库存编排随可选类删除失义)
hud_obligations: 三项(缺项即 blocking)——① 已开格资源身份恒定可读(挖掘期规划面)+ 未开格类型可查面的呈现深度(预读边界待办)② 结算明细行(效果行/"奖励未生效"〔聚合计数〕/标旗未中行/直伤行)③ H2 清图奖励行强调呈现 # 2026-09-15 由五项收拢(库存常读条/道具窗口随可选类删除失义)
@@ -315,14 +317,14 @@ entities:
p_perfect: int {100,200} percent(knob,默认 200 provisional——完美排雷清图奖励**第二份兑付触发**;2026-09-10 战斗结算 评审批修订:真实双份交付载体〔Core Rule 13#2〕——100 = 仅高光、200 = 双份交付,非整数倍数乘数无运行时载体、域外加载致命;上界受护栏 B 约束〔双读数:D_ref 口径 24 / DPS 严格读数 ≈8,裁决归 难度曲线与Boss〕)
segment_order: StringList(结构冻结——段序骨架 [grant, buff_debuff, combat, decay, verdict];加载期恒等拍板序校验违例致命,防实现乱序静默漂移;2026-09-15 格面资源批五段——item_window/item 两段随可选类删除下线,旧七段序见底部修订记录)
source_label_map: Dictionary source_class→文案键(结构冻结——P2 归因呈现映射;键集 = 增益状态 source_class ∪ {判定扩展, enemy_action, flag_miss}——2026-09-10 战斗结算 评审批修订;2026-09-15 格面资源批删"道具"扩展键;新增键 = 接口漂移)
effect_pool_map: Dictionary effect_id→pool {hero_offense|hero_defense|enemy_output|flat_attach}(结构冻结——F2 效果语义映射,增益状态 Rule 7 载体;键 ⊆ StatusEffectTable 活行集、悬空加载期致命;新 effect_id 上线须随批登记——2026-09-15 格面资源批随 sapped 行收编登记:sapped → hero_offense)
effect_pool_map: Dictionary effect_id→pool {hero_offense|hero_defense|enemy_output|flat_attach}(结构冻结——F2 效果语义映射,增益状态 Rule 7 载体;键 ⊆ StatusEffectTable 活行集、悬空加载期致命;新 effect_id 上线须随批登记——2026-09-15 格面资源批随 sapped 行收编登记:sapped → hero_offense;**2026-09-16 护甲等级掷点批:删 defense_up → hero_defense 键**〔减伤百分比行退役,hero_defense 池现仅 off_guard 正向行〕;ac_up 为 AC 阈值轴效果、不入任何池)
pool_clamp_lo: int pp(结构冻结 −100——percent 池地板域下界,乘数域随之 [0,2];2026-09-10 统一八字段口径)
pool_clamp_hi: int pp(结构冻结 +100——percent 池地板域上界;原"七字段 pool_clamp_lo_hi"措辞作废,数据配置 GDD 行按收编先例以本条为准)
round_direction: enum {floor}(结构冻结——单一取整规则)
charge_grants: Dictionary 奖励触发源→{attack_type, per_unit, cap}(**2026-09-15 攻击类型/奖励抽象分离批新增**——攻击类型 = 伤害的属性轴(定义不含来源),充能 = 按攻击类型分桶的附加伤害储备;"哪类棋盘事实充哪个桶、每单位多少点"归本字典 = 奖励定义,替换字典即改奖励内容,攻击类型与 armor_effectiveness 不动;现行 safe_cell(开格)→ pierce 1/格 cap 8 · flag_hit(标中旗)→ magic 2/雷 cap 0=不封顶;**原 pierce_per_cell / pierce_cap / magic_per_flag("类型×来源"焊死命名,更早为 damage_a_per_cell / damage_a_cap / damage_b_per_flag)同批作废**;数值 provisional 归 难度曲线与Boss;正式归属(地图战斗资源 的奖励类别/效果面)见 战斗结算「待办」)
armor_effectiveness: Dictionary 攻击类型×护甲→百分比(键集结构冻结 {normal, pierce, magic} × {light, ward, heavy};默认 normal 全 100 / pierce→ward=150、heavy=50 / magic→heavy=150、ward=50——克制 ×150 / 中性 ×100 / 被克 ×50;**2026-09-15 命名统一批:改为语义键,原 {base, dmg_a, dmg_b} × {none, a, b} 位置键作废**;数值 provisional 归 难度曲线与Boss)
ac_roll: 护甲等级掷点(**2026-09-15 护甲等级批新增,未定稿**——形式 d20 / 百面骰 / 区间均匀未定、数值域未定,登记 战斗结算「待办」;回合内随机 = 结算换算层首次引入;吃掷点分量 = 主角先手攻击普通分量 / 敌方攻击拍与重击拍基线伤害;掷点 ≥ 防守方护甲等级 → 全额、掷点 < 护甲等级 → 档位折扣,必中非归零、无 miss 无零收益白回合;穿刺/魔法充能分量与棋盘来源伤害〔伏击附加 / 道具 / 清障炸药 / 奖励即时〕不掷不折)
ac_discount_tiers: Dictionary 掷点差距档→折扣百分比(**2026-09-15 护甲等级批新增,未定稿**——档数与数值未定 provisional 归 难度曲线与Boss;档位不设零档〔非归零〕,折扣后取整沿全局 floor、为 0 走既有零值伤害行不新增行型;EV 中性——期望伤害对齐现行表值,现行数值不重调,难度曲线与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,·)——零值伤害行语义退役,重档折扣行文本记"被压制"〕;吃掷点分量 = 主角先手攻击普通分量 / 敌方攻击拍与重击拍基线伤害,穿刺/魔法充能分量与棋盘来源伤害〔伏击附加 / 爆裂 / 清障炸药 / 奖励即时〕必中全额不掷;回合内随机、消费 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 落点,原"结算路径零随机 / 步骤流逐行相同"口径随批作废;开战掷区间 / 装板摇号属初始化随机维持不变)· 调用序钉死 query_attack→apply_damage→advance · 衰减恒执行含末轮 · 高光双落载体(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 命名统一批)**——挖掘期充能/战斗段消费/单轮生命周期、不吃 percent、逐分量 armor_effectiveness 查表 floor 相加
closure_receipt: 行动经济 F1 条款①②③⑤闭合 owner = 战斗结算(2026-09-10 F0–F5 首版验算完成——F0 瞬时当量口径 + m_w 值域裁决见 status_effect.anchor_warning;条款③ clause3_supply 闭合回执;条款⑤ clause5_dominance 条目;actuals p10 交付后强制重跑)
@@ -637,3 +639,15 @@ entities:
# 本表同步:owner 路径(reward_table / reward_config / aux_items 三处)与 referenced_by、各属性文本中的系统名提及全部改新名;
# 英文代号 REWARD_ITEM_ECONOMY / AUXILIARY_ITEMS 与条目键 reward_/aux_ 暂沿用(代码标识符与工具链口径),与中文名的对齐另批执行。
# 底部历史注释行保留各批原文旧名作为修订留痕,现行口径以上方条目为准。
# 2026-09-16 护甲等级掷点批·定稿落地(用户拍板 2026-09-16,数字即规范——与 战斗结算 v0.10 / 敌人系统 v0.4 /
# 难度曲线与Boss v0.5 / 增益状态 v0.4 / 地图战斗资源 v0.6 / 03-内容规模 / 切片代码同批):
# ① settlement_table.ac_roll / ac_discount_tiers 两字段由"未定稿"改拍板值(d20 / 缺口 1-3→×0.75 · 4-7→×0.5 · 8+→×0.25 /
# nat20 暴击 ×2 恒全额 / damage_floor=1 / attack_bonus=0 结构位 / armor_roll_stream="armor_roll");
# ② rng_service 增流 armor_roll(回合内随机首次入流,scope_event_binding = 每次掷点恰一 scope)+
# salt_armor_roll + 黄金向量(m=42 scope0 = 4806095330042243845)+ 重播种前提改 4 流;
# ③ enemy / hero 两条目 armor_class 由"取值域未定"改 [0,999]:主角 10(暂定)、敌方首关 0(暂定——正式行值归怪物/
# 敌人系统设定批,登记待办清单,随加难杠杆扫描合并调);
# ④ status_effect:defense_up 行退役换装 ac_up(护甲强化 +1 ac ×2 层,unit=ac 新量纲,不入任何池);
# ⑤ reward_table:defense 型正向行 defense_up → ac_up(显示名暂定"护甲强化",权重/档位/cell_type 零改动);
# ⑥ settlement_table.effect_pool_map 删 defense_up 键(hero_defense 池现仅 off_guard 正向行——×0 免伤墙结构面消失)。