奇物 v2.4:顶层定名 Wondrous Item(奇物)

顶层概念由「奖励」改名为「奇物」(Wondrous Item)。

定名依据:DND 魔法物品九分类中的 Wondrous Item,官方中文译名即「奇物」,
是专装"不好归类但有奇效之物"的兜底杂类。选它的理由——本概念下三个分类
(规则 / 数字 / 余量)本来就没有共同点,能把它们拢在一起的只有一个
"不好归类但有用"的名字,而奇物天生就是干这个的。

落选者(都登记在 06 备查):
- Treasure(宝物):DMG 第 7 章正式术语,定义含 coins/gems/art objects/
  magic items,四条筛选全中,但偏"财物",装不下专长这种
  "你会了件以前不会的事"
- Relic:roguelike 品类惯例(杀戮尖塔 / Soulbound / 铲子骑士 Pocket Dungeon /
  Die in the Dungeon,后两个明确"局内可买可捡、run 结束清零",与本作同构),
  但用户已否决「遗物」
- 全部自造词(进益 / 造化 / 机缘 / 遇获):用户否决

**代码词族定为 curio_* / ADVENTURE_CURIO,不用 reward_***——
reward_pick(rng 封闭流 scope)/ reward_node(grant_aux_item context)/
reward_preview(道具 kind)已占用 reward 词族,照 reward_* 对齐会撞车。
06 里原「feature_* → reward_* 对齐」待办据此改写为 → curio_*。

改名范围(文档名 奖励.md → 奇物.md):
- 全文称谓、判据句(当局清零的是奇物,跨局带走的是魔法道具)
- 1.5 命名出处节重写(补 Wondrous Item 出处与落选理由)
- 02-系统清单:文档树行改名、ADVENTURE_REWARD → ADVENTURE_CURIO、v1.7/v1.8
- 06-待办清单:链接与称谓、三层约束表、命名统一后续条目(目标词族改 curio_*)、
  「顶层命名待定」条目改为已定
- entities.yaml:reward → curio、owner 路径、正文称谓(保护「奖励节点」)
- battle.md / level-map.md:奇物列表;HUD框架.md:奇物段先例
- 两个 schema 概念指路注释

**保护未动**:「奖励节点」(渠道名)、格面奖励 / 清图奖励 / 大奖励 /
节点奖励 / 奖励重构等历史与他概念用词——全部逐条核对未误伤。

数据层数值零变更;未 merge 回 master(本会话零测试)。
This commit is contained in:
DKChan committed 2026-10-05 05:25:28 +08:00
1 parent eaf1ae9184
commit a2ce5d7e01
9 files changed
+145 -144

No files matched your search

+4 -2
View File
@@ -45,7 +45,7 @@
| `关卡节点图生成.md` | 单关节点图的逐局随机来源:图模板池、抽签与实例化(实施排队 ADR-0007 裁决后) | 设计草案·拍板点全落文 |
| `冒险结构.md` | 整局冒险的关卡序列、失败与大奖励 | 已定稿·自旧体系迁移 |
| `难度曲线与Boss.md` | 难度曲线、期望值带与 Boss 设计 | 已定稿·自旧体系迁移 |
| `奖励.md` | 一次冒险内各渠道给予玩家的增益总称(机制类 / 属性提升类 / 资源与机会类三个枚举 × 奖励节点·商店·Boss 击败后三条渠道) | 已实现·2026-10-05 新立定义·v2.0 改名并重构为两根轴 |
| `奇物.md` | 一次冒险内各渠道给予玩家的增益总称(机制类 / 属性提升类 / 资源与机会类三个枚举 × 奖励节点·商店·Boss 击败后三条渠道) | 已实现·2026-10-05 新立定义·v2.0 改名并重构为两根轴 |
### 跨局循环(`systems/跨局循环/`)
@@ -97,7 +97,7 @@
| 冒险循环 | 关卡节点图生成 | `NODE_MAP_GENERATION` | —(新立无旧代号) |
| 冒险循环 | 冒险结构 | `ADVENTURE_STRUCTURE` | c2 |
| 冒险循环 | 难度曲线与Boss | `DIFFICULTY_CURVE` | c3 |
| 冒险循环 | 奖励 | `ADVENTURE_REWARD` | `ADVENTURE_FEATURE`(2026-10-05 v2.0 改名退役) |
| 冒险循环 | 奇物 | `ADVENTURE_CURIO` | `ADVENTURE_FEATURE`(v1.0)→ `ADVENTURE_REWARD`(v2.0,v2.4 退役) |
| 跨局循环 | 元进度 | `META_PROGRESS` | c4 |
| 表现与支撑 | HUD框架 | `HUD_FRAMEWORK` | d1 |
| 表现与支撑 | 数据配置 | `DATA_CONFIG` | d2 |
@@ -132,3 +132,5 @@
| v1.4 | 2026-10-05 | 《特性》v1.1 分类重构:两类由"规则改写型 / 属性加成型"改为"属性提升(ASI)/ 专长(Feat)",属性提升内部再分纯属性组与特殊组;获取途径由两口共用池改为三条分工渠道(专长走特定节点、属性提升走奖励节点与商店)+罕见旁路"专长获取" |
| v1.5 | 2026-10-05 | 《特性》改名为《奖励》并升 v2.0:顶层概念改为"一次冒险内各渠道给予玩家的增益总称",边界判据由"自身提升 vs 持有物"改为生命周期(当局清零的是奖励,跨局带走的是魔法道具);分类由两类扩为三个枚举(机制类 / 属性提升类 / 资源与机会类),并新增分类 × 渠道交叉开关表——两根轴互不决定。文档树冒险循环行改名 + 命名对照表 `ADVENTURE_FEATURE` → `ADVENTURE_REWARD` |
| v1.6 | 2026-10-05 | 《奖励》v2.1 交叉表收口:Boss 渠道只出专长(终局 Boss 不给),另两类在此不出现;新增「计价物不自售」规则处理金币不进商店——不拆第四个分类、不开特例,而是两轴交叉处的一条约束 |
| v1.7 | 2026-10-05 | 《奖励》v2.2:机制类在非 Boss 渠道改为「专长获取」门票形式(不直接给专长);渠道约束重构为三层(分类白名单/可计算谓词/显式例外清单),并承认「计价物不自售」形式上是白名单外的一道过滤、与死特判的区别在可计算;立默认原则——除已登记规则外分类内的都要在池子里,据此回复应在商店内(现行货架缺它,须补) |
| v1.8 | 2026-10-05 | 《奖励》改名为《奇物》并升 v2.4:顶层定名 Wondrous Item(DND 魔法物品九分类中的兜底杂类,官方中文译名「奇物」)。文档树冒险循环行改名;命名对照表 `ADVENTURE_REWARD` → `ADVENTURE_CURIO`(**不用 `reward_*`**——`reward_pick` 流 / `reward_node` context / `reward_preview` kind 已占用该词族) |
+11 -11
View File
@@ -27,7 +27,7 @@
#### 冒险 BD 各分类获取同渠道、纯概率差——渠道分工目标态(2026-10-04 提问登记;2026-10-05 用户定分工)
**现状**:BD 分层口径(用户定):基础 BD(账号级,局外天赋树+同调装配)与冒险 BD(局内一次冒险的构筑)两层;冒险 BD 的加强物 = **奖励**(2026-10-05 定名,v2.0 由「特性」改名,定义见 [奖励](systems/冒险循环/奖励.md)),下分**三个枚举分类**:**机制类**(专长——改规则、带流派标签与档位激活,构筑核心)、**属性提升类**(生命/AC/攻击三轴,写统一加算区;账本实为冒险域、关间不清零)、**资源与机会类**(行动点上限·刷新次数·金币·回复——给"可用的量",命名待定)。旧称「流派件 / 数值件 / 本关强化」一律作废;v1.0 的「规则改写型 / 属性加成型」与 v1.1 的两分类亦作废。现行三个分类**共用同一获取渠道**:三选一(奖励节点+通关)+ 商店货架 + 格面令牌同属 98 张固定配额池(普通 70/稀有 25/罕见 3),机制类只占稀有/罕见档(与属性大件混编),商店仅「货架零专长挤掉一张普通卡」保底——获取途径与条件完全相同、仅概率不同,构筑核心的获取节奏纯看脸。
**现状**:BD 分层口径(用户定):基础 BD(账号级,局外天赋树+同调装配)与冒险 BD(局内一次冒险的构筑)两层;冒险 BD 的加强物 = **奇物**(2026-10-05 定名,v2.4 由「奖励」改名、v2.0 由「特性」改名,定义见 [奇物](systems/冒险循环/奇物.md)),下分**三个枚举分类**:**机制类**(专长——改规则、带流派标签与档位激活,构筑核心)、**属性提升类**(生命/AC/攻击三轴,写统一加算区;账本实为冒险域、关间不清零)、**资源与机会类**(行动点上限·刷新次数·金币·回复——给"可用的量",命名待定)。旧称「流派件 / 数值件 / 本关强化」一律作废;v1.0 的「规则改写型 / 属性加成型」与 v1.1 的两分类亦作废。现行三个分类**共用同一获取渠道**:三选一(奖励节点+通关)+ 商店货架 + 格面令牌同属 98 张固定配额池(普通 70/稀有 25/罕见 3),机制类只占稀有/罕见档(与属性大件混编),商店仅「货架零专长挤掉一张普通卡」保底——获取途径与条件完全相同、仅概率不同,构筑核心的获取节奏纯看脸。
**用户定案(2026-10-05,v2.1 收口)**:分类 × 渠道交叉开关表——
@@ -51,10 +51,10 @@
**渠道约束分三层(v2.2,用户质疑后重构)**:用户问"计价物不自售不就是特判吗"。**诚实结论:形式上是的**——它确实是在分类白名单之外加的一道过滤,不是从分类推出来的。但和死特判有实质区别:
| 层 | 是什么 | 新增渠道/奖励时 |
| 层 | 是什么 | 新增渠道/奇物时 |
|---|---|---|
| 一层 分类白名单 | 分类轴决定渠道 | 新分类按判据归类,自动继承 |
| 二层 **可计算谓词** | 渠道与奖励的**结构性**关系 | **自动判定,不用改表** |
| 二层 **可计算谓词** | 渠道与奇物的**结构性**关系 | **自动判定,不用改表** |
| 三层 显式例外清单 | 人为设计选择,无内在理由 | **只能逐条加,每条须写理由** |
死特判="GP 不进商店"(一条记录,每多一个例外加一条,靠记忆维护);谓词="X 是渠道 C 的计价物 → X 不进 C"(一个函数,自动判定)。**它没有消除"在白名单外加过滤",只是把它从枚举例变成了计算谓词。** 判据:结构性原因(计价物/即时兑付/先决条件)可写成谓词;设计性原因只能进三层清单。**要害不是有没有例外,而是例外能不能被算出来。**
@@ -67,23 +67,23 @@
**待拍板/待观察三项**:① **资源与机会类的命名**(候选:资源 / 补给 / 余量);**回复是否属该类**(也可能独立成第四类——它是否出现在商店与此无关,两回事)。② **专长门票尚未入表**:出现概率 / 配额 / 全局限量三个参数都没有事实源,入池同样受档位结构锚约束。③ **专长总量与档位阈值的匹配——延后复裁**(用户 2026-10-05 定"先不调整"):终局 Boss 不给已定,一局确定性专长次数=终局前 Boss 个数;**三关结构下是两次,加门票最多三次**,而档位阈值是同标签 ≥2 档一 / ≥4 档二——**档二(完全体)在三关结构下几乎不可达**。用户决定不动,理由是**后续会有第四关**,且届时可能另做获取侧调整。**复裁触发:第四关内容批落地后实测,配合仍太少再调。** 先不调≠不成问题,登记于此防忘。
④ **charge 标签件数不足(数据缺陷,独立登记,勿被上条盖掉)**:档二要求同标签 ≥4 件,而 `relics.tres` 里 charge 标签**只有 3 件**——即使获取次数无限,charge 流派也永远达不到档二。这与渠道结构无关,是数据层缺陷。
⑤ **顶层命名待定**:「奖励」与「收益」用户都觉得不妥,拟自造一个"进益兼备"的名词(候选:进益 / 造化 / 机缘 / 遇获),**定了之后要回头改本文档名、全文称谓、entities 条目名与代码词族**。注意:代码里 `reward_pick` 流 / `reward_node` context / `reward_preview` kind 已占用 reward 词族,`feature_* → reward_*` 那条对齐待办**不能照做**(会撞车)。
⑤ ~~顶层命名待定~~ **已定(v2.4)=「奇物」Wondrous Item**:DND 魔法物品九分类中的兜底杂类,官方中文译名即「奇物」,专装"不好归类但有奇效之物"——正好对应三个互不相干的分类。落选:Treasure(偏财物,装不下专长)、Relic(品类惯例,用户否决「遗物」)、全部自造词(进益/造化/机缘/遇获)。**代码词族随之定为 `curio_*` / `ADVENTURE_CURIO`**——原计划的 `feature_* → reward_*` 对齐**作废**:`reward_pick` 流 / `reward_node` context / `reward_preview` kind 已占用 reward 词族,照做会撞车。
**归属**:[奖励](systems/冒险循环/奖励.md)(定义与交叉开关表)+ [node-reward](ux/node-reward.md)(令牌池与奖励面)+ [冒险结构](systems/冒险循环/冒险结构.md)(商店货架保底与货架过滤)+ [关卡节点地图](systems/冒险循环/关卡节点地图.md)(节点类型词表);与上条「双层 BD 延期与备选内容总登记」二期件组相关但不同面。
**归属**:[奇物](systems/冒险循环/奇物.md)(定义与交叉开关表)+ [node-reward](ux/node-reward.md)(令牌池与奖励面)+ [冒险结构](systems/冒险循环/冒险结构.md)(商店货架保底与货架过滤)+ [关卡节点地图](systems/冒险循环/关卡节点地图.md)(节点类型词表);与上条「双层 BD 延期与备选内容总登记」二期件组相关但不同面。
**状态**:分工已定,**实施待排批**;两项待拍板/待观察(2026-10-05 v2.1 更新)
#### 资源与机会类两个新种类入池——刷新次数、专长获取(2026-10-05 立)
**现状**:[奖励](systems/冒险循环/奖励.md) v2.0 立了资源与机会类四项,其中**行动点上限**已在池(罕见档)、**金币与回复**已在池,**刷新次数与专长获取两项尚未入表**。注意与既有「商店独立刷新机制」条分清:那条是进店后的免费次数 + GP 刷新(商店自身的服务),本条指的是**作为奖励授予的**重抽次数,两者不是一回事,入池前须先划清边界。
**现状**:[奇物](systems/冒险循环/奇物.md) v2.0 立了资源与机会类四项,其中**行动点上限**已在池(罕见档)、**金币与回复**已在池,**刷新次数与专长获取两项尚未入表**。注意与既有「商店独立刷新机制」条分清:那条是进店后的免费次数 + GP 刷新(商店自身的服务),本条指的是**作为奖励授予的**重抽次数,两者不是一回事,入池前须先划清边界。
**连带约束**:`FEATURE_KINDS` 词表封闭(断点附随件与牌库剔除态依赖它),扩种类须走 `adventure_table.gd` + registry 同步修订;档位配额是**结构锚**(普通 70 / 稀有 25 / 罕见 3 = 98 张,入 schema validate 硬断言),新种类入池要占配额——**改总量须重裁而非调参**。专长获取须带全局限量(一局内可获得次数上限)。
**归属**:[奖励](systems/冒险循环/奖励.md) 调参表 + [冒险结构](systems/冒险循环/冒险结构.md) 共享池账本节;数值所有权归 [难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md)
**归属**:[奇物](systems/冒险循环/奇物.md) 调参表 + [冒险结构](systems/冒险循环/冒险结构.md) 共享池账本节;数值所有权归 [难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md)
**状态**:待排批——须在可跑冒烟的迭代批次内完成
#### 内部分类禁写入玩家可见面——奖励呈现三处违规待改(2026-10-04 用户立意登记)
#### 内部分类禁写入玩家可见面——奇物呈现三处违规待改(2026-10-04 用户立意登记)
**现状**:用户立意(方向已明确):形态(规则改写型/属性加成型)等内部分类**不得写进玩家可见的名称、介绍词或界面**——玩家可根据效果自行推断类别,游戏不得直接点破。查证实态:26 项机制类奖励的 display_name 全风味名(奥术余烬/贯穿射击/矿工的执拗等,合规,符合 2026-09-29 playnote 既有批评);**违规三处**(均系迭代 12 呈现补齐批所落,承载用户「局内奖励选了什么看不到」反馈——缺口承载需求仍成立,撤的只是分类字样):① 三选一+商店特性卡面第二行印流派名(`battle_narrator.gd` relic_card_text,「奥术余烬 · 魔法」式);② 战斗屏 C 区列表标题(现为「特性」)+逐流派聚合行「魔法 ×2 · 档一」(`hero_info_panel_view.gd` + `hud_presenter.gd` relic_holdings_lines);③ 关卡选择页复用同一聚合文案(`level_map_screen.gd`)。**边界**:效果摘要行(「普攻附加必中伤害」)保留——那是件本身在做什么,是玩家推断归类的依据。
@@ -93,11 +93,11 @@
**状态**:方向已明确(禁写类别),违规改法与档位呈现三路待讨论(2026-10-04 登记,后续展开)
#### 奖励命名统一后续——代码标识符与文件名的对齐(2026-10-05 立)
#### 奇物命名统一后续——代码标识符与文件名的对齐(2026-10-05 立)
**现状**:概念已统一为「奖励」(2026-10-05 v2.0 由「特性」改名,定义见 [奖励](systems/冒险循环/奖励.md))。已完成三件——① 定义文档落位(`design/gdd/systems/冒险循环/奖励.md`);② 称谓统一(代码注释与玩家可见文案,94 处+design/ 侧随改名批同步);③ 数据层标识符统一(`adventure_table.gd` / `adventure.tres` 的常量与字段整体换到 `feature_*` 词族,112 处,值零变更)。
**现状**:概念已统一为「奇物」(2026-10-05 v2.4 由「奖励」改名、v2.0 由「特性」改名,定义见 [奇物](systems/冒险循环/奇物.md))。已完成三件——① 定义文档落位(`design/gdd/systems/冒险循环/奇物.md`);② 称谓统一(代码注释与玩家可见文案,94 处+design/ 侧随改名批同步);③ 数据层标识符统一(`adventure_table.gd` / `adventure.tres` 的常量与字段整体换到 `feature_*` 词族,112 处,值零变更)。
**未完四件**:⓪ **`feature_*` 词族随顶层改名再换到 `reward_*`**(2026-10-05 v2.0 新增)——`FEATURE_KINDS` / `feature_quota()` / `feature_value()` / `feature_candidate_count` / `feature_quota_*` / `feature_value_*`,涉及 `adventure_table.gd` + `adventure.tres` 键名 + registry;**注意** `adventure.tres` 的键名是存档外的表数据,换名只动键不减值,但 `FEATURE_KINDS` 是封闭词表、断点附随件与牌库剔除态依赖它,须走本表 + registry 同步修订。① 机制类那套的 relic 词族(RelicTable / relics.tres / relic_id / _relics)与统一词族对齐——文件名与 class_name 改名须同步 Godot `.uid` 与 `.tscn` 引用,非文本层可自证;② 运行层标识符(`_bonus_deck` / `bonus` 加算区 / `_bonus_taken` / `pick_bonus` / BonusInteractController / BonusPickOverlay)换名;③ 断点与存档键(`bonus_deck` / `bonus_taken` / `bonus_pending` / `bonus_result` / `bonus_aux_carry`)为存档兼容沿用历史名,是否随存档版本迁移一并换名待定。
**未完四件**:⓪ **`feature_*` 词族随顶层改名再换到 `curio_*`**(2026-10-05 v2.0 新增、v2.4 改目标词族)——`FEATURE_KINDS` → `CURIO_KINDS` / `feature_quota()` → `curio_quota()` / `feature_value()` → `curio_value()` / `feature_candidate_count` → `curio_candidate_count` / `feature_quota_*` / `feature_value_*`,涉及 `adventure_table.gd` + `adventure.tres` 键名 + registry。**注意两点**:其一,**目标词族是 `curio_*` 不是 `reward_*`**——`reward_pick`(rng 封闭流 scope)/ `reward_node`(`grant_aux_item` context)/ `reward_preview`(道具 kind)已占用 reward 词族,照 `reward_*` 对齐会撞车;其二,`adventure.tres` 的键名是存档外的表数据,换名只动键不减值,但 `FEATURE_KINDS` 是封闭词表、断点附随件与牌库剔除态依赖它,须走本表 + registry 同步修订。① 机制类那套的 relic 词族(RelicTable / relics.tres / relic_id / _relics)与统一词族对齐——文件名与 class_name 改名须同步 Godot `.uid` 与 `.tscn` 引用,非文本层可自证;② 运行层标识符(`_bonus_deck` / `bonus` 加算区 / `_bonus_taken` / `pick_bonus` / BonusInteractController / BonusPickOverlay)换名;③ 断点与存档键(`bonus_deck` / `bonus_taken` / `bonus_pending` / `bonus_result` / `bonus_aux_carry`)为存档兼容沿用历史名,是否随存档版本迁移一并换名待定。
**次序建议**:⓪ 与 ① 同为"词族对不齐",可同批;② 涉及运行层最广,单批;③ 须与存档版本迁移一起裁。**顶层已改名而代码仍是 `feature_*`,属"文档与代码分开"的临时态**,应在下一个可跑冒烟的批次内收口。
@@ -1,33 +1,33 @@
# 奖励(Reward)
# 奇物(Wondrous Item)
> 一次冒险之内,通过各渠道给予玩家的**增益总称**——奖励节点给的、商店里买的、打赢关底 Boss 给的,都是奖励。它装的是"这一局你捞到了什么",不管从哪个渠道来。
> 一次冒险之内,通过各渠道给予玩家的**增益总称**——奖励节点给的、商店里买的、打赢关底 Boss 给的,都是奇物。它装的是"这一局你捞到了什么",不管从哪个渠道来。
>
> 它是一个概念,不是一套东西。下面有**两根互不相干的轴**:
>
> - **分类轴**回答"给的是什么"——三个枚举:机制类 / 属性提升类 / 资源与机会类;
> - **渠道轴**回答"从哪来"——奖励节点 / 商店 / 关底 Boss 击败后。
>
> 一个奖励属于哪个分类,不决定它从哪个渠道来;反过来也一样。两者的交叉由第 2 节那张开关表定死。
> 一个奇物属于哪个分类,不决定它从哪个渠道来;反过来也一样。两者的交叉由第 2 节那张开关表定死。
>
> 状态:**已实现**(2026-10-04 双层 BD 实施批落地)。本文件是奖励的唯一定义文档。
> 状态:**已实现**(2026-10-04 双层 BD 实施批落地)。本文件是奇物的唯一定义文档。
>
> 数值纪律:本文件只写概念、取值域与指路;每件给多少、效果是什么一律不进正文,事实源是 `game/data/tables/relics.tres` 与 `game/data/tables/adventure.tres`。
## 设计目的
一次冒险要走三关,如果走完时角色和开局毫无区别,中途的每一次取舍就都不算数了。奖励就是那个把"这一局玩成了什么样"落下来的东西:让玩家在冒险过程中不断变强,且每一局变强的方向不同。
一次冒险要走三关,如果走完时角色和开局毫无区别,中途的每一次取舍就都不算数了。奇物就是那个把"这一局玩成了什么样"落下来的东西:让玩家在冒险过程中不断变强,且每一局变强的方向不同。
它同时要和跨冒险的成长隔开:永久保留的东西是[魔法道具](../排雷循环/魔法道具.md)(带在身上的物品)与[元进度](../跨局循环/元进度.md)(账号级的树),奖励只在当局存在,冒险收束即清零——它不是"你的存档变强了",而是"这一次下矿的你变强了"。
它同时要和跨冒险的成长隔开:永久保留的东西是[魔法道具](../排雷循环/魔法道具.md)(带在身上的物品)与[元进度](../跨局循环/元进度.md)(账号级的树),奇物只在当局存在,冒险收束即清零——它不是"你的存档变强了",而是"这一次下矿的你变强了"。
**边界判据(一句话)**:**一次冒险内获得、冒险收束即清零的,是奖励;跨冒险跟着你走的,是魔法道具。**
**边界判据(一句话)**:**一次冒险内获得、冒险收束即清零的,是奇物;跨冒险跟着你走的,是魔法道具。**
这条判据走的是生命周期,不走"是不是物品"。原因:奖励这个筐里既装"角色自身的变化",也装金币这类一次性兑付物——用"拿在手里 vs 带在身上"去切,切不开它们,但用"当局清零 vs 跨局保留"能一刀切开,且对筐里所有东西都成立。
这条判据走的是生命周期,不走"是不是物品"。原因:奇物这个筐里既装"角色自身的变化",也装金币这类一次性兑付物——用"拿在手里 vs 带在身上"去切,切不开它们,但用"当局清零 vs 跨局保留"能一刀切开,且对筐里所有东西都成立。
## 系统范围
| 负责 | 不负责 |
|---|---|
| 奖励的定义、三个分类、以及分类与渠道的交叉开关 | 每件效果怎么接入结算——归挂点所属文档([战斗结算](../战斗循环/战斗结算.md)、[行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md)) |
| 奇物的定义、三个分类、以及分类与渠道的交叉开关 | 每件效果怎么接入结算——归挂点所属文档([战斗结算](../战斗循环/战斗结算.md)、[行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md)) |
| 生命周期边界:何时出现、何时生效、何时清零 | 卡面排版与界面呈现细则——见 [HUD框架](../表现与支撑/HUD框架.md) |
| 获取渠道的口径与约束 | 魔法道具与元进度——归上表两份文档 |
| 与相邻概念的边界 | 格面资源、关卡节点、商店本身的规则——归各自所属文档 |
@@ -36,17 +36,17 @@
```
【关内】排雷推理 → 战斗结算 → 通关 ──┐
├─→ 得到一份奖励 ─→ 后续关卡带着它继续
├─→ 得到一份奇物 ─→ 后续关卡带着它继续
奖励节点・商店・Boss 击败后 ┘
```
奖励处在「一次冒险」这一层:它不是一场战斗里的临时状态,也不跨冒险留存。上游是三条渠道,下游是之后所有关卡的排雷与结算——拿到了,下一关就开始生效。
奇物处在「一次冒险」这一层:它不是一场战斗里的临时状态,也不跨冒险留存。上游是三条渠道,下游是之后所有关卡的排雷与结算——拿到了,下一关就开始生效。
## 核心规则
### 1. 分类轴:三个枚举
奖励只有一个名词;需要区分时才说它属于哪个分类,不给分类另起名字。
奇物只有一个名词;需要区分时才说它属于哪个分类,不给分类另起名字。
| 分类 | 它给的是什么 | 落点 | 事实源 |
|---|---|---|---|
@@ -99,11 +99,9 @@
#### 1.5 命名出处
机制类与属性提升类都取自 DND 规则书的既有名词:专长对应 Feat,属性提升对应 Ability Score Improvement(ASI)。资源与机会类的命名**待定**——候选是「资源」「补给」「余量」,取决于最终把哪一层的共性当作这一类的主要性质。玩家可见文案只写效果,不出现任何分类名。
机制类与属性提升类都取自 DND 规则书的既有名词:专长对应 Feat,属性提升对应 Ability Score Improvement(ASI)。**顶层「奇物」取自 DND 魔法物品的九分类之一 Wondrous Item——官方中文译名就是「奇物」,是那个专门装不好归类但有奇效的东西的兜底杂类。** 用它做顶层名的理由:地下城里挖到的、商店里能买到的、能把你变强的、又确实贵重的东西,在 DND 里没有别的总称,只有 Treasure 和 Wondrous Item 两个候选,而 Treasure 偏向财物,装不下专长这种你会了件以前不会的事。奇物天生是杂类兜底,正好对应本概念下三个互不相干的分类(规则 / 数字 / 余量)——它们本来就没有共同点,能拢在一起的只有一个不好归类但有用的名字。资源与机会类内部的命名**待定**。玩家可见文案只写效果,不出现任何分类名。### 2. 渠道轴:与分类的交叉
### 2. 渠道轴:与分类的交叉
三个渠道各只取走分类的一部分。这张表是奖励概念的第二个维度——它和分类轴互不决定,改其中一根不必动另一根。
三个渠道各只取走分类的一部分。这张表是奇物概念的第二个维度——它和分类轴互不决定,改其中一根不必动另一根。
| 分类 \ 渠道 | 奖励节点 | 商店 | 终局前 Boss 击败后(见 2.1) |
|---|---|---|---|
@@ -111,7 +109,7 @@
| **属性提升类** | 出 | 出(口径「训练」) | 不出现 |
| **资源与机会类** | 出 | 出(**金币除外**,见 2.4) | 不出现 |
**这张表的形状**:Boss 渠道是**专长的独占渠道**,也是唯一**直接**给专长的渠道;奖励节点与商店不直接给专长,但会出现通往专长的**门票**。另两类不走 Boss 渠道,只在奖励节点与商店两个并行出口出现。三条渠道的分工因此是"一块独占 + 两块并行",不是三块平分。这条形状本身要记住:它意味着专长的获取节奏与其他奖励的获取节奏**由完全不同的机制决定**——前者靠打赢,后者靠抽取与购买。
**这张表的形状**:Boss 渠道是**专长的独占渠道**,也是唯一**直接**给专长的渠道;奖励节点与商店不直接给专长,但会出现通往专长的**门票**。另两类不走 Boss 渠道,只在奖励节点与商店两个并行出口出现。三条渠道的分工因此是"一块独占 + 两块并行",不是三块平分。这条形状本身要记住:它意味着专长的获取节奏与其他奇物的获取节奏**由完全不同的机制决定**——前者靠打赢,后者靠抽取与购买。
**渠道定位 vs 默认原则(两句,别混)**:
@@ -126,11 +124,11 @@
**终局 Boss 不给**:兑付只发生在**终局之前的 Boss** 身上——打赢最终 Boss 时冒险已经结束,没有后续关卡可消费,给了也无处生效。三关结构下,一局的确定性专长兑付次数由此确定(每个终局前 Boss 一次)。
**不新增节点类型**:专长挂在 Boss 节点的兑付面上(击败后追加一次专长三选一),[关卡节点地图](关卡节点地图.md) 的节点类型仍是封闭枚举五种(战斗 / Boss / 奖励 / 恢复 / 商店),词表零扩类。此前"要不要为专长新设一类节点"的悬案由此收口。
**不新增节点类型**:专长挂在 Boss 节点的兑付面上(击败后追加一次专长三选一),[关卡节点地图](关卡节点地图.md) 的节点类型仍是封闭枚举五种(战斗 / Boss / 奇物 / 恢复 / 商店),词表零扩类。此前"要不要为专长新设一类节点"的悬案由此收口。
#### 2.2 专长门票:非 Boss 渠道怎么给专长
奖励节点与商店**不直接给专长**——它们给的是一张**门票**:一个名为「专长获取」的奖励项,选中或买下之后,**立刻**开一次专长 N 选一(N 与 Boss 渠道的候选数同源)。
奖励节点与商店**不直接给专长**——它们给的是一张**门票**:一个名为「专长获取」的奇物项,选中或买下之后,**立刻**开一次专长 N 选一(N 与 Boss 渠道的候选数同源)。
**它归机制类,不归资源与机会类**:它给的不是"余量",而是"一件你以前不会的事"——只是把选择推迟到一次三选一。按 1.4 的分类判据(去掉它之后角色少了什么),它属于机制类。所以在交叉表上,机制类在非 Boss 渠道的表现是**只以门票形式出现**,不是"不出现"。
@@ -157,30 +155,30 @@
**为什么是"展示次数"而不是"节点次数"**:保底要保的是"玩家看到的脸",刷新本来就是让玩家多一次看脸的机会,若刷新不计入,保底与刷新两套机制会打架——玩家可以用刷新绕开保底的计数语义。
玩家视角它长这样:在普通的三选一奖励或商店货架里,偶尔会冒出一张不一样的卡——拿到它,立刻再开一次专长选择。它是奖励面里的惊喜,不是奖励面的常态;而连续几次没见到之后,它一定会来一次。
玩家视角它长这样:在普通的三选一奇物或商店货架里,偶尔会冒出一张不一样的卡——拿到它,立刻再开一次专长选择。它是奇物面里的惊喜,不是奇物面的常态;而连续几次没见到之后,它一定会来一次。
#### 2.3 商店口径:训练
商店这一侧走的叙事是「**训练**」——花代价向某位师父学习、借某种卷轴修炼、或把战斗攒下的钱换成一身本领。它不是买一个东西回来,而是把钱换成自己的本领,所以落到命名空间上和奖励节点那一侧完全相同:都是往同一个持有集里加一项奖励。
商店这一侧走的叙事是「**训练**」——花代价向某位师父学习、借某种卷轴修炼、或把战斗攒下的钱换成一身本领。它不是买一个东西回来,而是把钱换成自己的本领,所以落到命名空间上和奖励节点那一侧完全相同:都是往同一个持有集里加一项奇物。
#### 2.4 渠道约束分三层:白名单 / 可计算谓词 / 显式例外
一个"某分类在某渠道出不出现"的判断,实际由三层叠起来决定:
| 层 | 是什么 | 判据来源 | 新增渠道或奖励时 |
| 层 | 是什么 | 判据来源 | 新增渠道或奇物时 |
|---|---|---|---|
| **一层 分类白名单** | 分类轴决定渠道——机制类走 Boss、另两类走奖励节点与商店 | 分类本身 | 新分类按 1.4 判据归类,自动继承该类的渠道 |
| **二层 可计算谓词** | 渠道与奖励之间的**结构性**关系,能算出来 | 对象与渠道的内在关系 | **自动适用,不用改表** |
| **二层 可计算谓词** | 渠道与奇物之间的**结构性**关系,能算出来 | 对象与渠道的内在关系 | **自动适用,不用改表** |
| **三层 显式例外清单** | 人为的设计选择,没有内在理由可推 | 设计决定 | **只能逐条加,每条必须写理由** |
**先诚实回答"计价物不自售不就是特判吗"**:**形式上是的**——它确实是在分类白名单之外又加了一道过滤,不是从分类推出来的。但它和三层那种"死特判"有实质区别:
| | 写法 | 新增渠道/奖励时 | 维护方式 |
| | 写法 | 新增渠道/奇物时 | 维护方式 |
|---|---|---|---|
| 死特判 | "GP 不进商店"(一条记录) | 每多一个例外加一条记录 | 靠人记住,容易漏 |
| **可计算谓词** | "X 是渠道 C 的计价物 → X 不进 C"(一个函数) | **自动判定,不用改表** | 判据在对象属性上,不会漏 |
所以准确的说法是:**它没有消除"在白名单外加过滤"这件事,但把过滤从"枚举例外"变成了"计算谓词"**。以后新增渠道或奖励,只要"不出现"的原因是**结构性**的——来自奖励与渠道的内在关系(计价物、即时兑付、需要先决条件等)——就能写成谓词自动算;如果原因是**设计性**的("我就是想让它在这一关不出"),那就只能进三层清单。
所以准确的说法是:**它没有消除"在白名单外加过滤"这件事,但把过滤从"枚举例外"变成了"计算谓词"**。以后新增渠道或奇物,只要"不出现"的原因是**结构性**的——来自奇物与渠道的内在关系(计价物、即时兑付、需要先决条件等)——就能写成谓词自动算;如果原因是**设计性**的("我就是想让它在这一关不出"),那就只能进三层清单。
**所以要害不是"有没有例外",而是"例外能不能被算出来"**。三层清单不是不能用,但每一条都必须写出理由;一条写不出理由的例外,就是坏味道,应该回头质疑分类是不是分错了。
@@ -210,7 +208,7 @@
### 3. 作用对象与范围
- **作用对象**:角色本人,以及角色参与的结算过程。奖励不改敌人、不改棋盘生成、不改关卡内容。
- **作用对象**:角色本人,以及角色参与的结算过程。奇物不改敌人、不改棋盘生成、不改关卡内容。
- **刷新次数的例外**:它作用在三选一界面上,改的是"这一局里你能重选几次",而不是角色身上的任何数字。它是资源与机会类里唯一一条作用对象不是角色的项——留在这里是因为它满足另外三条:当局获得、当局有效、进同一份持有账本。这条例外在此显式登记,避免后续把它当成角色属性去结算。
- **时间范围**:整局冒险。机制类与属性提升类自获得起对本局剩余所有关卡生效,跨关携带且关间不清零;资源与机会类里的金币与回复是即时兑付,拿到即消费完。
- **归属范围**:不进账号永久进度,不带到下一次冒险。
@@ -236,11 +234,11 @@
| 相邻概念 | 关系(只写关系,不写对方的规则) |
|---|---|
| [魔法道具](../排雷循环/魔法道具.md) | 最需要分清的一对,判据是生命周期:**奖励当局清零,魔法道具跨冒险保留**。两者互不相通——奖励永不进同调位,魔法道具永不进当局随机渠道。 |
| [元进度](../跨局循环/元进度.md)(树) | 树管账号永久的规则与容量,奖励管当局构筑,两层互不代替。 |
| [魔法道具](../排雷循环/魔法道具.md) | 最需要分清的一对,判据是生命周期:**奇物当局清零,魔法道具跨冒险保留**。两者互不相通——奇物永不进同调位,魔法道具永不进当局随机渠道。 |
| [元进度](../跨局循环/元进度.md)(树) | 树管账号永久的规则与容量,奇物管当局构筑,两层互不代替。 |
| [战斗结算](../战斗循环/战斗结算.md) | 机制类的挂点位于结算管线的各段;挂点清单与语义归结算文档。 |
| [行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md) | 部分挂点落在行动点结转与地形处理上,语义归各自文档。 |
| [关卡节点地图](关卡节点地图.md) | 是渠道的载体,不是奖励的属性。机制类挂在 Boss 节点兑付面上,节点类型词表零扩类。 |
| [关卡节点地图](关卡节点地图.md) | 是渠道的载体,不是奇物的属性。机制类挂在 Boss 节点兑付面上,节点类型词表零扩类。 |
| [地图战斗资源](../战斗循环/地图战斗资源.md)(格面资源) | 无关:格面资源是单格的一次性产出,不进持有集,也不是渠道给的。 |
| [存档序列化](../表现与支撑/存档序列化.md) | 断点负载记录持有集与剩余候选池;键名与版本迁移策略归存档文档。 |
@@ -276,12 +274,12 @@
## 验收标准
1. 三个分类走同一套获取流程,代码里只有一个表示"已持有奖励"的集合。
2. 一次冒险内获得的奖励在之后任何关卡都生效;开新冒险后持有集为空。
3. 一项被选定的奖励不再出现在任何后续渠道。
1. 三个分类走同一套获取流程,代码里只有一个表示"已持有奇物"的集合。
2. 一次冒险内获得的奇物在之后任何关卡都生效;开新冒险后持有集为空。
3. 一项被选定的奇物不再出现在任何后续渠道。
4. 每个流派标签至少有一项挂在排雷侧的结算触发点上(防止机制类沦为纯战斗数值)。
5. 玩家可见的文案不出现分类名与内部分组标签——只写效果,归类让玩家自己推断。
6. 文档与代码里提到它时只有"奖励"这一个名字;需要区分时用"机制类/属性提升类/资源与机会类"描述,不得另造称呼。
6. 文档与代码里提到它时只有"奇物"这一个名字;需要区分时用"机制类/属性提升类/资源与机会类"描述,不得另造称呼。
7. 刷新次数不进角色加算区——它只改三选一界面的可用重抽次数。
8. 金币与回复不进持有集——它们是即时兑付,拿到即消费完。
9. 金币不出现在商店货架上——这是「计价物不自售」谓词算出来的结果,不是给金币单独立的一个分类;它确实是在分类白名单之外加的一道过滤,只是这道过滤可自动计算而非靠枚举。
@@ -310,5 +308,6 @@
| v1.2 | 2026-10-05 | 专长渠道落定:关底 Boss 击败后兑付,不新增节点类型;罕见旁路明确为"普通奖励里的专长 N 选一"。 |
| **v2.0** | 2026-10-05 | **顶层改名为「奖励」并重构为两根轴**。改名动因:筐里既装"角色自身的变化"也装金币这类一次性兑付物,用"自身提升 vs 持有物"已切不开,边界判据改由生命周期承担——**当局清零的是奖励,跨局带走的是魔法道具**。分类由两类改为**三个枚举**:机制类(专长)/ 属性提升类(生命·AC·攻击)/ 资源与机会类(行动点上限·刷新次数·金币·回复,命名待定)。新增第 2 节分类 × 渠道交叉开关表,明确两根轴互不决定;金币与回复不再被当作"该移出去的脏东西",而是安置在资源与机会类里,同时把它们的即时兑付性质显式登记为类内异质性。 |
| v2.1 | 2026-10-05 | **交叉表收口(用户拍板)**:Boss 渠道**只出专长**,属性提升类与资源与机会类在此均不出现——三条渠道的形状定为"一块独占 + 两块并行",专长靠打赢、其余靠抽取与购买。Boss 兑付明确为**终局前**的 Boss,终局 Boss 不给(无后续关卡可消费)。新增 2.4 节**「计价物不自售」规则**:金币不进商店既不拆分类也不开特例,而是写成两轴交叉处的一条约束——商店的计价物是金币,故金币不进商店;按"能不能进商店"反推分类等于用渠道轴去切分类轴,两根轴会缠回去。 |
| v2.3 | 2026-10-05 | **门票机制细化 + 默认原则表述修正**。① 门票**拿到即开、不可囤积**(用户定)——不进持有集,防止玩家把关键决策无限推迟,也防持有物语义从后门回来。② 门票的"罕见"**只在概率不在价格**,一局限购一次,并加**计步保底**:连续 5 次三选一展示未出现则第 6 次必出;计数跨奖励节点与商店共享、**刷新后的重新展示计入**(用户明定含刷新),限购用满后保底不再触发。③ **修正 v2.2 的误读**:把"分类在某渠道不出现"当成需要理由的缺格是错的——渠道出哪些分类是渠道轴的定位(Boss 只出专长),不是例外;默认原则只管**分类内部**的成员齐不齐。④ 专长总量与档位阈值的匹配按用户决定**延后**(待第四关内容批后实测复裁),另单独登记 charge 标签仅 3 件、永远达不到档二的数据缺陷。 |
| v2.2 | 2026-10-05 | **门票形态 + 约束分层 + 默认原则**。① 用户明确:奖励节点与商店不直接给专长,而是给一个**「专长获取」道具**,拿到后开专长三选一——交叉表机制类在两渠道由"不出现"改为"**门票形式**";门票归机制类(给的是一件以前不会的事,只是把选择推迟),理由是防止用钱定点买构筑。② 用户质疑「计价物不自售」本质是特判——**承认成立**:它确实是在分类白名单之外加的一道过滤,与死特判的区别在于把"枚举例外"变成"**可计算谓词**"(新渠道/新奖励自动判定)。2.4 改写为**三层约束**(分类白名单 / 可计算谓词 / 显式例外清单),并给出判断标准:结构性原因可写成谓词,设计性原因只能进清单且每条须写理由;三个方案(单独分类 / 谓词 / 死特判)的代价并列摆出,不藏折中。③ 用户定**默认原则**:除已登记的特殊规则外,分类内的东西都要在池子里——据此**回复应在商店内**,现行 shop.tres 货架缺它是"现状与表格不对齐",须在实施批补上。 |
| v2.3 | 2026-10-05 | **门票机制细化 + 默认原则表述修正**。① 门票**拿到即开、不可囤积**(用户定)——不进持有集,防止玩家把关键决策无限推迟,也防持有物语义从后门回来。② 门票的"罕见"**只在概率不在价格**,一局限购一次,并加**计步保底**:连续 5 次三选一展示未出现则第 6 次必出;计数跨奖励节点与商店共享、**刷新后的重新展示计入**(用户明定含刷新),限购用满后保底不再触发。③ **修正 v2.2 的误读**:把"分类在某渠道不出现"当成需要理由的缺格是错的——渠道出哪些分类是渠道轴的定位(Boss 只出专长),不是例外;默认原则只管**分类内部**的成员齐不齐。④ 专长总量与档位阈值的匹配按用户决定**延后**(待第四关内容批后实测复裁),另单独登记 charge 标签仅 3 件、永远达不到档二的数据缺陷。 |
| **v2.4** | 2026-10-05 | **顶层由「奖励」改名为「奇物」(Wondrous Item)**。用户否决了「奖励」「收益」与全部自造词(进益/造化/机缘/遇获),要求回到 DND/西幻既有名词。定名依据:DMG 魔法物品九分类中的 Wondrous Item,官方中文译名即「奇物」,是专装不好归类但有奇效之物的兜底杂类——正好对应本概念下三个互不相干的分类。此前考虑过的 Treasure(宝物)因偏财物、装不下专长而落选;roguelike 品类惯例 Relic 因用户否决遗物落选。**代码词族定为 `curio_*`、`ADVENTURE_CURIO`**(`reward_*` 已被 `reward_pick` / `reward_node` / `reward_preview` 占用,不能对齐)。 |
@@ -216,7 +216,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
| [地图战斗资源](../战斗循环/地图战斗资源.md) | 已开格的奖励身份常读;未开格类型微光(英雄周围 8 格内的未开格显示资源类型——概念定义见本篇「未开格类型微光」节) |
| [魔法道具](../排雷循环/魔法道具.md) | 库存条常读;使用交互与目标拾取;板级叠加层信息呈现 |
| [棋盘生成](../排雷循环/棋盘生成.md) | 零合法板的诚实告知(数据面经战斗结算上抛,本系统只管提示形态) |
| [地形变异](../排雷循环/地形变异.md) | 全局作用域型三层预告(2026-10-04 首发批——语义正主=地形变异 §全局作用域型):①开战横幅一行(板级变异非空时显示;减动效=静态驻留,轮横幅先例同款双态)②HUD 常驻角标(C 区战斗全程可见防中局遗忘,空态整节隐藏=奖励段先例;摆位 provisional)③帮助手册一行(零交互教学,承载=玩法帮助文案块);数据面经呈现快照 board_variants 投影(核心→呈现唯一读取面),普通图三层恒空态零打扰 |
| [地形变异](../排雷循环/地形变异.md) | 全局作用域型三层预告(2026-10-04 首发批——语义正主=地形变异 §全局作用域型):①开战横幅一行(板级变异非空时显示;减动效=静态驻留,轮横幅先例同款双态)②HUD 常驻角标(C 区战斗全程可见防中局遗忘,空态整节隐藏=奇物段先例;摆位 provisional)③帮助手册一行(零交互教学,承载=玩法帮助文案块);数据面经呈现快照 board_variants 投影(核心→呈现唯一读取面),普通图三层恒空态零打扰 |
## P0 最小闭环
@@ -300,6 +300,6 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
| v0.10 | 2026-09-26 | 渲染技术注记(战斗舞台 Node2D 迁移批 Phase B,代码实装同批;上位裁决 ADR-0006):B 区战斗舞台 Node2D 化——BattleStageView 内部由 PanelContainer+Control 站桩改为 Control 壳 + SubViewportContainer + SubViewport + Node2D 世界(StageWorld/StandeeBody),类名/setter 面/公共方法契约不变、调用点零改造;状态图标行与悬停 tooltip 保留 Control 载体挂壳层(伴随件);C6 字体注入挂点复用(set_world_font);三区布局与性能预算(同屏 draw calls < 200)不变;占位表现等价平移(时序常量逐字对照——等价证明=git 提交 7f24b64,文件已按生命周期条款退役) |
| v0.11 | 2026-09-27 | 关卡画面 UX spec 建档([level-map](../../ux/level-map.md),关卡画面 UX 批——用户拍板立项):义务清单「关卡节点地图」行挂屏级 spec 指针;屏级权威行与不负责表改按屏分治口径(战斗屏 = battle.md / 关卡画面 = level-map.md)。文档面零机制改动 |
| v0.12 | 2026-09-30 | **未开格类型微光概念收口批(用户裁决落位)**:新增「未开格类型微光」节=全项目唯一正主定义(五要素——作用对象=英雄周围 8 格内的未开格〔与可挖域同圈〕/信息内容=只类型不泄雷安/生命周期=入圈亮出圈灭开格灭/关联边界/实装状态=契约定稿〔样张 v2〕游戏内待实施批);核心规则章六节改七节;呈现义务来源清单「地图战斗资源」行补微光指路;验收标准补微光呈现线。背景:该概念此前只活在 06 登记与 art-bible 复述,「常显/全部未开格」无范围表述酿成理解事故(2026-09-30 用户纠正口径),本批落位正主、他文只许指路 |
| v0.13 | 2026-10-04 | **地形变异三层预告义务批(全局作用域变异首发批——迭代 14 ③号卡,代码同批)**:呈现义务来源清单补「地形变异」行(开战横幅一行〔减动效=静态驻留,轮横幅先例同款双态〕+ C 区常驻角标〔空态整节隐藏=奖励段先例,摆位 provisional〕+ 帮助手册一行〔零交互教学〕);验收标准补三层预告线(普通图恒空态零打扰);数据面走呈现快照 board_variants 投影(核心→呈现唯一读取面)。语义正主=地形变异.md §全局作用域型,本文只锁呈现承载 |
| v0.13 | 2026-10-04 | **地形变异三层预告义务批(全局作用域变异首发批——迭代 14 ③号卡,代码同批)**:呈现义务来源清单补「地形变异」行(开战横幅一行〔减动效=静态驻留,轮横幅先例同款双态〕+ C 区常驻角标〔空态整节隐藏=奇物段先例,摆位 provisional〕+ 帮助手册一行〔零交互教学〕);验收标准补三层预告线(普通图恒空态零打扰);数据面走呈现快照 board_variants 投影(核心→呈现唯一读取面)。语义正主=地形变异.md §全局作用域型,本文只锁呈现承载 |
| v0.14 | 2026-10-03 | **视野迷雾实施批落籍注记(迭代 11 第④批)**:迷雾节补「实施状态」注记(四裁决逐条对账:纯呈现两态逐位一致/暗淡记忆态灰显可读/LIGHT_RADIUS=8 参数化〔提灯 +2 插值位预留未接〕/类型微光仍贴身 8 邻格);实装状态行「待实施批」改「已实装」;验收标准迷雾行去「待实施批落地后验收」括注转正式验收。机制定义零改动(定义一句话/作用范围/生命周期/关联边界/配套拍板全段原样);黑暗区域渲染规格落 art-bible §6.5(v3.5) |
| v0.13 | 2026-09-30 | **视野迷雾概念落位批(用户拍板立项)**:新增「视野迷雾」节=正主定义(菱形灯光区+黑暗边界;区外已开格=暗淡记忆态灰显可读、区外未开格=全黑;灯光半径起步=微光环 8 格同圈;纯呈现层,与已退役雾格无关);验收标准补迷雾线;配套拍板随节登记(魔法提灯灯甲外扩 +2 格、类型微光不随视野扩、初始展开收窄后置 Alpha 差异化批)。实施待主线编卡 |
+5 -5
View File
@@ -105,7 +105,7 @@
- 攻击值 + 修正来源角标(战斗在消费、且站桩上无展示)
- 护甲 AC(2026-09-26 二轮拍板补入——我方 AC 的唯一展示面;掷点判定轴,受击侧可读性)
- 魔法道具槽(**已实装**:四槽两步交互,详见 [node-reward.md](node-reward.md)——随身战斗用道具的唯一展示面)
- 奖励列表(**预留**——锻造/大奖励/关卡奖励节点获得的属性提升;与战斗内状态效果分区呈现,防「战斗结束被清」误读)
- 奇物列表(**预留**——锻造/大奖励/关卡奖励节点获得的属性提升;与战斗内状态效果分区呈现,防「战斗结束被清」误读)
- **D 区扫雷图 · AP 条**
- AP 点阵 + 停手按钮(现行)
- **RAP 读数(点阵+数字)**——自 C 区迁入,置于弃图刷新按钮旁(2026-09-26 拍板:RAP 唯一消费口 = 弃图刷新,资源数字贴消费按钮)
@@ -120,7 +120,7 @@
| 区 | 位置与尺寸 | 内容 |
|---|---|---|
| **B 战斗画面** | 全宽 × 252px | 主角站桩立绘(左)+ 兑现演出区(中)+ 敌人站桩立绘 ×1–3(右)——**全站桩形态(2026-09-20 用户拍板,敌人卡形态待办裁决收口):主角与敌人均为无框立绘+底座,零卡片**;主角与敌人站桩 = **HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板)**;底部结算明细带(24px 摘要 / 结算期 84px 实时流);顶部中央轮次·阶段指示 |
| **C 角色信息** | 左下 240px × 548px | 攻击值(含修正显示)、护甲 AC;魔法道具槽(预留)、奖励列表(预留)——HP 条/RAP 池/状态效果槽/立绘占位/钱包行退役(2026-09-26 信息归属拍板:HP 与状态唯一展示面 = B 区站桩;RAP 迁 D 区 AP 条;GP/钥石迁出战斗屏) |
| **C 角色信息** | 左下 240px × 548px | 攻击值(含修正显示)、护甲 AC;魔法道具槽(预留)、奇物列表(预留)——HP 条/RAP 池/状态效果槽/立绘占位/钱包行退役(2026-09-26 信息归属拍板:HP 与状态唯一展示面 = B 区站桩;RAP 迁 D 区 AP 条;GP/钥石迁出战斗屏) |
| **D 扫雷图** | 中下 ~1036px × 548px(原右下面板删除后横向加宽,吸收其宽度) | 顶部 AP 条(44px:左——AP 点阵 + 停手按钮;中——RAP 点阵+数字〔自 C 区迁入,贴弃图刷新按钮,2026-09-26 拍板〕;右——图例按钮 + 弃图刷新按钮〔雷图右上角,2026-09-12 拍板〕);棋盘主体(居中,格 36–45px 见方);toast 槽(上缘内侧) |
> 布局为 B/C/D 三区——关卡进度条不在战斗屏(节点链进度常驻关卡画面,见 Navigation Position;字母不重编沿用 B/C/D)。
@@ -147,7 +147,7 @@
| B | 结算明细回看 | 模态 overlay | 完整流水逐行(现行 9 类行协议;未生效类行聚合计数) | 关闭 | battle_log_view.gd 改造 |
| C | 攻击数据框 | 直角细线数据框 | 攻击值 + 修正来源角标 + 护甲 AC(AC 二轮拍板 2026-09-26 补入——我方 AC 唯一展示面;原「HP/攻击/RAP 显示」——HP 与 RAP 随信息归属拍板迁出本组件) | 只读 | HUDView 拆分 |
| C | 魔法道具槽(已实装:四槽两步交互,详见 [node-reward.md](node-reward.md)) | 图标槽 ×4 | 随身战斗用道具的唯一展示面;库存已随迭代 7 落地(C 区四槽+关卡域库存),清库反馈呈现待批 | 悬停 tooltip(道具语义) | 新建(随魔法道具批,已落地) |
| C | 奖励列表(预留) | 列表/图标行 | 锻造/大奖励/关卡奖励节点获得的属性提升——中循环数据,因改变战斗数学且无其他展示面准入战斗屏;与战斗内状态效果(B 区站桩)分区,防「战斗结束被清」误读 | 只读 | 新建 |
| C | 奇物列表(预留) | 列表/图标行 | 锻造/大奖励/关卡奖励节点获得的属性提升——中循环数据,因改变战斗数学且无其他展示面准入战斗屏;与战斗内状态效果(B 区站桩)分区,防「战斗结束被清」误读 | 只读 | 新建 |
| D | AP 条 | 点阵 + 按钮组 | 本轮 AP 点阵、停手按钮(左)、**RAP 点阵+数字(自 C 区迁入 2026-09-26——RAP 唯一消费口 = 弃图刷新,资源数字贴消费按钮;RAP 清零可见反馈〔行动经济〕载体随迁)**、弃图刷新按钮(右端·雷图右上角;RAP−8 · 本轮剩 N 次——上限 2 次已随行动经济 2026-09-12 修订生效) | 点击提交意图 | HUDView 拆分 |
| D | BoardView | 网格 | 棋盘全部格态 + 小人 + 旗 + 变异纹带 + 奖励身份 icon(已开格;绘制优先级 数字>小人>旗>奖励徽章>变异纹带>底色——徽章不进数字区,样张验收项) | 左/右键意图提交 | ✅ board_view.gd 迁移 |
| D | 悬停预承诺光标 | 光标态 | 移动/挖/旗三语义光标 + 目标格边框高亮 | 自动 | 新建(排雷玩法×6③) |
@@ -204,7 +204,7 @@
│ │ 魔法道具槽(预留) │ │ │ │AP不足·剩0点 │ 12 12 1 ░ 2 ▓▓ ▓▓ │ │
│ │ ◇ ◇ ◇ ◇ │ │ │ └──────────────────┘ 12 █ 1 1 2 ▓▓ ▓▓ │ │
│ ├──────────────────┤ │ │ 1 2 2 🚩 █ 2 1 1 ▓▓ 👫 1 1 ░ │ │
│ │ 奖励列表(预留) │ │ │ ░ 1 ▓▓ 👫 1 1 ░ ▓▓ 1 1 ░ ░ 2 │ │
│ │ 奇物列表(预留) │ │ │ ░ 1 ▓▓ 👫 1 1 ░ ▓▓ 1 1 ░ ░ 2 │ │
│ │ 锻造+2攻 │ │ │ ▓▓ 1 1 ░ ░ 2 ▓▓ │ │
│ │ (空态=隐藏) │ │ │ ( █=可挖域微光 👫=小人) │ │
│ └──────────────────┘ │ └─────────────────────────────────────────────────┘ │
@@ -440,7 +440,7 @@
| 2026-09-23 | 实现注记(棋盘 Node2D 迁移批 Phase A,代码实装同批;上位裁决 ADR-0006):棋盘渲染 Node2D 化(BoardView = Control 壳 + SubViewportContainer + SubViewport + Node2D 世界,信号/click_cell/_cells 契约保持,新增 push_input 端到端输入探针);格尺寸公式锚点不变(set_cell_area = floor((min(宽,高) − 预留 − (N−1)×格间距) / N) 单点可调),布局与交互语义零改动 |
| 2026-09-26 | 实现注记(战斗舞台 Node2D 迁移批 Phase B,代码实装同批;上位裁决 ADR-0006):B 区战斗画面 Node2D 化(BattleStageView = Control 壳 + SubViewportContainer + SubViewport + Node2D 世界,站桩本体 StandeeBody 世界精灵;set_enemies/clear_enemies/on_step_row_fx/gray_all_enemies 等 setter 面签名保持,弹道落点锚点=壳层口径 world_to_shell 单点);状态图标行与悬停 tooltip 保留 Control 载体挂壳层;三区布局尺寸零改动(B 区外框 252px 逐位) |
| 2026-09-26 | **封印紫批**(用户拍板):插旗呈现色 旗朱 #C63D22 → 封印紫 #7C3AA8(色相 ≈267°,避开禁入带)——旗字形/已承诺封印框/旗化暴击弹道随批换色;拒绝边框闪语义归危险红;Boss 节点描边归紫赤本色。修订记录历史行旗朱字样系当时口径留痕不改 |
| 2026-09-26 | **战斗屏信息归属批(用户 2026-09-26 三轮纠偏后拍板;代码实装另批——hero_info_panel_view.gd / hud_presenter.gd 改造 + 探针断言迁移,登记待办)**:立两条信息归属原则并全屏贯行——①循环口径原则(战斗屏只展小循环内被消费、影响当下决策的数据;中/大循环资源不得入侵)②单一展示面原则(同一信息全屏唯一展示面;单位本体已承载的信息数据框不重复;资源数字贴唯一消费口)。随拍板落地:① B 区站桩 = HP 与状态效果唯一展示面——C 区 HP 条/HP 文字/立绘占位/状态效果槽×4 退役(重复展示;证据链 = hud_presenter.gd 同一 s.hero.hp/s.hero_effects 双投喂 B/C 两区);② RAP 读数(点阵+数字)迁 D 区 AP 条、置弃图刷新按钮旁(RAP 唯一消费口 = 弃图刷新——就近原则);③ C 区状态槽悬停 tooltip 职责并入 B 区站桩状态小图标;④ GP(中循环)/钥石(大循环)迁出战斗屏,去向挂 OQ14;⑤ C 区改「攻击数据框 + 魔法道具槽(预留)+ 奖励列表(预留)」——预留区来自魔法道具与关卡内属性提升的既有立项;⑥ 空态/清零反馈/悬停交互/AC/§13 义务表载体同步改写。**批内遗留两项待拍板(OQ13/14)**:护甲 AC 是否补入 C 区数据框;GP/钥石去向 |
| 2026-09-26 | **战斗屏信息归属批(用户 2026-09-26 三轮纠偏后拍板;代码实装另批——hero_info_panel_view.gd / hud_presenter.gd 改造 + 探针断言迁移,登记待办)**:立两条信息归属原则并全屏贯行——①循环口径原则(战斗屏只展小循环内被消费、影响当下决策的数据;中/大循环资源不得入侵)②单一展示面原则(同一信息全屏唯一展示面;单位本体已承载的信息数据框不重复;资源数字贴唯一消费口)。随拍板落地:① B 区站桩 = HP 与状态效果唯一展示面——C 区 HP 条/HP 文字/立绘占位/状态效果槽×4 退役(重复展示;证据链 = hud_presenter.gd 同一 s.hero.hp/s.hero_effects 双投喂 B/C 两区);② RAP 读数(点阵+数字)迁 D 区 AP 条、置弃图刷新按钮旁(RAP 唯一消费口 = 弃图刷新——就近原则);③ C 区状态槽悬停 tooltip 职责并入 B 区站桩状态小图标;④ GP(中循环)/钥石(大循环)迁出战斗屏,去向挂 OQ14;⑤ C 区改「攻击数据框 + 魔法道具槽(预留)+ 奇物列表(预留)」——预留区来自魔法道具与关卡内属性提升的既有立项;⑥ 空态/清零反馈/悬停交互/AC/§13 义务表载体同步改写。**批内遗留两项待拍板(OQ13/14)**:护甲 AC 是否补入 C 区数据框;GP/钥石去向 |
| 2026-09-26 | **信息归属二轮拍板(用户 2026-09-26,OQ13/14 收口)**:① 我方护甲 AC 补入 C 区攻击数据框(唯一展示面——布局表/组件清单/线框图同步);② GP/钥石去向定案:GP = 关卡画面常驻总量 + 战斗结算画面总量+增量,钥石 = 结算画面 + 营地(具体呈现归对应 UX spec 批次);③ 敌方 AC 展示面挂起——用户口径「敌方 AC 无任何展示」与现行代码冲突(standee_view.gd 底库名字行渲染「名字·护甲·AC%d」,系敌人技能池批克制对策可读性义务),证据链已呈报待终裁,本 spec 暂不改敌人站桩行 |
| 2026-09-26 | **敌方 AC 展示终裁收口(用户 2026-09-26 终裁)**:敌方 AC 数值全屏退役(任何区不直接展示)、护甲类型改图标方式展示(形状+色相双通道,终稿图标资产归美术批)、敌人站桩底座下名字行退回纯名字+护甲类型图标;旧「克制对策可读性义务」降级承载——类型保留、数值退役。终裁理由(用户口径):HP 信息已足够,攻防数值不直接写上;护甲类型图标保留克制对策可读性。同步改写:信息归属树敌人站桩行、Component Inventory 敌人站桩立绘行、OQ13。**代码实装说明**:`standee_view.gd` 改造(站桩名字行去 AC 数值 + 护甲类型图标化)由并行代码批执行,本批只做文档同步 |
| 2026-09-27 | **UX 文档欠账处置批(用户四项拍板:player-journey 不建 / accessibility 不另立改指 HUD框架 / node-reward 改挂魔法道具内容重定批 / level-clear 建档 design/gdd/ux/level-clear.md)**:① 删 §Player Context ⚠️ player-journey 未建注记,OQ1 改收口注记;② §Accessibility 头、§Transitions 减动效行、OQ2 改指 HUD框架「可访问性基线」节 + 设置与本地化待设计清单 #1(tools/doc_link_known.txt 欠账行随之清空);③ 导航残留修正——§Navigation Position 图胜利分支、§Entry/Exit 离开表、§Interaction Map 胜利 overlay 行改按现行代码实态(胜利后返回关卡画面选路;节点覆盖层 = 关卡画面域、落地奖励/恢复节点时开出;胜利/失败 overlay 组件锚 battle_end_overlay.gd)——原「胜利 → 节点奖励/恢复覆盖层」系停点前移批前残留;④ OQ3 过期陈述更正(interaction-patterns.md 2026-09-12 已建成)、OQ8 改收口注记。本批只动文档面,代码零改动 |
+1 -1
View File
@@ -91,7 +91,7 @@
**布局决策 3 —— 放弃冒险二次确认(2026-09-27 拍板)**:放弃 = 整局冒险终结,不可逆(pattern 7 破坏性确认)。首击转入确认态(按钮文案变「再点一次确认放弃——不可逆」,危险红边框脉冲约 3 秒,超时回落),二击才提交。代价语义(已获大奖励保留、同失败结算)常驻按钮文案。
**布局决策 4 —— 底部状态栏(2026-09-27 拍板,原提案为顶栏 HP 读数)**:底栏作为状态展示——生命、属性、本关已选加成三项常读;顶栏保持关卡名 + GP 两件。单一展示面注记:与 [battle.md](battle.md) C 区「奖励列表(预留)」为不同屏的不同展示面——两屏循环口径各自独立(选路规划消费 vs 战斗内决策消费),不构成同屏重复。
**布局决策 4 —— 底部状态栏(2026-09-27 拍板,原提案为顶栏 HP 读数)**:底栏作为状态展示——生命、属性、本关已选加成三项常读;顶栏保持关卡名 + GP 两件。单一展示面注记:与 [battle.md](battle.md) C 区「奇物列表(预留)」为不同屏的不同展示面——两屏循环口径各自独立(选路规划消费 vs 战斗内决策消费),不构成同屏重复。
### ASCII Wireframe
+84 -84
View File
@@ -21,7 +21,7 @@ entities:
attributes:
kind: autoload
stream_architecture: **统一流(ADR-0007 裁丙 2026-09-27——用户两轮复裁终选「统一用一个流」并拍「全面执行」,七流并一+全事件日志)**:唯一主种子 + 单盐派生 + 唯一全局取数计数器;历史注记 = 2026-09-12 encounter 增流〔遭遇随机化批〕/ 2026-09-16 armor_roll〔护甲掷点批〕+ behavior_roll〔敌人技能池批〕/ 2026-09-20 variant_place〔地形变异批〕/ 2026-09-21 gp_drop〔GP+商店房批〕——分盐分流架构随并流批整体退役;combat_var 已于 2026-09-07 full 评审删除(玩法随机不预置基础设施)
purpose_tags: [board_gen, reward_roll, encounter, armor_roll, behavior_roll, variant_place, gp_drop, node_map, reward_pick, shop_draw](封闭词表 = 并流前七流名全保留 + node_map〔关卡节点图生成 v0.4〕+ reward_pick〔迭代 10 奖励重构〕+ shop_draw〔迭代 11 第②批 T1——商店货架抽签,每次抽 3 恰一 scope〕;扩签需改代码 + 评审;结算表 armor_roll_stream 字段降格为纯标签)
purpose_tags: [board_gen, reward_roll, encounter, armor_roll, behavior_roll, variant_place, gp_drop, node_map, reward_pick, shop_draw](封闭词表 = 并流前七流名全保留 + node_map〔关卡节点图生成 v0.4〕+ reward_pick〔迭代 10 奇物重构〕+ shop_draw〔迭代 11 第②批 T1——商店货架抽签,每次抽 3 恰一 scope〕;扩签需改代码 + 评审;结算表 armor_roll_stream 字段降格为纯标签)
stream_facade: open_stream(purpose) 取号(purpose 只进事件日志不参与派生;全局计数器 +1 → 单盐派生 → 返回已播种实例 → 落日志);derive_at(scope) 纯函数供测试/预览/日志回放(不推计数器);open_scope 显式位取号门随子流派生向量退役(behavior_roll 逐敌顺序取号替代)
event_log: 冒险会话制全事件落盘——user://logs/rng_log_<主种子>.jsonl,会话行 + 逐次取数行(scope / 用途标签 / 派生种子);写盘失败告警降级不致命;号位全序化后不再单独回答「第 N 次某类事件」(路线依赖为已裁决代价),单点定位由日志承载
new_adventure: 冒险开始重播种入口——调用权 = AdventureRunner.start_adventure 唯一正式调用方(切片单关测试路径 LevelRunner.start_level 除外;冒险结构实现批 2026-09-21——主种子全冒险恰一次注入,冒险内不重置不逐关播种);并流批加重播种同时开日志会话
@@ -90,11 +90,11 @@ entities:
rap_refresh_cost: 8(2026-09-22 随 ap_per_round 6→8 同批随动回拨〔登记漏账补同步 2026-09-24〕,保持"满停一轮 = 恰好一刷基线节拍"耦合;解耦须单独立批)
move_ap_cost: 0(冻结:P4 探索氛围承载,非经济杠杆)
chain_ap_cost: 0(冻结:v2 定稿)
rap_rules: RAP = 停手剩余 AP 1:1 转存(结构,非 knob);战斗域生命周期(battle_over 清零,跨轮跨图保留);来源唯一(停手)、支出唯一(刷新);刷新决策主体 = 玩家发起、挖掘期(Active 相位)当场换图——HUD框架 经组合根/战斗结算 refresh_board 编排调用(2026-09-12 音频 修订:原"结算编排期 Waiting 代理调用"退役);每轮上限 2 次(refresh_cap_per_round 结构位默认 2——HUD框架 提案采纳,RoundStart 重置;原"同一 Waiting 相位多次刷新合法/无结构上限"作废);旧板旗随旧板作废(零兑付、旗 AP 不返还——排雷玩法 EC11 承载);挖掘期当场刷新无结算发生(原"敌方时间税"自惩失效——行动经济 OQ3 阈值联动复核);cleared 轮恒 new_board、stopped/ap_exhausted 轮恒 same_board(战斗结算 回发违约 fail-fast 不变);刷新图不产生清图奖励;无战斗收益——原 ×2/×1 折算与 stop/clear_multiplier 已作废(2026-09-07 用户拍板)
rap_rules: RAP = 停手剩余 AP 1:1 转存(结构,非 knob);战斗域生命周期(battle_over 清零,跨轮跨图保留);来源唯一(停手)、支出唯一(刷新);刷新决策主体 = 玩家发起、挖掘期(Active 相位)当场换图——HUD框架 经组合根/战斗结算 refresh_board 编排调用(2026-09-12 音频 修订:原"结算编排期 Waiting 代理调用"退役);每轮上限 2 次(refresh_cap_per_round 结构位默认 2——HUD框架 提案采纳,RoundStart 重置;原"同一 Waiting 相位多次刷新合法/无结构上限"作废);旧板旗随旧板作废(零兑付、旗 AP 不返还——排雷玩法 EC11 承载);挖掘期当场刷新无结算发生(原"敌方时间税"自惩失效——行动经济 OQ3 阈值联动复核);cleared 轮恒 new_board、stopped/ap_exhausted 轮恒 same_board(战斗结算 回发违约 fail-fast 不变);刷新图不产生清图奇物;无战斗收益——原 ×2/×1 折算与 stop/clear_multiplier 已作废(2026-09-07 用户拍板)
flag_rules: 旗 = 排雷玩法 棋盘状态单态(原口袋旗双态作废);随图存续,清图/刷新消失;标中旗 = 怪物 debuff(三向效果定稿),兑付一次性、资格以雷格实例为键(每雷本次战斗至多兑付一次;放置实例仅为当轮结算载体);旗无移除手段(拔旗退役 2026-09-19——原「拔旗重插不恢复已消费资格」OQ5/F1 条款 2 通道结构性消失,重插被 flag_present 拒绝);挖旗格放行、兑付四情况改判归 战斗结算 v0.18(插旗不可逆批 2026-09-19)
round_end_carrier: 双发射源(2026-09-07 修订)——棋盘路径(ap_exhausted/cleared)由 排雷玩法 外发(systems-index 原裁决不变),停手路径(stopped)由 行动经济 直发;payload 同构 (path_tag, continuation_hint)
arbitration_priority: cleared > stopped > ap_exhausted(同帧/同批次结束路径总仲裁;stop-first 批次腿 deferral 至 排雷玩法 集成测试,义务清单见 systems-index 门禁记录)
downstream_contract: 行动经济 F1 五条款(① 效果当量对照单一线性换算 · ② 标中旗锚严格 > 最低档 + 连锁放大边际基准 + 总吞吐对账 · ③ 挖掘风险不等式 P(安全)×buff > P(雷)×敌方增益,战斗结算 单一闭合 owner · ④ 清图奖励 > 0 且 地图战斗资源 差异化插槽(图类型战斗域恒定) · ⑤ 清图 vs 弃图刷新支配性,战斗结算 闭合强制检查点)——2026-09-07 三轮评审定稿
downstream_contract: 行动经济 F1 五条款(① 效果当量对照单一线性换算 · ② 标中旗锚严格 > 最低档 + 连锁放大边际基准 + 总吞吐对账 · ③ 挖掘风险不等式 P(安全)×buff > P(雷)×敌方增益,战斗结算 单一闭合 owner · ④ 清图奇物 > 0 且 地图战斗资源 差异化插槽(图类型战斗域恒定) · ⑤ 清图 vs 弃图刷新支配性,战斗结算 闭合强制检查点)——2026-09-07 三轮评审定稿
cross_field_validation: 任一动作成本(dig/flag_place;flag_pull 随拔旗退役 2026-09-19 移出)≤ ap_per_round——ActionEconomyTable schema validate() 跨字段类别,违规加载期致命(2026-09-07 三轮评审增补;条件性夹具登记 数据配置 校验双通道)
ap_delta_queue: (**2026-09-20 格面资源八型批新增**)action 型格面资源的下轮行动点修正排队面——queue_ap_delta/pending_ap_delta:结算期 ±power 同轮累加,下一轮开始(notify_round_start)兑现 = 基线 ap_per_round + 排队净值(下限 0、兑现后清零);排队净值不跨轮保留;跨轮携带量口径 = RAP(唯一显式携带资源)+ 一次性修正队列
referenced_by: [棋盘生成, 排雷玩法, 地形变异, 战斗结算, 增益状态, 地图战斗资源, HUD框架, 教学引导]
@@ -155,8 +155,8 @@ entities:
single_enemy_assumption: **回验结果 = 不成立——敌人系统 定多敌(用户 2026-09-09 拍板;同日 敌人系统 GDD 兑现 增益状态 预授权接口漂移条款)**:MVP 战斗 = 1–3 个同敌种敌单位(EnemyTable.unit_count);效果 side-wide 语义改"全体存活敌单位"(层数 = side 共享池,**增益状态 现接口零变更兼容**);target_ref(单体寻址)= 扩展位义务——首个单体效果上线时 增益状态 补列(随批:战斗结算 归集语义/HUD框架 呈现裁决);增益状态 GDD 正文不改,以本条为准(行动经济 OQ5 收编先例)
mechanics: 战斗域统一状态容器(三向效果同构实例)· 单一时限量纲 remaining_settlements(先兑付后衰减,每轮结算 −1,dur=1=一次性;跨轮跨图延续、battle_over 全清不跨战斗)· 按行叠层(stack 授予不触碰 R;refresh 重置取实例授予时快照 D;合并在授予时、结算作用顺序归 战斗结算——两序分离)· 满层授予拒绝原子(false+容器零写)· 合成 = L×m 加算、percent 越域不 clamp(地板/换算归 战斗结算 SettlementTable)· 授予集中在 战斗结算 结算编排(排雷玩法/地图战斗资源 零直接接口)· 零随机(无 RNG 流消费)· 零信号外发(纯被动容器)
api: notify_battle_start / apply_effect(effect_id, source) -> bool / query_active(side) -> Array(插入序;六归因字段+display_name+授予时快照投影)/ decay_round() -> int / notify_battle_end() -> bool——战斗结算 消费契约,provisional 登记
settlement_obligations: 八项(战斗结算 GDD 门禁评审缺项即 blocking)——① 同轮多授予按确定次序调用 ② 事实→授予恰一次转化(增益状态 不去重)③ percent→乘数换算方向与合成值地板成文 ④ 最后一轮 decay 判定 ⑤ F1 条款 1 效果档位对照表以 增益状态 实例为对照实物 ⑥ 每结算编排恰一次 decay_round(2026-09-09 增——decay 基数=1 先决条件)⑦ 结算明细按授予流水逐条标注来源(合并坍缩归因补偿,2026-09-09 增)⑧ “溢出未生效”行进结算明细协议(Rule 5 后半承载,2026-09-09 增)。**履行回执(2026-09-10)**:八项已全数落位 战斗结算 GDD(Core Rules 3/5/8/10/11 + Formulas F0–F2——落位映射 = 战斗结算 AC 覆盖矩阵"上游义务 23 条"行;③的 AP/表界数值随 F0 修订更新为 −520%/−1040%)。**2026-09-20 修订**:⑧ 随伏击单轮上限删除(用户拍板)退役——溢出未生效行类型下线(行协议 10→9 类),满层拒收走奖励未生效行
presentation_obligations: (2026-09-09 登记 systems-index,缺项即 blocking)HUD框架×4——HUD 常显+EC12 空态规格定稿 / effect_id→icon 映射键契约(形状+色相双通道)/ 有利有害极性呈现映射(数据源 = 战斗结算 SettlementTable 效果语义,非 magnitude 符号)/ 全清状态栏去留;战斗表现×2——溢出行呈现 / origin_cell→玩家可读形态(缩略图/格子高亮);教学引导——“同轮拿满优于跨轮叠”教学(OQ7 配套);地图战斗资源——奖励身份预读(创意风险 #1 切面)
settlement_obligations: 八项(战斗结算 GDD 门禁评审缺项即 blocking)——① 同轮多授予按确定次序调用 ② 事实→授予恰一次转化(增益状态 不去重)③ percent→乘数换算方向与合成值地板成文 ④ 最后一轮 decay 判定 ⑤ F1 条款 1 效果档位对照表以 增益状态 实例为对照实物 ⑥ 每结算编排恰一次 decay_round(2026-09-09 增——decay 基数=1 先决条件)⑦ 结算明细按授予流水逐条标注来源(合并坍缩归因补偿,2026-09-09 增)⑧ “溢出未生效”行进结算明细协议(Rule 5 后半承载,2026-09-09 增)。**履行回执(2026-09-10)**:八项已全数落位 战斗结算 GDD(Core Rules 3/5/8/10/11 + Formulas F0–F2——落位映射 = 战斗结算 AC 覆盖矩阵"上游义务 23 条"行;③的 AP/表界数值随 F0 修订更新为 −520%/−1040%)。**2026-09-20 修订**:⑧ 随伏击单轮上限删除(用户拍板)退役——溢出未生效行类型下线(行协议 10→9 类),满层拒收走奇物未生效行
presentation_obligations: (2026-09-09 登记 systems-index,缺项即 blocking)HUD框架×4——HUD 常显+EC12 空态规格定稿 / effect_id→icon 映射键契约(形状+色相双通道)/ 有利有害极性呈现映射(数据源 = 战斗结算 SettlementTable 效果语义,非 magnitude 符号)/ 全清状态栏去留;战斗表现×2——溢出行呈现 / origin_cell→玩家可读形态(缩略图/格子高亮);教学引导——“同轮拿满优于跨轮叠”教学(OQ7 配套);地图战斗资源——奇物身份预读(创意风险 #1 切面)
ownership_note: 行动经济 OQ5“标中旗 debuff 档位归 地图战斗资源 表设计”经用户 2026-09-08 拍板收编——初值定稿权归 增益状态(2026-09-15 起为七行:标错反噬批两行 + 格面资源批 sapped 一行随批收编),锚验收权仍归 地图战斗资源/战斗结算,修订走接口漂移回写本条
dangling_ref_policy: effect_id 悬空校验**已激活**(2026-09-09 地图战斗资源 RewardTable 首个 effect_id 引用行〔defense_up〕回填——dangling_ref_policy"首个引用字段 owner 补"条款兑现;条件性夹具 = 地图战斗资源 reward_dangling_effect〔AC-17〕)
referenced_by: [战斗结算, 地图战斗资源, 敌人系统, HUD框架, 教学引导, 战斗表现]
@@ -195,7 +195,7 @@ entities:
owner: design/gdd/systems/排雷循环/排雷玩法.md
attributes:
rule: O₀ = R₀ = 出生 3×3 ∪ 0 格 flood 闭包(与 棋盘生成 F1 求解器初始态同算子同值——运行期镜像,显式不含外扩 1 环);执行时点 = install_board 事务内一次(板级一次跨轮不重放)
properties: 免费(零 try_spend)· 计入清图进度 · 无奖励(channel=initial、reward_eligible=false——game-concept 定稿;战斗结算×3 强制项:不入奖励库)· 永不触雷(R₀ ∩ M = ∅ 为 排雷玩法 侧定理)· 永不触变异(棋盘生成 排除域 + install 不变式②)
properties: 免费(零 try_spend)· 计入清图进度 · 无奇物(channel=initial、reward_eligible=false——game-concept 定稿;战斗结算×3 强制项:不入奇物库)· 永不触雷(R₀ ∩ M = ∅ 为 排雷玩法 侧定理)· 永不触变异(棋盘生成 排除域 + install 不变式②)
dual_containment_resolution: 双包含两臂在 排雷玩法 定稿下**构造性成立**——臂① R₀ ⊆ 棋盘生成 排除域(子项关系)· 臂② 棋盘生成 求解器初始态 = R₀(**恰等**)⇒ 棋盘生成 回退口径(出生 3×3 最小态)不触发、度量保真零降级(board_gen_table.minesweeper_dual_containment 的兑现回执)
install_invariants: 四条结构不变式 fail-fast(增益状态 无雷 / 增益状态∪R₀ 无变异 / 数字恒真 / **R₀ ≠ S 清图退化板拒绝**——非 棋盘生成 clearable 闸复验,排雷玩法 状态机良构性守卫);诊断类别封闭枚举 {inv1_mine_in_spawn, inv2a_variant_in_spawn, inv2b_variant_in_r0, inv3_digit_invariant, inv4_r0_equals_s}(2026-09-09 评审补)
degenerate_gap: **棋盘生成 修订义务(2026-09-09 登记,systems-index 排雷玩法 门禁块)**——反例 B(8×8 八雷先布后删幸存距离-2 雷 → 最终板全 0 格连通 → R₀=S 开局免费清图)与 N=1 行 100% 退化,证明 棋盘生成 布雷数下限必要不充分、F4 断言 A(inferability=1.0)零拦截:义务 = 棋盘生成 F5 legality 增 R₀≠S(违例 = 尝试作废重试)+ F4 断言严格零覆盖 + Rule 4 排除域基准措辞钉死"以最终产物板计";排雷玩法 侧不变式④为纵深防御
@@ -227,38 +227,38 @@ entities:
开轮摇号: 每轮轮次开始时为每个存活敌摇定本拍动作——排除冷却中技能后按权重份额归一抽签,中签率 = 权重 ÷ 可摇权重合计;随机消费在 战斗结算 换算层 behavior_roll 封闭流(敌人系统 首次定义,2026-09-16 敌人技能池批)
保底: 连续 M 拍执行的都是普通攻击 → 下拍必出特殊技(特殊技内按权重、不受冷却限制)——反旱季闸(敌人系统 首次定义,2026-09-16 敌人技能池批)
技能冷却: 施放后连续 N 拍不可摇中的技能行属性——与增益持续(状态行属性)是两个计时器互不相干(敌人系统 首次定义,2026-09-16 敌人技能池批)
施放行: 增益技的结算明细行型(cast)——0 伤害动作、具名技能、不掷不折(原"不兑付伏击"的读怪奖励语义随 2026-09-20 八型批伏击退役作废);由蓄力行(charge)改型(敌人系统/战斗结算 首次定义,2026-09-16 敌人技能池批)
施放行: 增益技的结算明细行型(cast)——0 伤害动作、具名技能、不掷不折(原"不兑付伏击"的读怪奇物语义随 2026-09-20 八型批伏击退役作废);由蓄力行(charge)改型(敌人系统/战斗结算 首次定义,2026-09-16 敌人技能池批)
伏击池: 【2026-09-20 格面资源八型批退役——本词条留档】敌方侧共享的伏击层数——本轮踩几颗雷就几层,轮末清零(side-wide 语义,敌人系统 首次定义;继任 = alert 警觉 side-wide 状态,由增益状态容器承载)
死亡即不动手: 轮到某敌人行动时它已死 → 这一下不打、招式轮转停格(2026-09-09 用户拍板,敌人系统 首次定义)
封锁格: 初始展开白送的那批已开格——恒无格面资源、不再有任何加成,但计入清图进度(排雷玩法 首次定义;install 期可精确枚举为 R₀——格面资源摇号清单的排除项;取代旧术语"资格格",2026-09-15 格面资源批)
格面资源(CellResource): 关联到格子上的资源对象——装板期摇定九型类型身份(attack/defense/heal/blast/weaken/pierce/magic/action/gp——2026-09-18 伤害道具批五→七、2026-09-20 格面资源八型批七→八、同日 GP+商店房批八→九 +gp),安全格与雷格一视同仁、同池同分布;极性不在资源内,由「动作 × 格型」矩阵在结算期决定正向(奖励)或负向(惩罚)(地图战斗资源 首次定义;取代"安全格奖励"旧名)
批尾: 同一批取号中最后消费的一个号——地图战斗资源 清图奖励身份 = install 批的批尾取号(地图战斗资源 F1 首次定义)
格面资源(CellResource): 关联到格子上的资源对象——装板期摇定九型类型身份(attack/defense/heal/blast/weaken/pierce/magic/action/gp——2026-09-18 伤害道具批五→七、2026-09-20 格面资源八型批七→八、同日 GP+商店房批八→九 +gp),安全格与雷格一视同仁、同池同分布;极性不在资源内,由「动作 × 格型」矩阵在结算期决定正向(奇物)或负向(惩罚)(地图战斗资源 首次定义;取代"安全格奇物"旧名)
批尾: 同一批取号中最后消费的一个号——地图战斗资源 清图奇物身份 = install 批的批尾取号(地图战斗资源 F1 首次定义)
死行: 被当前内容态判定为零消费的表行——加载不致命、不入参考池,复活走 GDD 修订连锁(地图战斗资源 F4 首次定义;历史首例 attack_up〔hero atk=0 时代〕已于 2026-09-11 随"基础攻击恒存在"用户裁决复活,当前内容态暂无在册死行)
预推进: 测试中为到达 scope=σ 而先行丢弃式消费 σ 个 scope 的构造——RngService 全新实例首个 open_stream 恒为 scope 0,derive_at 不推计数器(地图战斗资源 AC 前言首次定义)
完美排雷(perfect_sweep): 板级零误标(flag_judged hit=false=0)∧ ≥1 标中 → 清图奖励当量 ×P_perfect(默认 ×2)——与踩雷正交(盲挖踩雷不破坏、标错才破坏)、全有或全无谓词无部分档、板级计数随 install 重置(战斗结算 Core Rule 13 首次定义)
完美排雷(perfect_sweep): 板级零误标(flag_judged hit=false=0)∧ ≥1 标中 → 清图奇物当量 ×P_perfect(默认 ×2)——与踩雷正交(盲挖踩雷不破坏、标错才破坏)、全有或全无谓词无部分档、板级计数随 install 重置(战斗结算 Core Rule 13 首次定义)
当量: 统一价值单位,1 当量 = 1 点主角 HP 的期望净变化——四源收益单一线性换算的通货(战斗结算 F1 首次定义)
乘区: 伤害公式里相乘的修正段(本作两段:hero 减伤池 × 敌方削弱池——池内加算、clamp [−100,+100]pp、池间乘算、floor 取整)(战斗结算 F2 首次定义)
溢杀: 一刀超出目标剩余 HP 的部分——丢弃、不转移、无负 hp 中间态(战斗结算 F3 首次定义)
免伤轮: 主角该结算承伤为 0 的结算——percent 池地板(−100pp → 乘数 0)的自然结果;现行值链可达路径 = weaken 饱和(敌侧单结算零输出),defense_up 叠满 = 0.4×(−30×2 帽)不再单侧触地板(战斗结算 F2 首次定义;原"defense_up 顶点 −100% 恰在地板边界"例随减伤墙批退役——2026-09-14 增益状态 接口漂移批同步)
图标键(icon key): "哪个数据行配哪枚图标"的固定对照——数据表主键(effect_id/reward_id/cell_type/enemy_id)直接作图标键,一键一专属纹样、映射全局恒定禁运行时换图(art-bible §4.6 首次定义,2026-09-13 冻结)
徽章(badge): 画在格子上的身份附属小图标(类型/奖励身份预读)——绘制优先级栈位在旗之下、变异纹理之上,不构成格内第二焦点(art-bible §4.6 首次定义;栈位声明源 = 极性批 git 提交 ddd2960)
徽章(badge): 画在格子上的身份附属小图标(类型/奇物身份预读)——绘制优先级栈位在旗之下、变异纹理之上,不构成格内第二焦点(art-bible §4.6 首次定义;栈位声明源 = 极性批 git 提交 ddd2960)
极性(polarity): 同一类型兑付的正负方向——正 = 收益侧、负 = 代价侧,行为×格型→符号矩阵见极性提案 R2;视觉通道冻结 = 金族(有利)对红族(有害)+ 满框对缺框(art-bible §4.6 首次冻结视觉侧)
命令式回执驱动: 动作调用返回后组合根立刻重查一次只读面来刷新界面、不等通知信号——旗插拔/移动/AP·RAP 读数/状态/库存五类动作零事件外发或零推送,呈现层刷新由此承载(HUD框架 首次定义;ADR-0001 订阅纪律的配对形态)
程序化占位: 用代码按冻结色板与形状规则直接画出的临时图形——参数取自 art-bible §4.1/§3 参数域、icon 按 §4.6 键位映射表挂槽,终稿美术到位后原位替换、数据层零改动(HUD框架 首次定义;样张未定稿不阻塞呈现层开工的承载形态,占位同样受 §1.4 数字可读性第一验收项约束)
叠加层(overlay): 魔法道具 自持的板级派生信息集(显影/真视/预读三集)——只改"玩家能看见什么"不改棋盘事实,零回写 排雷玩法/地图战斗资源 状态、随图消亡(魔法道具 首次定义)
真视窄域护栏: 替代推理的道具效果(雷位真视)目标域 ≤3×3、全图级仅限恢复推理原料类(显影/预读)——信息层级护栏,防"扫雷退化为路径优化"(魔法道具 Core Rule 3 首次定义,schema 校验强制)
渗透率: aux 道具期望件数占奖励池的份额——E[N_aux/板] = |U|×Σw_aux/W_total(魔法道具 F1 首次定义;供给面天然限流,P1 护栏的量化形态)
渗透率: aux 道具期望件数占奇物池的份额——E[N_aux/板] = |U|×Σw_aux/W_total(魔法道具 F1 首次定义;供给面天然限流,P1 护栏的量化形态)
行动: 轮次内挖掘期的原子决策单位——同一事件的三个视角:玩家决策层叫行动、进 排雷玩法 的数据形态叫意图(单意图帧整批提交)、行动经济 计价类别叫动作(action_kind 统一价目);有价行动(挖/插旗;拔旗随插旗不可逆批 2026-09-19 退役)1 AP/次、受每轮 AP 预算约束(现行表值 8),移动/停手免费不计 AP(game-concept 术语层级 2026-09-14 收录)
封印: 插旗动作的玩家可见呈现名(2026-09-25 用户拍板)——玩家对未开格插旗,即对该格(巢穴)实施「封印」,旗 = 封印印记;机制键与规则(flag_place/flag_rules/标中旗三向效果)全不变,纯呈现层命名;封印特效(施印瞬间 + 印记常显形态)待表现批,现行程序化占位 = 封印黑「旗」字形(旗色史:旗朱 #C63D22 → 封印紫 #7C3AA8 2026-09-26 → **封印黑 #000000 2026-09-28 用户拍板**——紫与微光蓝族色相冲突退役;art-bible §3.2 封印条首次定义)
节点: 关卡节点地图上的一个格——关卡内移动的步进单位;层名定稿(2026-09-14 用户裁决:节点 胜 遭遇——成员中立 + 关卡节点地图 注册名/切片 node_* 接口零改动 + 遭遇既有语义 = 战斗不挪用);类型分类学与图形态已展开定稿(2026-09-17 关卡节点地图 v1.0:四类封闭枚举 {battle, reward, rest, boss} + 分支节点图〔连线只朝前进方向、唯一入口、Boss 恒唯一终点、无回头路〕;节点编号 = 关卡内唯一定位地址,数据键 node_depth 沿用;2026-09-20 GP+商店房批扩五类 +shop 商店房——每关恰 1、Boss 前一位必经位,兑付 = 商店覆盖层开闭,见商店房词条)
商店房: 关卡节点图第五类节点——每关恰 1、关底 Boss 前一位必经位(哈迪斯式"决战前最后一个补给点",必经位由冒烟断言承载、图合法性六检零新增);兑付 = 打开商店覆盖层,用金币(GP)购买三属性 flat 档商品(无刷新无三选一、全陈列),购买即时生效、离开后确认回选路,不携带战斗行(关卡节点地图 首次定义,2026-09-20 GP+商店房批)
金币(GP): 冒险内一次性的属性提升货币——战斗掉落(掷定 + 关级加值 + 战斗内缓冲,完成一次战斗后统一到账)与格面金币袋(低概率惊喜获取)进钱包、商店房消费、冒险结束清零;不入存档、不入冒险摘要;玩家侧显示名「金币」,与跨局持久的钥石记账完全分离、永不互兑(冒险结构 首次定义,2026-09-20 GP+商店房批)
统一冒险加算区: 商店购买与关卡大奖励上限提升共用的同一本属性加账——三轴 {攻击, 生命上限, 护甲等级},入战参数 = 基础表值 + 加算区累加,经战斗开始入参的覆盖值通道生效;购血 = 上限与当前生命同步 +Δ(冒险结构 首次定义,2026-09-20 GP+商店房批)
统一冒险加算区: 商店购买与关卡大奇物上限提升共用的同一本属性加账——三轴 {攻击, 生命上限, 护甲等级},入战参数 = 基础表值 + 加算区累加,经战斗开始入参的覆盖值通道生效;购血 = 上限与当前生命同步 +Δ(冒险结构 首次定义,2026-09-20 GP+商店房批)
遭遇: 一次完整战斗事件的同义词——战斗节点触发的那一场仗(既有用法:战斗结算"两场遭遇" / HUD框架"双敌种遭遇""Boss 遭遇变体");不作地图层名(2026-09-14 裁决)
节点奖励: 奖励点节点给的奖励(关卡节点地图 域)——与安全格奖励(地图战斗资源,格内开出)区分;现行(2026-09-29 迭代 7 拍板②丙):奖励节点 = **三选一构筑点**——从可用道具池(aux 活行 ∩ 工坊解锁集)取一件入关卡域库存,选择前不给出口、池空直通合法空态;spec = design/gdd/ux/node-reward.md v1.0;旧「功能道具的正式渠道」拍板(2026-09-17 关卡节点地图 v1.0)已被现行口径取代;**形态沿革(2026-09-30 用户裁决甲)**:现行局内投放系切片期过渡形态,终局 = 魔法道具局外同调件(底稿 design/research/proposal-magic-item-attunement-2026-09-22.md 八拍板),本渠道随同调实施批退役改写——三个"reward"各归各位(2026-09-14 拆名注记)
HP 账本: 冒险域主角血量的唯一记录——冒险结构 持有,每战开始交出、战斗结束收回、恢复点与大奖励入账;关卡切换血条不清零(冒险结构 首次定义;跨战斗 HP 持久性归 关卡节点地图/冒险结构 已锁事实的 冒险结构 半边兑现)
节点奇物: 奇物点节点给的奇物(关卡节点地图 域)——与安全格奇物(地图战斗资源,格内开出)区分;现行(2026-09-29 迭代 7 拍板②丙):奖励节点 = **三选一构筑点**——从可用道具池(aux 活行 ∩ 工坊解锁集)取一件入关卡域库存,选择前不给出口、池空直通合法空态;spec = design/gdd/ux/node-reward.md v1.0;旧「功能道具的正式渠道」拍板(2026-09-17 关卡节点地图 v1.0)已被现行口径取代;**形态沿革(2026-09-30 用户裁决甲)**:现行局内投放系切片期过渡形态,终局 = 魔法道具局外同调件(底稿 design/research/proposal-magic-item-attunement-2026-09-22.md 八拍板),本渠道随同调实施批退役改写——三个"reward"各归各位(2026-09-14 拆名注记)
HP 账本: 冒险域主角血量的唯一记录——冒险结构 持有,每战开始交出、战斗结束收回、恢复点与大奇物入账;关卡切换血条不清零(冒险结构 首次定义;跨战斗 HP 持久性归 关卡节点地图/冒险结构 已锁事实的 冒险结构 半边兑现)
关卡收束点: 一关就此定局的时点——Boss 节点战斗胜利(通关)或英雄死亡(失败);关卡节点地图 在收束点先调 战斗结算 关卡清库、再向 冒险结构 宣布关卡结束与结果(冒险结构 首次定义;切片 level_runner 先例转正;2026-09-17 关卡节点地图 v1.0 图版措辞——Boss 节点 = 图唯一终点)
关卡大奖励: 清完一关、进入下一关前的一次性兑付——上限提升 + 血回满 + 钥石入账三件构成,不进背包不占库存域;末关通关不兑付(冒险结构 首次定义;2026-09-17 代币→钥石统一拍板——原「代币记账」即钥石,同一资源两渠道:关卡大奖励入账与 Boss 掉落;game-concept"冒险内大奖励"的落地形态)
关卡大奇物: 清完一关、进入下一关前的一次性兑付——上限提升 + 血回满 + 钥石入账三件构成,不进背包不占库存域;末关通关不兑付(冒险结构 首次定义;2026-09-17 代币→钥石统一拍板——原「代币记账」即钥石,同一资源两渠道:关卡大奇物入账与 Boss 掉落;game-concept"冒险内大奇物"的落地形态)
永久强化: 跨局成长资源的本作落地名——伴随存档生命周期、可用钥石在营地柜台换取的成长条目集合(元进度定稿批 2026-09-18 用户拍板定名;「元进度 / Meta Progression」保留为系统族名,「营地」为存档内消费枢纽的界面壳非机制实体;「天赋树」同日退役——本作无树形结构,柜台条目为线性清单无分叉无前置;首次定义 元进度 v1.0)
referenced_by: [排雷玩法, 敌人系统, 地图战斗资源, 战斗结算, HUD框架, 魔法道具, art-bible, game-concept, 关卡节点地图, 冒险结构, 关卡节点图生成]
@@ -278,7 +278,7 @@ entities:
hp: int [1,999](knob——难度修饰前基线;MVP 18 provisional 出处待查)
atk: int [0,999](knob——attack 行为伤害基值;MVP 4 provisional 出处待查;0 合法不拒——2026-09-20 八型批去"纯伏击伤敌种"旧注)
pool: Array of {skill_id, weight}(**2026-09-16 敌人技能池批——池模板**,定义层;weight ∈ (0,9999] knob、池内 skill_id 不重复;每池恰一行普通攻击 + 增益技 ≤1 + skill_id 悬空致命〔加载校验在 config_db.validate_skill_pool_links 跨表通道〕;实例池〔快照+冷却状态〕在 单位容器 spawn——三敌种建议池构成与权重不列于本 registry,读 data/tables/enemy.tres(provisional 归 难度曲线与Boss;EV 锚与含闸长期速率实测读数随验收批另测登记〔2026-09-18 指路化收口〕))。**历史(2026-09-16 退役)**:heavy_multiplier int [1,16](重击倍率归技能行 damage_mult)与 pattern StringList(行为环环数组)两字段随行为环整体退役——固定出招剧本废除
rowset_rule: 每行集恰一敌种(行集内 enemy_id 唯一 = 表结构校验,违规加载期致命)——同层多遭遇已由节点编号消解(2026-09-17 关卡节点地图 v1.0:node_depth 语义 = 关卡内唯一节点编号,同层不同节点各查各行、键结构零改动);同场多敌种(同一编号行集多行)行集校验放开归 敌人表行集多行批(混编伏击上限取值口径随 2026-09-20 上限删除消解)(战斗侧,排技能池实施批落地后;06-待办清单 敌人系统节同名条目单点登记);精英/Boss 不设编码位——Boss = 最大编号节点(图唯一终点)、精英 P2 内容承载(强敌行集)。**精英怪设定登记(迭代 10 奖励重构批 P-D——实装随怪物批)**:与其他普通小怪同一立绘 + 附加特征标记 + 数值更强;视觉特征三件 = 名称前后缀(「精英·熊地精」式——沿用既有译名不换词根)+ 精英底座光环(程序化零立绘改动)+ 精英描边变色(色板合规与样张闸义务随实装批);掉落挂点 = 钥石 1 个(meta.tres boss_keystone 精英行随实装批落)
rowset_rule: 每行集恰一敌种(行集内 enemy_id 唯一 = 表结构校验,违规加载期致命)——同层多遭遇已由节点编号消解(2026-09-17 关卡节点地图 v1.0:node_depth 语义 = 关卡内唯一节点编号,同层不同节点各查各行、键结构零改动);同场多敌种(同一编号行集多行)行集校验放开归 敌人表行集多行批(混编伏击上限取值口径随 2026-09-20 上限删除消解)(战斗侧,排技能池实施批落地后;06-待办清单 敌人系统节同名条目单点登记);精英/Boss 不设编码位——Boss = 最大编号节点(图唯一终点)、精英 P2 内容承载(强敌行集)。**精英怪设定登记(迭代 10 奇物重构批 P-D——实装随怪物批)**:与其他普通小怪同一立绘 + 附加特征标记 + 数值更强;视觉特征三件 = 名称前后缀(「精英·熊地精」式——沿用既有译名不换词根)+ 精英底座光环(程序化零立绘改动)+ 精英描边变色(色板合规与样张闸义务随实装批);掉落挂点 = 钥石 1 个(meta.tres boss_keystone 精英行随实装批落)
mvp_content: **八敌种(2026-09-14 难度曲线与Boss 修订批转正 goblin / bugbear / ogre_chief 三敌种〔DND 更名批用户指令:grub→goblin / ambusher→bugbear / boss_guardian→ogre_chief〕;2026-09-17 分支节点图批新增 giant_spider / drider,本条 2026-09-18 补收编;2026-09-20 第三关内容批新增 duergar / hook_horror / duergar_king,本条随批补收编;敌人系统 物种集断言随批更新为 {goblin, bugbear, ogre_chief, giant_spider, drider, duergar, hook_horror, duergar_king})**:goblin(地精,armor=light)/ bugbear(熊地精,armor=ward)/ ogre_chief(食人魔酋长,armor=heavy)/ giant_spider(巨蜘蛛)/ drider(蛛化卓尔精灵,Boss = 最大编号节点图唯一终点)/ duergar(灰矮人,单体重甲中坚——重甲首次登台,armor=heavy)/ hook_horror(钩爪恐魔,群行捕食者,armor=light)/ duergar_king(灰矮人石君王,L3 Boss,重甲收束「轻甲→魔法甲→重甲」教学梯度)。技能池构成与权重、armor_type 行映射**不列于本 registry**——〔**2026-09-28 M-3 迭代 5 T4 AC 投值批→2026-09-29 返工批 U2 裁 v1 重投**:初版 Boss-only(杂鱼全 0·Boss 8/9/12)被 U2 推翻——终版 **v1 硬梯度**=杂鱼按 T4 报告 §一 软梯度恢复(0~5 带内)+重击手 8/重装手 9(逐行手设值,非精英编码位——解读 A 追认)+Boss 台阶 8/10/12;v1 中间态未入 git,杂鱼行按报告表值代拟恢复(台账 247);演化链与三版读数见 git 提交 8ffc555,裁断全录 git 提交 f9c1a8a;冒烟带宽断言随新形态更新(杂鱼 0~5·重击手/重装手 8~9·Boss 8~12 台阶)〕读 data/tables/enemy.tres(L3 行值语义:duergar 关间台阶 ≈L2 单体 ×1.5 落 [1.3,1.6] 域、hook_horror 复用 bite 共享技能行、两敌种首遇位〔节点 0/1〕固定数量不加骰、Boss 血 75 = Σ普通战生命期望 91 × r_boss≈0.82 provisional 锚;行值全 provisional 归 难度曲线与Boss)。**2026-09-17 数值压缩批·文档同步——hp/atk 等数值列改指路存根**:L1/L2 节点编号行集(D0–D8)共 12 行的 hp · atk · atk_min · atk_max · unit_count · unit_count_max · advantage_per_round_cap · armor_class 等现行值**不列于本 registry**——读 `data/tables/enemy.tres`(数值压缩批注释登记:`L1 D0 24/7 → 8/2`、`L1 D1 13/5 → 4/2`、`L1 D2 40/9 → 13/3`、`L1 D3 18/6 → 6/2`、`L1 D4 150/9 → 50/3` Boss、`L2 D0 30/7 → 10/2`、`L2 D1 15/5 → 5/2`、`L2 D4 14/5 → 5/2`、`L2 D5 38/8 → 13/3`、`L2 D6 12/4 → 4/1`、`L2 D7 13/5 → 4/2`、`L2 D8 175/8 → 58/3` drider);armor_type / armor_class / unit_count 区间 / 技能池权重 / advantage_per_round_cap 不压缩(相对轴与概率轴)。**2026-09-16 敌人技能池批**:行为环拍序列([attack] 单拍环 / [attack,charge,heavy] 三拍环 / [attack,attack,charge,heavy] 四拍环)与 heavy_multiplier=2 退役,改池模板 + 技能表共享技能行(重击倍率 2 = 技能行 damage_mult);出处 = 切片 enemy.tres(技能池批改型),曲线数值与池权重归 难度曲线与Boss
load_bearing_rules: 多敌模型(1–3 同敌种单位,增益状态 单敌假设回验不成立——见 status_effect.single_enemy_assumption)· 行为环确定性轮转(零随机;先作用后推进;死亡即不动手——轮到前被杀本拍不打指针冻结;同步轮转定理)· 效果 side-wide(原伏击池 = side 共享、增益状态 零接口变更——伏击池随 2026-09-20 八型批退役,side-wide 承载改由增益状态 alert 行承接)· 行值快照抗热重载(增益状态 EC9 同款——池模板同在快照范围,实例池冷却全零起步)· **技能池摇号出招(2026-09-16 敌人技能池批改写——原"行为环确定性轮转/同步轮转定理"退役)**:每拍做什么 = 实例池权重摇号〔开轮时点,随机消费在 战斗结算 换算层 behavior_roll 封闭流;本系统语义零随机不变、单位容器收确定值〕;两道闸 = 全技能各自冷却 + 保底 M;死亡即不动手(摇定后兑现前死亡 → 本拍作废不进账);拍结构保留(每结算每存活敌恰行动一次/行序/先作用后推进)· 零随机零 UI 零事件订阅(排雷玩法 事件面不含 敌人系统——事实经 战斗结算 转化)
settlement_obligations: 六项(敌人系统 GDD 门禁评审缺项即 blocking)——① 行动每结算恰一次(敌单位专属——主角无环)+ 结算内调用序成文 按摇定技能行兑现→apply_damage→commit_action〔2026-09-16 技能池批改型——原 query_attack→apply_damage→advance 随行为环退役〕 ② 雷→伏击恰一次转化 ③ clamp/负值/溢杀与死亡判定时机成文 ④ F1 条款 3 闭合对账(cap 表值 + 量纲 + 棋盘生成 actuals p10 非 target 参数)⑤ 默认目标消费与单体/AOE 分流 ⑥ 伏击 cap 溢出"溢出未生效"明细行协议。**履行回执(2026-09-10)**:六项已全数落位 战斗结算 GDD(Core Rules 5/6/9/10/12 + Formulas F3/F4——落位映射 = 战斗结算 AC 覆盖矩阵)。**2026-09-20 修订**:④⑥ 随伏击单轮上限删除(用户拍板)退役——对账面去 cap 表值、溢出行协议作废;八型批再修订(2026-09-20 格面资源八型批):② 雷→伏击恰一次转化改 雷→警觉恰一次转化
@@ -297,7 +297,7 @@ entities:
armor_class: int [0,999](**2026-09-15 护甲等级批新增,2026-09-16 掷点批定稿落地**——主角作为防守方的护甲等级,敌方攻击拍 / 重击拍基线的掷点折扣判定读数;掷点结算归 settlement_table.ac_roll〔战斗结算〕,与 armor_type〔克制属性轴〕两概念不得混用;现行值读 data/tables/hero.tres〔暂定,调参归 难度曲线与Boss〕)
armor_type: enum {light, ward, heavy}(**2026-09-18 营地扩展前置批新增**——主角护甲类型轴可配置可修改,缺省 light 向后兼容;消费面 = 战斗结算甲效矩阵〔敌方攻击现行不查矩阵——轴休眠是结构性的非数值性的〔2026-09-18 甲效矩阵调参批归因改述,原「恒 normal 档故中性」依赖普通行恒 100 已退役〕,轴生效待敌方技能攻击类型批〕;现行值读 data/tables/hero.tres)
attack_type: enum {normal, pierce, magic}(**2026-09-18 营地扩展前置批新增**——主角基础攻击量〔atk 量轴〕与攻击类型抽象分离的承载字段:营地永久强化"换成魔法/穿刺攻击" = 改此字段,量轴零改动;消费面 = 战斗结算·战斗段基础分量查甲效矩阵〔原硬编码 normal 退役〕;现行值读 data/tables/hero.tres)
rule4_exemption: 单行全局定义表(主角不随关卡自动成长——成长=天赋 元进度/奖励侧;ActionEconomyTable 先例)
rule4_exemption: 单行全局定义表(主角不随关卡自动成长——成长=天赋 元进度/奇物侧;ActionEconomyTable 先例)
hp_persistence: 跨战斗 HP 持久性归 关卡节点地图/冒险结构(provisional)——敌人系统 单位接口以初始 hp 入参,不定义冒险内持久性
referenced_by: [战斗结算, 地图战斗资源, 难度曲线与Boss]
@@ -336,21 +336,21 @@ entities:
weight: int [0, 999](knob)——正向行 = 类型频次;0 = 该型不出(合法极端,取号前剔除);负向行不消费
pool_tag: enum {cell, clear_default}(cell = 格面资源单一池——安全格与雷格一视同仁同池同分布;clear_<biome> 命名空间预留、校验拒绝——棋盘生成 elite_ 同款) # 2026-09-15 safe_cell→cell 更名 + active_inject 删除
tier: int [1, 8](knob)——强度档位序数(与当量零耦合)
cross_field_validation: 加载期致命族——池空(cell 池 ≥1 正向行 weight>0)· 九型正向行齐备 · 九型负向行齐备(字典完整性——缺任一极性行致命——2026-09-20 八型批、同日 GP+商店房批随九型同步)· 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)· **极性不在资源内**——「动作 × 格型」矩阵(开安全格/标中雷 = 正向、开雷格/标错安全格 = 负向、插旗安全格直挖 = 零兑付〔四情况④〕;撤旗动作随插旗不可逆批 2026-09-19 退役)字典定义归 地图战斗资源、路由执行归 战斗结算 授予段(结算队列 + 轮末在场旗判定基线——被挖开的旗不入基线)· 授予期零随机(身份恒定跨轮;换图映射消亡)· 负向恒即时(不入库、无库存语义——库存已随可选类删除下线)· 满层零兑付 = 合法例外 + "奖励未生效"行 · 重复受理幂等(同格重复 grant / 同批次重复 grant_clear → 同一快照/身份 + 诊断;受理/兑付恰一次归 战斗结算×②③)
cross_field_validation: 加载期致命族——池空(cell 池 ≥1 正向行 weight>0)· 九型正向行齐备 · 九型负向行齐备(字典完整性——缺任一极性行致命——2026-09-20 八型批、同日 GP+商店房批随九型同步)· 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)· **极性不在资源内**——「动作 × 格型」矩阵(开安全格/标中雷 = 正向、开雷格/标错安全格 = 负向、插旗安全格直挖 = 零兑付〔四情况④〕;撤旗动作随插旗不可逆批 2026-09-19 退役)字典定义归 地图战斗资源、路由执行归 战斗结算 授予段(结算队列 + 轮末在场旗判定基线——被挖开的旗不入基线)· 授予期零随机(身份恒定跨轮;换图映射消亡)· 负向恒即时(不入库、无库存语义——库存已随可选类删除下线)· 满层零兑付 = 合法例外 + "奇物未生效"行 · 重复受理幂等(同格重复 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 格面资源批十行;2026-09-18 伤害道具批增补四行;2026-09-20 格面资源八型批 ambush_double→enemy_alert 换装 + ap_up/ap_drain 两行新增;同日 GP+商店房批 +gp_gain/gp_loss 两行)——格面池正向九行(attack_up / ac_up〔2026-09-16 护甲等级掷点批换装,原 defense_up 减伤 −30% 退役;cell_type defense/权重/档位零改动〕/ spark_aoe / heal_minor / weaken / pierce_strike / magic_bolt〔attack_type 字段载攻击类型轴,查战斗结算克制矩阵、单目标必中全额〕/ ap_up action〔下轮行动点 +1——2026-09-20 八型批新增〕/ gp_gain gp 金币袋〔战斗内 GP 缓冲 +power,兑付编排归 战斗结算、钱包账本归 冒险结构——GP+商店房批新增〕)+ 负向九行纯字典(enrage / off_guard / heal_backlash 直伤〔不经增益状态〕/ enemy_alert blast〔effect_id=alert,敌方护甲等级 +1——2026-09-20 八型批 ambush_double 退役换装〕/ ap_drain action〔下轮行动点 −1〕/ sapped / pierce_snare / magic_recoil〔均主角直伤,不经增益状态〕/ gp_loss gp 破财〔战斗内 GP 缓冲 −power——GP+商店房批新增〕)+ clear_blast(clear_default);类型频次 = 正向行权重合计;tier_min_buff = 2。**2026-09-17 数值压缩批·文档同步——具体数值列(power/weight/power_min/power_max)改指路存根**:现行行值读 `data/tables/reward.tres`(压缩后锚行:spark_aoe power=1 / heal_minor power=[1,1] 定值(原 [2,6] 区间压缩)/ heal_backlash power=1 / clear_blast power_min=8 power_max=18 power=13 中点 / ambush_double stacks=2;类型频次合计 79→67〔heal 权重 15→3〕;2026-09-20 八型批后 67→74——attack 14 / defense 11 / blast 16 / heal 2 / weaken 8 / pierce 8 / magic 8 / 清障炸药 1 / action 6;同日 GP+商店房批九型后 74→76——+gp_gain weight 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 由五项收拢(库存常读条/道具窗口随可选类删除失义)
high_glow_nodes: H1 开格拾取瞬间 / H2 清图奖励兑付(奖励侧常规节拍登记;**风险 #2 排雷侧"完美排雷爆发结算"机制本体归 战斗结算 强制检查点、#3 标中旗节拍补偿归 战斗结算——地图战斗资源 只交付插槽与明细行数据面**;呈现义务 HUD框架×③) # 2026-09-15 H3 道具抢杀窗口随可选类删除失义
settlement_obligations: 四项(战斗结算 GDD 门禁评审缺项即 blocking,清单全文见 地图战斗资源 GDD Dependencies)——① 结算段序骨架(授予→增益/减益→战斗→衰减→判定)② 极性路由受理 + 每格恰一次 + 满层零兑付"奇物未生效"行(含聚合计数字段)③ clear_reward 授予路径(增益状态 OQ4 关闭条件)④ 生命周期编排(battle_over retire 映射消亡)+ roll_board 恰一次 # 2026-09-15 由六项收拢(窗口/道具段与库存编排随可选类删除失义)
hud_obligations: 三项(缺项即 blocking)——① 已开格资源身份恒定可读(挖掘期规划面)+ 未开格类型可查面的呈现深度(预读边界待办)② 结算明细行(效果行/"奇物未生效"〔聚合计数〕/标旗未中行/直伤行)③ H2 清图奇物行强调呈现 # 2026-09-15 由五项收拢(库存常读条/道具窗口随可选类删除失义)
high_glow_nodes: H1 开格拾取瞬间 / H2 清图奇物兑付(奇物侧常规节拍登记;**风险 #2 排雷侧"完美排雷爆发结算"机制本体归 战斗结算 强制检查点、#3 标中旗节拍补偿归 战斗结算——地图战斗资源 只交付插槽与明细行数据面**;呈现义务 HUD框架×③) # 2026-09-15 H3 道具抢杀窗口随可选类删除失义
referenced_by: [战斗结算, HUD框架, 难度曲线与Boss, 魔法道具, 战斗表现, 教学引导]
- name: reward_config
type: schema_data
owner: design/gdd/systems/战斗循环/地图战斗资源.md
attributes:
table: "**已删除(2026-09-15 格面资源批)**——RewardConfigTable 随可选类道具整体删除下线:k_dmg / active_p0 / active_decay / n_draft / p_min 全部供给控制器与按板保底参数失义;清图奖励配置并入 RewardTable clear_default 槽;切片 reward_config.tres 随代码修改批删除(历史字段定义见底部修订记录)"
table: "**已删除(2026-09-15 格面资源批)**——RewardConfigTable 随可选类道具整体删除下线:k_dmg / active_p0 / active_decay / n_draft / p_min 全部供给控制器与按板保底参数失义;清图奇物配置并入 RewardTable clear_default 槽;切片 reward_config.tres 随代码修改批删除(历史字段定义见底部修订记录)"
referenced_by: [地图战斗资源, 难度曲线与Boss, 战斗结算]
- name: settlement_table
@@ -360,7 +360,7 @@ entities:
table: SettlementTable(数据配置 承载,单行全局;战斗结算 回填 owner,2026-09-10 定稿回填;Rule 4 豁免——单行全局常量/结构表,HeroTable/ActionEconomyTable 先例)
fields:
equivalence_ref_damage: int [1,999](knob,现行值读 data/tables/settlement.tres——当量参考敞口 D_ref,F1 通货;变更触发全对照表 + 条款③⑤对账重跑,禁独立调参)
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〕)
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|enemy_defense|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 阈值轴效果、不入任何池;**2026-09-16 敌人技能池批:增 empower → enemy_output · fortify → enemy_defense**〔敌方防御池新词汇——硬化载体,消费面 = 主角攻击合计后 ×(100+clamp(enemy_defense))/100,四池对称:敌打主角 = hero_defense × enemy_output、主角打敌 = hero_offense × enemy_defense;切片现状注记:hero_offense 现行走普通分量 attack_up 直乘、未并入合计乘区,正式化归 ADR 批〕;**2026-09-18 结构修复批:删 off_guard → hero_defense 键**〔off_guard 换装 AC 轴不入池——hero_defense 池清空、池结构保留;hero_offense 乘区接线同步落地:主角攻击合计后 ×(100+clamp(hero_offense))/100 ×(100+clamp(enemy_defense))/100 两池串乘,attack_up 普通分量直乘旁路退役——上方"切片现状注记"销项〕)
@@ -368,10 +368,10 @@ 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〔**2026-09-20 伤害下限全来源批(用户拍板)**:语义扩为任何来源的伤害落地——攻击双方/棋盘克制直伤/爆裂/地形变异/负向反噬全部收进闸内,伤害取值域 [1, +∞) 不设上限;全局 max(1,·)——零值伤害行语义退役,重档折扣行文本记"被压制"〕;吃掷点分量 = 主角先手攻击普通分量 / 敌方技能基础伤害分量〔= 攻击基线 × 技能伤害倍率——2026-09-16 敌人技能池批改述,原"敌方攻击拍与重击拍基线伤害"退役;无伤害分量的增益技不掷不折〕,棋盘来源伤害〔爆裂 / 清障炸药 / 奖励即时——2026-09-19 充能退役后无充能分量;伏击附加项随 2026-09-20 八型批伏击退役移除〕必中全额不掷;回合内随机、消费 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 充能退役后无充能分量;伏击附加项随 2026-09-20 八型批伏击退役移除〕必中全额不掷;回合内随机、消费 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 伤害施放、具名技能、不掷不折——原"不兑伏击"语义随 2026-09-20 八型批伏击退役改述〕)· 衰减恒执行含末轮 · 高光双落载体(perfect_sweep P_perfect——2026-09-10 修订为真实双份兑付载体 / 标中旗 highlight 标记)· 流水行协议字段分层(公共 7 字段 + 行类型特有 target/effect_id/pool_value/聚合计数——2026-09-10 评审批修订;行类型封闭枚举 9 类(2026-09-20 伏击上限删除批下线溢出未生效行 overflow)——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 查表(奖励直伤道具消费方保留)
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 伤害施放、具名技能、不掷不折——原"不兑伏击"语义随 2026-09-20 八型批伏击退役改述〕)· 衰减恒执行含末轮 · 高光双落载体(perfect_sweep P_perfect——2026-09-10 修订为真实双份兑付载体 / 标中旗 highlight 标记)· 流水行协议字段分层(公共 7 字段 + 行类型特有 target/effect_id/pool_value/聚合计数——2026-09-10 评审批修订;行类型封闭枚举 9 类(2026-09-20 伏击上限删除批下线溢出未生效行 overflow)——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 查表(奇物直伤道具消费方保留)
closure_receipt: 行动经济 F1 条款①②③⑤闭合 owner = 战斗结算(2026-09-10 F0–F5 首版验算完成——F0 瞬时当量口径 + m_w 值域裁决见 status_effect.anchor_warning;条款③ clause3_supply 闭合回执;条款⑤ clause5_dominance 条目;actuals p10 交付后强制重跑)
referenced_by: [HUD框架, 战斗表现, 音频, 教学引导, 难度曲线与Boss]
@@ -400,7 +400,7 @@ entities:
referenced_by: [难度曲线与Boss, 地图战斗资源, 棋盘生成]
# 占位表中的原型参考值(伏击 +3、清图 +10、敌 18HP/4ATK 等)为 provisional,
# 不登记为事实——待各 owner GDD(地形变异/增益状态/奖励道具经济/战斗结算/难度曲线与Boss)定稿后由其登记。
# 不登记为事实——待各 owner GDD(地形变异/增益状态/奇物道具经济/战斗结算/难度曲线与Boss)定稿后由其登记。
# (AP 等七字段已于 2026-09-07 由 行动经济 三次回填登记为 action_economy 条目;旗上限与折算乘数同日作废删除。)
# 修订记录:2026-09-07 full 评审(design-review)——删除 combat_var 流、去重键改四元组、
# 快照契约补计数器、R2 增实现级规约与 reward_roll 向量(owner=数据配置 代用户修订);
@@ -419,15 +419,15 @@ entities:
# 条款 5"消解"→三腿入账两态验算)· variant_pool_gate 增 board_biome 域校验归属与 15 项验收门禁登记——
# 详见 design/archive/gdd-2026-09-14/reviews/a4-terrain-variation-review-log.md 阻塞→修复对照表。
# 2026-09-08 地形变异 re-review 修订(owner=地形变异,NEEDS REVISION #2 6 阻塞同日核销):
# variation_table 增 cross_field_validation(hide_numbers⇒safe_nonzero 致命)与 pricing_constraints(奖励道具经济 三
# 硬约束)· counter_item_ids 修正为非 knob · mvp_content 的 knob 活值标注 · referenced_by 补 战斗结算/奖励道具经济 ·
# variation_table 增 cross_field_validation(hide_numbers⇒safe_nonzero 致命)与 pricing_constraints(奇物道具经济 三
# 硬约束)· counter_item_ids 修正为非 knob · mvp_content 的 knob 活值标注 · referenced_by 补 战斗结算/奇物道具经济 ·
# fog_ap_note 预算不等式改增量构成("轮数上限"作废)· 厚度≤2 钉死窗口谓词度量。
# 2026-09-09 增益状态 full 评审修订(owner=增益状态,NEEDS REVISION 7 blocking 同日核销):
# status_effect 条目 fields/mvp_content 改逐字段 YAML 键(AC-18 机器对账前提,action_economy 同构)·
# settlement_obligations 5→8(⑥ decay 恰一次 ⑦ per-grant 来源标注 ⑧ 溢出行)· 增 single_enemy_assumption 与
# presentation_obligations(HUD框架×4/战斗表现×2/教学引导/奖励道具经济)· anchor_warning 增修复空间不对称(总暴露读法被 schema 域禁止)。
# presentation_obligations(HUD框架×4/战斗表现×2/教学引导/奇物道具经济)· anchor_warning 增修复空间不对称(总暴露读法被 schema 域禁止)。
# 2026-09-09 棋盘生成 full 评审修订(owner=棋盘生成,MAJOR REVISION NEEDED 8 blocking 同日修订):
# board_gen_table 条目同步 战斗结算/增益状态/奖励道具经济/B6/B7/B8/R2/R3/R4/R9——inferability_target 域 [0.85,1](P1 绝对锚)·
# board_gen_table 条目同步 战斗结算/增益状态/奇物道具经济/B6/B7/B8/R2/R3/R4/R9——inferability_target 域 [0.85,1](P1 绝对锚)·
# fog_target_ratio ≤ min(8d,0.25) 绝对上限 · 布雷数下限 round(d×(W×H−9))≥1 · F2c 成本谓词(att×W×H≤16384
# provisional,禁墙钟逃生)· 达标两项判据(inferability_core = 剔除雾格后的可推理率)· 布雷钉死(先定数后落位/先布后删)·
# 断言 B 收紧达成区占比(地形变异⑭ 两件套)· σ 打包 2^20·L+2^12·D 防碰撞 · 指标集六→八项 · 第三轴登记约定
@@ -447,23 +447,23 @@ entities:
# 概念原型"每次结算的基础伤害")——"机制开关 MVP=0"与"当前内容态无胜利路径"声明作废;attack_up 复活(消费面 =
# 主角战斗段先手攻击,战斗结算 GDD 同批增补 + source_label_map 增 hero_attack 键);锚参照回迁 attack_up 当量(status_effect.
# anchor_warning / clause3_supply.direction_precheck 两处迁移注记退役为历史);settlement_obligations 履行回执 2026-09-10 不变;
# 变更 owner = 敌人系统/奖励道具经济/战斗结算 GDD 2026-09-11 同批修订。
# 变更 owner = 敌人系统/奇物道具经济/战斗结算 GDD 2026-09-11 同批修订。
#
# 2026-09-11 用户裁决批(两级奖励 + 关内延续):RewardTable category 扩为五值两类交付轴(即时 75% / 可选 25%)·
# 2026-09-11 用户裁决批(两级奇物 + 关内延续):RewardTable category 扩为五值两类交付轴(即时 75% / 可选 25%)·
# 默认根重登记为八行(attack_up_basic 复活入池 / spark_aoe / heal_minor 新增;heal_pack 稀缺化 w6 p12)·
# status_effect attack_up/defense_up duration 2→1(当次结算语义)· 库存关卡域(跨战斗延续、关卡末清空——
# 原战斗域作废)· 窗口单件制(原任意多件作废)· reward_config p_min 4→8。
# 变更 owner = 奖励道具经济/战斗结算/增益状态 GDD 2026-09-11 同批修订。
# 变更 owner = 奇物道具经济/战斗结算/增益状态 GDD 2026-09-11 同批修订。
# 2026-09-09 敌人系统 full 评审修订(owner=敌人系统,NEEDS REVISION 8 blocking 同日核销):
# enemy.settlement_obligations ① 增调用序成文(query_attack→apply_damage→advance)与敌单位专属口径 · hud_obligations
# ① 增预告时序/强度档位、② 改全局恒定 · rowset_rule 增精英/Boss 编码位预登记(敌人系统 OQ7)· clause3_supply
# 结构上界改 min(AP, cap) 形(cap 腿松弛收紧)· direction_precheck 裕度 4.7×→2.3× 更正(最低档锚口径)·
# account_input 增胜利路径声明注记。详见 design/archive/gdd-2026-09-14/reviews/b2-enemy-system-review-log.md。
# 2026-09-09 奖励道具经济 定稿回填(owner=奖励道具经济):新增 reward_table 条目(schema 八字段 + 跨字段
# 2026-09-09 奇物道具经济 定稿回填(owner=奇物道具经济):新增 reward_table 条目(schema 八字段 + 跨字段
# 校验族 + 机制/API 面 + 战斗结算×6/HUD框架×3 义务清单 + 地形变异 三约束承接 + 高光节点条目化);接口漂移改写三处——
# rng_service.scope_event_binding 的 reward_roll 语义(每次奖励结算 → 每次 board install 批)、
# status_effect.dangling_ref_policy(首引条件兑现)、clause3_supply.account_input(左臂载体 = 奖励道具经济 F6);
# action_economy.referenced_by 增 奖励道具经济(F6 当量供给消费条款①②)。并行会话冲突经用户裁决:道具段"照常消耗"
# rng_service.scope_event_binding 的 reward_roll 语义(每次奇物结算 → 每次 board install 批)、
# status_effect.dangling_ref_policy(首引条件兑现)、clause3_supply.account_input(左臂载体 = 奇物道具经济 F6);
# action_economy.referenced_by 增 奇物道具经济(F6 当量供给消费条款①②)。并行会话冲突经用户裁决:道具段"照常消耗"
# 拍板为最终语义(覆盖并行草稿"拒绝不消耗"版),清图槽允许 buff 行拍板同批落定。
- name: hud_presentation_surface
@@ -486,7 +486,7 @@ entities:
owner: design/gdd/systems/排雷循环/魔法道具.md
attributes:
table: AuxItemTable(数据配置 承载【数据配置×① 修订批登记】,键 = item_id;魔法道具 回填 owner,2026-09-14 定稿登记;定义表非进度成长表——Rule 4 豁免;生效前提 = 地图战斗资源×①…⑤/数据配置×①② 修订批兑现)
slice_scope: 垂直切片期无道具内容(2026-09-17 用户拍板——空清单合法态):AuxItemTable 不随切片建表、六行不入掉落池(掉落频率归战斗奖励侧),F2 维度覆盖谓词挂起至表非空;本条设计登记与机制桥接(战斗结算 query_reward_identity 未开格恒可查)保留,内容随 魔法道具内容批(排垂直切片收尾后)回填。**解锁状态面例外**(元进度实现批 2026-09-21 注记):工坊六件的通关次数解锁渠道已落地(meta.tres workshop_items 行族 + SaveManager item_unlocks 域),局内效果仍归 Alpha 魔法道具整体重设计批——名称沿用本条词表
slice_scope: 垂直切片期无道具内容(2026-09-17 用户拍板——空清单合法态):AuxItemTable 不随切片建表、六行不入掉落池(掉落频率归战斗奇物侧),F2 维度覆盖谓词挂起至表非空;本条设计登记与机制桥接(战斗结算 query_reward_identity 未开格恒可查)保留,内容随 魔法道具内容批(排垂直切片收尾后)回填。**解锁状态面例外**(元进度实现批 2026-09-21 注记):工坊六件的通关次数解锁渠道已落地(meta.tres workshop_items 行族 + SaveManager item_unlocks 域),局内效果仍归 Alpha 魔法道具整体重设计批——名称沿用本条词表
fields:
item_id: String 主键唯一——地图战斗资源 RewardTable.effect_id(aux 行)与 VariationTable.counter_item_ids 的引用键
display_name: String 非空(HUD框架 呈现数据源,本地化归 设置与本地化——敌人系统/增益状态/地图战斗资源 同库惯例)
@@ -496,7 +496,7 @@ entities:
magnitude: int [0,999](knob)——仅 ap_grant 行消费(= AP 点数,加载校验 ≥1);空间行不消费非校验项
use_phase: enum {active_dig}——MVP 单值(扩枚举走 魔法道具 GDD 修订;地图战斗资源 use_timing 扩值 during_dig 同批对齐——地图战斗资源×③)
mvp_content: 六行(值 provisional 归 难度曲线与Boss;显影尘与地穴全图卷的原显影半边随雾格移除失义、效果与目标待重定——随魔法道具整体重设计归 Alpha(2026-09-20 用户拍板,原 06 待办条目移除),名称保留)——probe_dust 显影尘〔info+counter / 效果待重定 / w5 t2〕· sapper_order 工兵令〔action / ap_grant / none / mag 2 / w5 t2〕· loot_compass 探宝罗盘〔plan / reward_preview / area_3x3 / w4 t2〕· nest_pendulum 探巢摆钟〔risk / mine_reveal / area_3x3 / w4 t2〕· catacomb_scroll 地穴全图卷〔info+plan / 效果待重定·随魔法道具整体重设计归 Alpha / board_wide / w1 t3〕· blast_kit 爆破工兵包〔action+risk / ap_grant+mine_reveal / area_3x3 / mag 4 / w1 t3〕——四常规单维(t2)+ 两稀有多维高数值(t3;稀有读数 ≈0.17 件/板,F1)
load_bearing_rules: 真视窄域护栏(承重)——mine_reveal 支持域 ≤area_3x3、board_wide 仅恢复推理原料类效果(显影/预读,显影载体待重定;恢复推理可全图、替代推理必窄域——P1 防塌方;schema 校验强制,夹具 aux_target_violation)· 效果时效随 kind 派生无独立字段(空间 kind 恒本图持续、ap_grant 恒当轮一次性)· 零随机(零 RNG 流消费——信息全部来自 排雷玩法 恒真数字/地图战斗资源 Ready 映射/行动经济 账本三既有事实源)· 零特判延伸(排雷玩法 代码零 魔法道具 分支)· 无效/零信息目标不可用不消耗(可用性门——2026-09-14 用户拍板:板级判据 → 图标灰/入口禁用〔地图战斗资源 usable_now 先例〕、点击级 → 拒绝零消耗、组合行判据取 OR——爆破包 ap_grant 恒可用、真视零雷恒有效;与 地图战斗资源 E10 照常消耗区分——挖掘期非结算管线、守卫 魔法道具 本地可判)· area_3x3 边缘窗口 resolved_target = 窗口 ∩ 板内格(2026-09-14 用户拍板——护栏只缩不扩)· 使用零 AP 成本(不经 try_spend)· 库存关卡域(与 地图战斗资源 库存正交两容器、生命周期同构)· **同调位持有上限(迭代 10 奖励重构批挂约束面,2026-10-01)**——任何渠道 add_item 遇持有数 ≥ transitional_sync_slots(adventure.tres 过渡键,provisional 1)时:停点渠道(三选一/奖励节点)触发替换交互(现有件+新件 N+1 选 N、可放弃新件不获取,终态恒 ≤ 上限),战斗内渠道沉没不入(战斗域零交互纪律);正主 = 同调位里程碑谓词表 attunement_growth.tres(同调实施批),切换读数源注记随该批· Used 不可逆
load_bearing_rules: 真视窄域护栏(承重)——mine_reveal 支持域 ≤area_3x3、board_wide 仅恢复推理原料类效果(显影/预读,显影载体待重定;恢复推理可全图、替代推理必窄域——P1 防塌方;schema 校验强制,夹具 aux_target_violation)· 效果时效随 kind 派生无独立字段(空间 kind 恒本图持续、ap_grant 恒当轮一次性)· 零随机(零 RNG 流消费——信息全部来自 排雷玩法 恒真数字/地图战斗资源 Ready 映射/行动经济 账本三既有事实源)· 零特判延伸(排雷玩法 代码零 魔法道具 分支)· 无效/零信息目标不可用不消耗(可用性门——2026-09-14 用户拍板:板级判据 → 图标灰/入口禁用〔地图战斗资源 usable_now 先例〕、点击级 → 拒绝零消耗、组合行判据取 OR——爆破包 ap_grant 恒可用、真视零雷恒有效;与 地图战斗资源 E10 照常消耗区分——挖掘期非结算管线、守卫 魔法道具 本地可判)· area_3x3 边缘窗口 resolved_target = 窗口 ∩ 板内格(2026-09-14 用户拍板——护栏只缩不扩)· 使用零 AP 成本(不经 try_spend)· 库存关卡域(与 地图战斗资源 库存正交两容器、生命周期同构)· **同调位持有上限(迭代 10 奇物重构批挂约束面,2026-10-01)**——任何渠道 add_item 遇持有数 ≥ transitional_sync_slots(adventure.tres 过渡键,provisional 1)时:停点渠道(三选一/奖励节点)触发替换交互(现有件+新件 N+1 选 N、可放弃新件不获取,终态恒 ≤ 上限),战斗内渠道沉没不入(战斗域零交互纪律);正主 = 同调位里程碑谓词表 attunement_growth.tres(同调实施批),切换读数源注记随该批· Used 不可逆
overlay_semantics: 板级叠加层三集(魔法道具 自持派生信息层、零回写 排雷玩法/地图战斗资源 状态、随图消亡;现行有效的 = 真视集与预读集,显影集载体待重定)——digit_reveal 显影集(HUD框架 显示被隐藏的数字,本体 = 排雷玩法 恒真数字;载体待重定)/ mine_reveal 真视集(真视≠自动兑付——插旗仍花 1 AP 走既有 flag_hit 路径)/ reward_preview 预读集(徽章数据源 = 战斗结算 query_reward_identity 既有读面——魔法道具 零 地图战斗资源 数据复制)
api: 封闭枚举 8 入口(provisional,实现期 ADR 定名)——add_item(item_id, source) / query_inventory(枚举序 = 受理序,Used 保留只读,逐件含 usable 板级零信息可用性预判)/ validate_use(handle, target?) → 效果投影(只读不消耗;目标校验谓词 = 越板/点击级零信息拒绝 + 边缘窗口裁剪 resolved_target = 窗口 ∩ 板内格)/ apply_overlay(kind, target, mag)(战斗结算 逐 kind 调用)/ consume(handle)(Used 不可逆 + 快照回执)/ query_overlays(三集只读投影)/ retire_overlays(战斗结算 编排——与 地图战斗资源 retire_mapping 同点)/ clear_inventory(关卡末幂等);负空间 = 无自动使用入口/无重掷/无事件订阅/无 RNG 直连/无 排雷玩法/地图战斗资源 写入口
use_orchestration: 战斗结算 use_aux 规范序(唯一调用权)= 相位 gate(Active——行动经济 phase getter)→ validate_use(目标校验读 排雷玩法 只读面——使用目标校验谓词表见 魔法道具 GDD)→ 逐 kind 应用(顺序钉死:空间先、ap_grant 后——effect_kinds 列表序非运行时语义)→ consume——序即原子(validate 拦下全部可失败输入;apply/grant 域内无失败路径 → consume 恒达)
@@ -545,7 +545,7 @@ entities:
attributes:
kind: 调参目标带(F5)+ 承伤估算(F4)+ 供给平衡式(F6)——设计期工具式,运行时零新增公式(难度曲线与Boss 定位声明)
clear_rate_target: ⚠ 口径退役待重锚(2026-09-23 用户拍板单关直入口口径退役——逐关读数改冒险条件口径派生〔balance_verifier 冒险段〕,带值重锚归曲线调参批,重锚前只测不判;带史 = 2026-09-20 分带批 L1 [35,55]/L2 [25,45] 锚定直入口单关读数〔已随口径退役不可比〕,更早 L1 10-25/L2 20-40 系乱点画像口径亦作废;区间位移机制承载:atk 翻倍 ≈ K 减半 → 绿档;2026-09-18 起永久强化经换算率表按带平移接入,见 meta_progression_conversion_table;**2026-09-30 改带〔迭代 5 返工出口收口批,用户拍板〕:冒险条件口径普通档 L2 [25,45]→[10,15]——原带设定有误裁,返工终态读数 10.6/13.6% 落带、批点丙追认**;成文见难度曲线与Boss 判读口径节)
supply_balance_band: "**关级供给带 [1.1,2.0] 退役(2026-09-14——其验算 0.54 与实测 60% 通关矛盾)**——由生存链区间模型替代:每战 S/K 区间三档判定(绿 S_min>K_max / 黄 E[S]≥E[K]+1 / 红 S_max≤K_min 禁止入表)+ 关级恒等式(atk×ΣR_survive + Σ奖励输出 ≈ Σ敌hp期望×(1+缓冲),actuals 逐项审计闭合)+ 输出占比带 [15%,40%] + 通关余量带(p90≤13 & p10≥3——'通关只剩一点血'量化)"
supply_balance_band: "**关级供给带 [1.1,2.0] 退役(2026-09-14——其验算 0.54 与实测 60% 通关矛盾)**——由生存链区间模型替代:每战 S/K 区间三档判定(绿 S_min>K_max / 黄 E[S]≥E[K]+1 / 红 S_max≤K_min 禁止入表)+ 关级恒等式(atk×ΣR_survive + Σ奇物输出 ≈ Σ敌hp期望×(1+缓冲),actuals 逐项审计闭合)+ 输出占比带 [15%,40%] + 通关余量带(p90≤13 & p10≥3——'通关只剩一点血'量化)"
tool_carrier: balance_verifier.py 冒险段(逐关条件通关率/止步归因/营地循环——2026-09-23 起难度读数主载体)/ adventure_monte_carlo.gd / reward_expectation.gd(原 level_monte_carlo.gd 随单关直入口口径退役删除 2026-09-23;棋盘生成 F4 排期倒挂解除载体)
calibration_gap: 真人修正系数待 playtest 标定(OQ3——**方向已由试玩批次 1 反向确认:真人显著强于模拟者**〔v2 真人 100% vs 模拟 80%〕;旧"真人预期低于模拟"方向声明由本条替代;带按模拟口径定义,真人系数批次 2 定量)
referenced_by: [地图战斗资源, 战斗结算, 冒险结构, 元进度]
@@ -571,43 +571,43 @@ entities:
nodes: 节点图结构——节点数组 + 连线(node_kind ∈ {battle, reward, rest, boss, shop},切片字段名 type;+shop 随 2026-09-20 GP+商店房批——商店房兑付 = 打开商店覆盖层、离开后确认回选路,不携带战斗行〔零敌人、零棋盘配置行〕;每节点领关卡内唯一**节点编号**,battle/boss 数据键 node_depth 沿用〔v1.0 语义升级:深度 → 节点编号〕;连线 = 出边节点编号表,只朝前进方向、无回头路);单链特例 = 隐式后继(数组序即链,切片现行形态零漂移)
rowset_rule: 图合法性校验(2026-09-17 关卡节点地图 v1.0)——节点编号关卡内唯一、入口唯一、Boss 恒唯一终点(编号最大,Dmax 语义平移)、连线无环、所有节点沿连线可达 Boss,违规加载期致命;实现批(2026-09-17 分支节点图批):校验落 LevelTable.validate(单链形态经同一套算法——编号解析单链 = 数组下标 / 图 = node_depth),L1 单链与 L2 图双行集加载全绿断言;商店房编排(每关恰 1、Boss 前一位必经位)由冒烟断言承载、非加载校验——图合法性六检零新增(GP+商店房批 2026-09-20,关卡节点地图 v1.1)
cross_table_validation: battle/boss 节点 (L,D) 在 board_gen/enemy 两表存在精确行(数据配置 跨表校验⑧复用 + 冒险结构 AC-7 冒烟断言——序列关数 ⊆ 内容覆盖,越界关卡 = 内容生产缺口)
mvp_content: L1 全行(切片转正——7 节点链〔单链特例,合法图形态〕、rest_heal_pct=30);L2 全行已落地(2026-09-17 分支节点图批——首张分支图:9 节点〔入口 0 → 中间三层 2/3/2 → Boss 8〕、真实岔路 4 处、奖励点+恢复点各 1、战斗节点 6 + Boss;行值 provisional 归 难度曲线与Boss v0.7;首页直入口已退役〔2026-09-23 用户拍板〕);**L3 全行已落地(2026-09-20 第三关内容批——「第三层 · 灰矮人矿城」:九节点图复用 L2 同模板〔6 战 + Boss + 奖励 + 恢复、真实岔路 4 处〕,行值全 provisional 归 难度曲线与Boss;测试直入口已退役〔2026-09-23〕)**;2026-09-20 GP+商店房批 rewiring:L2/L3 图版 Boss 重编号 8→9、各新增 (8, shop, next[9]) 商店房节点(Boss 前一位必经位),L1 零改动,图合法性六检零新增——必经位由冒烟断言承载;**2026-09-21 冒险结构实现批:三关正式序列生效**(首页「开始冒险」= L1→L2→L3 连探,AdventureRunner 编排——大奖励/生命账本/GP 冒险账本/主种子归冒险结构层,冒烟断言在案)**
mvp_content: L1 全行(切片转正——7 节点链〔单链特例,合法图形态〕、rest_heal_pct=30);L2 全行已落地(2026-09-17 分支节点图批——首张分支图:9 节点〔入口 0 → 中间三层 2/3/2 → Boss 8〕、真实岔路 4 处、奇物点+恢复点各 1、战斗节点 6 + Boss;行值 provisional 归 难度曲线与Boss v0.7;首页直入口已退役〔2026-09-23 用户拍板〕);**L3 全行已落地(2026-09-20 第三关内容批——「第三层 · 灰矮人矿城」:九节点图复用 L2 同模板〔6 战 + Boss + 奇物 + 恢复、真实岔路 4 处〕,行值全 provisional 归 难度曲线与Boss;测试直入口已退役〔2026-09-23〕)**;2026-09-20 GP+商店房批 rewiring:L2/L3 图版 Boss 重编号 8→9、各新增 (8, shop, next[9]) 商店房节点(Boss 前一位必经位),L1 零改动,图合法性六检零新增——必经位由冒烟断言承载;**2026-09-21 冒险结构实现批:三关正式序列生效**(首页「开始冒险」= L1→L2→L3 连探,AdventureRunner 编排——大奇物/生命账本/GP 冒险账本/主种子归冒险结构层,冒烟断言在案)**
referenced_by: [冒险结构, 关卡节点地图, 难度曲线与Boss, 棋盘生成, 数据配置]
- name: reward
- name: curio
type: concept
owner: design/gdd/systems/冒险循环/奖励.md
owner: design/gdd/systems/冒险循环/奇物.md
attributes:
definition: 一次冒险之内通过各渠道给予玩家的增益总称——奖励节点给的、商店买的、打赢关底 Boss 给的,都是奖励。装的是"这一局你捞到了什么",不管从哪个渠道来
channel_constraint_layers: 渠道约束分三层——一层 分类白名单(分类轴决定渠道);二层 可计算谓词(渠道与奖励的结构性关系,如「计价物不自售」:X 是渠道 C 的计价物 → X 不进 C;新渠道/新奖励自动判定,不用改表);三层 显式例外清单(人为设计选择,只能逐条加,每条须写理由)。要害不是有没有例外,而是例外能不能被算出来——结构性原因写成谓词,设计性原因进清单。在册约束两条:①金币不进商店(二层·谓词)②机制类在非 Boss 渠道只给门票(一层·分类形态)。**注意**:属性提升类/资源与机会类不出现在 Boss 渠道**不是约束**——那是渠道轴的定位(Boss 是专长独占渠道),不属默认原则管辖。**「计价物不自售」形式上确是在白名单外加的一道过滤(用户质疑成立),与死特判的区别在于把枚举例外变成计算谓词**
axes: 两根互不决定的轴——**分类轴**(给的是什么)与**渠道轴**(从哪来)。一个奖励属于哪个分类不决定它从哪个渠道来;交叉关系由 [奖励](design/gdd/systems/冒险循环/奖励.md) 第 2 节开关表定死
definition: 一次冒险之内通过各渠道给予玩家的增益总称——奖励节点给的、商店买的、打赢关底 Boss 给的,都是奇物。装的是"这一局你捞到了什么",不管从哪个渠道来
channel_constraint_layers: 渠道约束分三层——一层 分类白名单(分类轴决定渠道);二层 可计算谓词(渠道与奇物的结构性关系,如「计价物不自售」:X 是渠道 C 的计价物 → X 不进 C;新渠道/新奇物自动判定,不用改表);三层 显式例外清单(人为设计选择,只能逐条加,每条须写理由)。要害不是有没有例外,而是例外能不能被算出来——结构性原因写成谓词,设计性原因进清单。在册约束两条:①金币不进商店(二层·谓词)②机制类在非 Boss 渠道只给门票(一层·分类形态)。**注意**:属性提升类/资源与机会类不出现在 Boss 渠道**不是约束**——那是渠道轴的定位(Boss 是专长独占渠道),不属默认原则管辖。**「计价物不自售」形式上确是在白名单外加的一道过滤(用户质疑成立),与死特判的区别在于把枚举例外变成计算谓词**
axes: 两根互不决定的轴——**分类轴**(给的是什么)与**渠道轴**(从哪来)。一个奇物属于哪个分类不决定它从哪个渠道来;交叉关系由 [奇物](design/gdd/systems/冒险循环/奇物.md) 第 2 节开关表定死
categories: 封闭三类 {机制类, 属性提升类, 资源与机会类}(v2.0 起;v1.1 曾用两类、v1.0 曾用 {rule, stat},均已作废)。机制类(专长 Feat)——在结算管线某个挂点上给自己加一条规则,同标签持有项数达阈值时质变,事实源 relics.tres;属性提升类(ASI)——抬高生命上限 / AC / 攻击三轴基础值,进冒险加算区,事实源 adventure.tres;资源与机会类(命名待定)——给"可用的量",不抬高战斗属性也不改规则:行动点上限 / 刷新次数 / 金币 / 回复,不进加算区、多数不进持有集,事实源 adventure.tres
scope: 作用对象 = 角色本人与其参与的结算(不改敌人、不改棋盘生成、不改关卡内容);**例外**——刷新次数作用在三选一界面而非角色身上,不进加算区;时间范围 = 整局冒险,机制类与属性提升类跨关携带、关间不清零,金币与回复即时兑付;归属范围 = 不进账号永久进度,不带到下一次冒险
lifecycle: 候选池构建(冒险开局一次)→ 在渠道上出现(三选一形式)→ 选定(自池中剔除不再复现;选到「专长获取」时立刻再开一次专长 N 选一)→ 持有生效或即时兑付 → 冒险以任一结局收束时整集清零;断点记录持有集与剩余候选池
acquisition: 三条渠道的**目标分工(交叉开关,v2.2 收口)**——机制类:主渠道=**终局前** Boss 击败后(**唯一直接给的渠道**,不新增节点类型、挂 Boss 节点兑付面;终局 Boss 不给——无后续关卡可消费),奖励节点与商店**只给「专长获取」门票**——**拿到即开、不可囤积**,不进持有集(选中/买下同一时刻开专长三选一;可囤积会让玩家无限推迟关键决策,且把持有物语义从后门放回)。门票归机制类(给的是一件以前不会的事,只是把选择推迟)。罕见**只在概率不在价格**,一局限购一次,**计步保底**:连续 5 次三选一展示未出现→第 6 次必出(计数=展示次数、刷新重展计入、奖励节点与商店共享、触发清零、限购用满后不再触发);属性提升类:奖励节点 + 商店(口径「训练」);资源与机会类:奖励节点 + 商店(**金币除外、回复在内**);后两类均不出现在 Boss 渠道。形状=「一块独占 + 两块并行」,专长靠打赢、其余靠抽取与购买。**默认原则**:除已登记的特殊规则外,分类内的东西都要在它该出现的渠道池子里——任何不出现都须登记理由**现行实现三渠道共用同一候选池、三类混编**,分工尚未实施,登记于 06-待办清单 BD 分层条目
boundary: 判据走生命周期——**一次冒险内获得、冒险收束即清零的是奖励;跨冒险跟着你走的是魔法道具**。奖励永不进同调位,魔法道具永不进当局随机渠道;与元进度天赋树两层互不代位
boundary: 判据走生命周期——**一次冒险内获得、冒险收束即清零的是奇物;跨冒险跟着你走的是魔法道具**。奇物永不进同调位,魔法道具永不进当局随机渠道;与元进度天赋树两层互不代位
data_sources: relics.tres(机制类定义行)/ adventure.tres(属性提升类与资源与机会类的种类配额与值)/ shop.tres(货架取舍)
open_questions: ①资源与机会类的命名待定(候选 资源 / 补给 / 余量);②类内异质性已登记——金币与回复是即时兑付、不进持有集不持续生效,与行动点上限/刷新次数生命周期不同;③回复是否属资源与机会类待确认(也可能独立成第四类)——它**应在商店内**(不是计价物,套不上计价物不自售),现行 shop.tres 货架缺它是现状与表格不对齐,须实施批补上;④专长门票尚未入表(出现概率/配额/全局限量无事实源);⑤确定性渠道一局两次专长 vs 档位阈值(同标签 ≥2 档一 / ≥4 档二)——**档二在三关结构下几乎不可达**,用户定延后复裁(触发=第四关内容批后实测);⑥charge 标签仅 3 件、永远达不到档二(数据层缺陷,独立登记);⑦顶层命名待定(奖励/收益均不妥,拟造词)——**代码 reward 词族已被 reward_pick/reward_node/reward_preview 占用,feature_* → reward_* 对齐待办不能照做**
naming_note: 2026-10-05 命名统一 + 两次重构——此前按内部分类被叫成三个名字(规则类称「流派件」、属性类称「数值件」、界面称「本关强化」),v1.0 统一为「特性」,v2.0 改名为「奖励」(因筐里也装金币这类一次性兑付物,"自身提升 vs 持有物"已切不开,判据改由生命周期承担)。代码侧 `feature_*` 词族尚未随之换到 `reward_*`,属临时态,登记于 06-待办清单
open_questions: ①资源与机会类的命名待定(候选 资源 / 补给 / 余量);②类内异质性已登记——金币与回复是即时兑付、不进持有集不持续生效,与行动点上限/刷新次数生命周期不同;③回复是否属资源与机会类待确认(也可能独立成第四类)——它**应在商店内**(不是计价物,套不上计价物不自售),现行 shop.tres 货架缺它是现状与表格不对齐,须实施批补上;④专长门票尚未入表(出现概率/配额/全局限量无事实源);⑤确定性渠道一局两次专长 vs 档位阈值(同标签 ≥2 档一 / ≥4 档二)——**档二在三关结构下几乎不可达**,用户定延后复裁(触发=第四关内容批后实测);⑥charge 标签仅 3 件、永远达不到档二(数据层缺陷,独立登记);⑦顶层命名待定(奇物/收益均不妥,拟造词)——**代码 reward 词族已被 reward_pick/reward_node/reward_preview 占用,feature_* → reward_* 对齐待办不能照做**
naming_note: 2026-10-05 命名统一 + 两次重构——此前按内部分类被叫成三个名字(规则类称「流派件」、属性类称「数值件」、界面称「本关强化」),v1.0 统一为「特性」,v2.4 改名为「奇物」(v2.0 曾名「奇物」)(因筐里也装金币这类一次性兑付物,"自身提升 vs 持有物"已切不开,判据改由生命周期承担)。代码侧 `feature_*` 词族尚未随之换到 `curio_*`,属临时态,登记于 06-待办清单
referenced_by: [冒险结构, 关卡节点地图, 战斗结算, 行动经济, 地形变异, HUD框架, 魔法道具, 元进度, 数据配置]
- name: adventure_table
type: schema_data
owner: design/gdd/systems/冒险循环/冒险结构.md
attributes:
table: AdventureTable(数据配置 承载,单行全局;冒险结构 回填 owner;Rule 4 豁免——单行全局常量表,HeroTable/SettlementTable 先例;建表走 数据配置 接口漂移规则。**已建表**——data/schemas/adventure_table.gd + data/tables/adventure.tres + ConfigDB 加载行"adventure",冒烟断言在案(冒险结构实现批 2026-09-21);**迭代 10 奖励重构批扩列(2026-10-01)**——见 fields)
table: AdventureTable(数据配置 承载,单行全局;冒险结构 回填 owner;Rule 4 豁免——单行全局常量表,HeroTable/SettlementTable 先例;建表走 数据配置 接口漂移规则。**已建表**——data/schemas/adventure_table.gd + data/tables/adventure.tres + ConfigDB 加载行"adventure",冒烟断言在案(冒险结构实现批 2026-09-21);**迭代 10 奇物重构批扩列(2026-10-01)**——见 fields)
fields: |
退役两字段(迭代 10 奖励重构批,2026-09-30 用户拍板):level_clear_hp_bonus(「血回满+上限提升」件随大奖励三件套退役——回血改 clear_heal_pct 部分回血、上限提升改三选一件值列)、keystone_per_level(钥石退役出大奖励改 Boss/精英击杀掉落)。
退役两字段(迭代 10 奇物重构批,2026-09-30 用户拍板):level_clear_hp_bonus(「血回满+上限提升」件随大奇物三件套退役——回血改 clear_heal_pct 部分回血、上限提升改三选一件值列)、keystone_per_level(钥石退役出大奇物改 Boss/精英击杀掉落)。
clear_heal_pct: int [0,100](knob 默认 20——非末关通关部分回血回复生效上限的百分比,封顶上限不回满、满血回 0 合法;难度上压方向,带重扫义务归 难度曲线与Boss)
**2026-10-05 命名统一批**:本表的属性提升类奖励字段与常量整体换名(旧 → 新)——BONUS_IDS → FEATURE_KINDS、bonus_token_count() → feature_quota()、bonus_value() → feature_value()、bonus_candidate_count → feature_candidate_count、token_{kind}_{tier} → feature_quota_{kind}_{tier}、bonus_*_flat/_amount(_large) → feature_value_{kind}_{tier};值零变更(句柄改称不改数),断点附随键名沿用历史形态不动(存档兼容)。换名动因见 reward 条目(v2.0 顶层改名为「奖励」)。
feature_value_attack_common / feature_value_max_hp_common / feature_value_armor_common: int [0,999](三选一属性提升类奖励兑付值——加算区攻击/生命上限/护甲轴累加,经覆盖值通道;值锚与上调约束归 难度曲线与Boss)
**2026-10-05 命名统一批**:本表的属性提升类奇物字段与常量整体换名(旧 → 新)——BONUS_IDS → FEATURE_KINDS、bonus_token_count() → feature_quota()、bonus_value() → feature_value()、bonus_candidate_count → feature_candidate_count、token_{kind}_{tier} → feature_quota_{kind}_{tier}、bonus_*_flat/_amount(_large) → feature_value_{kind}_{tier};值零变更(句柄改称不改数),断点附随键名沿用历史形态不动(存档兼容)。换名动因见 curio 条目(v2.0 顶层改名为「奇物」)。
feature_value_attack_common / feature_value_max_hp_common / feature_value_armor_common: int [0,999](三选一属性提升类奇物兑付值——加算区攻击/生命上限/护甲轴累加,经覆盖值通道;值锚与上调约束归 难度曲线与Boss)
feature_value_gp_common: int [0,999](GP 袋件定额入钱包);feature_value_ap_rarest: int [0,10](AP 件每场战斗首轮行动点基线增量);bonus_aux_item_count: int [1,9](魔法道具件授予件数)
~~bonus_weight_*(E-S 加权洗牌权重族)~~ / ~~bonus_cap_*(种类次数上限族)~~:**v2.2 令牌池换代退役(迭代 12 TP0——2026-10-03 追认 b 实施批;洗牌改令牌 Fisher-Yates、池消耗即上限)**
feature_quota_{kind}_{tier}: int [0,99](**TP0 令牌配额族**——kind×tier 计数:attack 18/5 · max_hp 17/5 · armor 17/5 · gp 18/5 · heal 0/5 · ap 0/0/3〔common/rare/rarest〕;未列组合=0;档位结构锚 70/25/3=98 张入 schema validate 硬断言〔罕见档原列「道具件 2」随 aux_item 池种退役收窄——台账自决披露项〕)
feature_value_attack_rare / feature_value_max_hp_rare / feature_value_armor_rare / feature_value_gp_rare: int [0,999](稀有档大数值对——+2/+10/+2/50);feature_value_heal_rare: int [0,999](恢复件 +6 当即回血——新入池种类 rare 档);MC 策略 316-f(autoplay 1 级最稀有/2 级最左)随批落地
transitional_sync_slots: int [0,9](同调位过渡读数源,默认 1——道具持有上限;正主 = attunement_growth.tres 里程碑谓词表,同调实施批落地后切换读数源)
mvp_content: 单行全局默认值即 MVP 行(provisional 归 曲线调参批——迭代 10 扩列批注)
extension_reserve: 大奖励形态扩列位已消费(迭代 10 奖励重构批落地三选一/攻击型——本键使命完成退役;冒险结构 OQ2 收口)
extension_reserve: 大奇物形态扩列位已消费(迭代 10 奇物重构批落地三选一/攻击型——本键使命完成退役;冒险结构 OQ2 收口)
referenced_by: [冒险结构, 元进度, 行动经济, 数据配置]
- name: shop_table
@@ -636,7 +636,7 @@ entities:
attributes:
kind: 主角战斗入参覆盖值通道(begin_battle 显式参数传递——切片 E4 封装收口批实现,registry 登记缺口由 冒险结构 定稿批补登)
contract: begin_battle 增 hero_hp / hero_atk / hero_max_hp 显式入参 → 敌人系统.spawn 增 atk_override / max_hp_override 参数;-1 = 表值兜底(不覆盖);hero 表运行期不可变(数据配置 单一事实源机制化——表写通道全删)
consumers: HP 账本(冒险结构——跨战斗 HP 持久性 + 大奖励上限提升的传入面)/ 元进度加成(元进度实现批 2026-09-21 接通——MetaProgression.hero_override() 现算 flat 三档,AdventureRunner.start_adventure params.hero_override 显式传入 → LevelRunner base_override 共享;叠加序 = 表值 + 永久强化 flat + 加算区 flat × TunePanel pct)/ 切片 TunePanel(调试通道)
consumers: HP 账本(冒险结构——跨战斗 HP 持久性 + 大奇物上限提升的传入面)/ 元进度加成(元进度实现批 2026-09-21 接通——MetaProgression.hero_override() 现算 flat 三档,AdventureRunner.start_adventure params.hero_override 显式传入 → LevelRunner base_override 共享;叠加序 = 表值 + 永久强化 flat + 加算区 flat × TunePanel pct)/ 切片 TunePanel(调试通道)
adr_status: ADR-0009 候选——正式侧 战斗结算/敌人系统 GDD 修订随 ADR-0009 批;冒险结构 GDD 规则 3/4 为 冒险结构 半边(HP 账本供值)的正式定义源
referenced_by: [战斗结算, 敌人系统, 冒险结构, 元进度]
@@ -644,10 +644,10 @@ entities:
type: schema_data
owner: design/gdd/systems/跨局循环/元进度.md
attributes:
table: 永久强化换算率表(数据配置 承载;键结构 元进度定稿批 2026-09-18 登记,数值行读 `data/tables/meta.tres` conversion 行族。**已标定投值**:三行 生命 6 / 攻击 9 / 护甲 1 点每级——换算率标定批 2026-09-23,OFAT 冒险注入档与白板同种子配对的逐关条件通关率差实测(每级带平移 +6.0±0.7 / +8.8±0.8 / +1.2±0.4 点取整;冒险条件口径 + 当日 L2 收紧/大奖励 10→5 后现行数值包——直入口口径同日退役使首轮直入口面读数作废),护甲行强条目重测随批履行并暴露修复护甲断链(begin_battle hero_armor_class 参数零消费→_defender_ac 接线);判定端 balance_verifier.py 表值驱动消费(带重锚后随平移判);读数报告 production/qa/conversion-calibration/calibration.raw.md)
table: 永久强化换算率表(数据配置 承载;键结构 元进度定稿批 2026-09-18 登记,数值行读 `data/tables/meta.tres` conversion 行族。**已标定投值**:三行 生命 6 / 攻击 9 / 护甲 1 点每级——换算率标定批 2026-09-23,OFAT 冒险注入档与白板同种子配对的逐关条件通关率差实测(每级带平移 +6.0±0.7 / +8.8±0.8 / +1.2±0.4 点取整;冒险条件口径 + 当日 L2 收紧/大奇物 10→5 后现行数值包——直入口口径同日退役使首轮直入口面读数作废),护甲行强条目重测随批履行并暴露修复护甲断链(begin_battle hero_armor_class 参数零消费→_defender_ac 接线);判定端 balance_verifier.py 表值驱动消费(带重锚后随平移判);读数报告 production/qa/conversion-calibration/calibration.raw.md)
kind: 区间平移换算率(2026-09-18 用户拍板启用)——永久强化对难度的影响不直接改难度判据,按统一换算率折算为通关率带平移量后套用(完美档 gate 与 normal 目标带判读口径不变,带随解锁等级平移)
key: (conversion_row_id)——一行一柜台商品类型
first_version_rows: 首版登记三个属性维度(表内即三行条目;用户拍板 2026-09-18,"维度"为拍板用语、"行"为表内同义术语):生命上限强化 / 基础攻击强化 / 护甲等级强化——后续商品上架(道具工坊钥石价、奖励格图鉴)逐条补登记,每次上架伴随一行换算登记(逐行归因纪律)
first_version_rows: 首版登记三个属性维度(表内即三行条目;用户拍板 2026-09-18,"维度"为拍板用语、"行"为表内同义术语):生命上限强化 / 基础攻击强化 / 护甲等级强化——后续商品上架(道具工坊钥石价、奇物格图鉴)逐条补登记,每次上架伴随一行换算登记(逐行归因纪律)
strong_row_discipline: 护甲等级行为**强条目**——护甲等级牵动命中判定全链(AC 换装 / 掷点带宽),验收读数必须按解锁后参数重测、不得沿用基线读数外推
value_semantics: 每行折算值 = 每级强化对应的通关率带平移量(pp);营地定价从对应行换算率推(几何递增曲线,起步价与公比随设计批)
related_save_domains: 钥石余额 / 永久强化等级表 / 关卡通关次数表 / Boss 首杀标记位(域级契约登记方式随 存档序列化「存档契约条目的登记方式」联合裁决)
@@ -660,18 +660,18 @@ entities:
table: MetaTable(数据配置 承载——元进度实现批 2026-09-21 建表落籍;schema data/schemas/meta_table.gd + data/tables/meta.tres)
kind: 元进度/永久强化数值行单点(定价 / Boss 两档 / 工坊阈值 / 换算率四行族——消费面一律走 ConfigDB.meta_* 访问器,禁直读行集)
row_families: forge_products {attr ∈ {max_hp, atk, armor_class} 恰三, display_name, flat_value, base_price, price_ratio_pct ∈ [100,400]} · boss_keystone {level_index 连续从 1, first_kill ≥ repeat_kill} · workshop_items {item_id ∈ registry aux_items 六件词表恰全, display_name, clear_threshold ∈ [1,99]} · conversion {attr 与 forge 词表一致恰三, per_level_shift_pct ∈ [0,100]}
provisional: 数值全 provisional 归元进度设计批配读数(骨架先行先例 = GP+商店房批)——现行落表值:flat 血+3/攻+1/甲+1、base 10 ratio 150 三行同;Boss 两档 **首杀 3 三关统一 / 复杀按关 2/2/3 递进**(**迭代 10 奖励重构批重锚 + 用户 2026-10-01 裁「a 用备选」**——原 L1 5/1 · L2 8/2 · L3 12/3 与代拍板「复杀统一 2」均退役;P-B 乙拍板贴近「Boss 掉 2–3 个」示例量级,L3 3/3 系 first≥repeat 结构约束的合法端点;精英掉 1 预留行随怪物批实装落);工坊阈值 1/1/2/2/3/3(按总通关次数);换算率全 0 占位
provisional: 数值全 provisional 归元进度设计批配读数(骨架先行先例 = GP+商店房批)——现行落表值:flat 血+3/攻+1/甲+1、base 10 ratio 150 三行同;Boss 两档 **首杀 3 三关统一 / 复杀按关 2/2/3 递进**(**迭代 10 奇物重构批重锚 + 用户 2026-10-01 裁「a 用备选」**——原 L1 5/1 · L2 8/2 · L3 12/3 与代拍板「复杀统一 2」均退役;P-B 乙拍板贴近「Boss 掉 2–3 个」示例量级,L3 3/3 系 first≥repeat 结构约束的合法端点;精英掉 1 预留行随怪物批实装落);工坊阈值 1/1/2/2/3/3(按总通关次数);换算率全 0 占位
impl: core/meta_progression.gd(MetaProgression 账本服务——余额/几何定价〔tier 级价格 = 迭代 floor(p × ratio/100)〕/购买/工坊解锁〔总通关次数渠道〕/settle_adventure Boss 两档入账/hero_override 注入计算;Core 层零 UI 零信号)
workshop_unlock_rule: 首版只挂总通关次数渠道(Σ level_clear_counts 达阈值——2026-09-21 实现批代拍板 2 并经用户确认,GDD 未细分);**channel 可替换轴**(同日用户拍板:解锁条件须抽象、可替换、可扩展——渠道由 workshop_items.channel 字段声明〔缺省 total_clears,词表 MetaTable.WORKSHOP_CHANNELS 封闭〕,判定量换算单点 = MetaProgression._workshop_progress,换/加渠道 = 词表加值 + 一 match 分支,阈值比较与解锁写档零改动;未知渠道恒 0 = 永不解锁 fail-safe;候选 adventure_depth 最高通关深度 / keystone 直购双渠道已预留语义未实现);钥石直购价随定价批后补
referenced_by: [元进度, 存档序列化, 数据配置]
# 2026-09-09 奖励道具经济 full 评审修订批(owner=奖励道具经济 代用户修订,NEEDS REVISION 14 blocking 同日核销):
# 2026-09-09 奇物道具经济 full 评审修订批(owner=奇物道具经济 代用户修订,NEEDS REVISION 14 blocking 同日核销):
# 新增 reward_config 条目(RewardConfigTable 单行全局——T_fog_min/K_dmg/N_draft/P_min 的 Rule 1 载体);
# reward_table 增 display_name(九字段)+ 默认根行集登记 + direction_precheck(刀供给)+ 跨字段护栏两条
# (floor_supply_missing / no_damage_row——敌人系统 OQ9 并案)+ 窗口锚点改授予段后(用户评审拍板:当轮拾取当轮可用)
# + 重复受理幂等语义 + 战斗结算×6/HUD框架×3→HUD框架×5 义务清单同步;锚参照迁移传播三处(本条 anchor_warning 迁移注记 /
# clause3_supply.direction_precheck 迁移注记 / systems-index 行动经济 OQ5 注记——attack_up 口径历史值与 defense_up
# 数值巧合全等、迁移后预检未重跑事实同批登记);terminology 增 奖励道具经济 六词条(刀/批尾/死行/档位序检查/预推进/烧刀烧包)。
# 数值巧合全等、迁移后预检未重跑事实同批登记);terminology 增 奇物道具经济 六词条(刀/批尾/死行/档位序检查/预推进/烧刀烧包)。
# 详见 design/archive/gdd-2026-09-14/reviews/b4-reward-item-economy-review-log.md。
# 2026-09-10 战斗结算 定稿回填(owner=战斗结算):新增 settlement_table / clause5_dominance 两条件目
# (SettlementTable 七字段 + 三行致命 manifest + 段序骨架/可回放/高光双落载体;条款⑤主判式 + 保守地板缺口 +
@@ -684,7 +684,7 @@ entities:
# 2026-09-10 战斗结算 评审批修订(owner=战斗结算,/design-review NEEDS REVISION 同日核销 8 blocking):
# settlement_table——p_perfect 载体域 {100,200}(真实双份交付)、pool_clamp_lo_hi 拆 lo/hi 两字段(八字段口径统一、
# 数据配置 GDD 行按收编先例以本条为准)、source_label_map 键集补 enemy_action/flag_miss、mechanics 补行协议字段分层;
# clause5_dominance——模型修订重登(挖穿残余池计价、条款⑤未闭合 + 难度曲线与Boss/奖励道具经济 约束包 + 护栏 B 双读数 + RAP 零价假设);
# clause5_dominance——模型修订重登(挖穿残余池计价、条款⑤未闭合 + 难度曲线与Boss/奇物道具经济 约束包 + 护栏 B 双读数 + RAP 零价假设);
# clause3_supply——闭合回执双口径更正(锚行 ≈2.0×/2.6× / 期望 ≈1.2×/1.5×、破线约束两轴)。
# 详见 design/archive/gdd-2026-09-14/reviews/b1-settlement-review-log.md。
# 2026-09-13 HUD框架 定稿回填(owner=HUD框架):新增 hud_presentation_surface 条目(呈现面契约——
@@ -693,11 +693,11 @@ entities:
# 2026-09-14 辅助道具 定稿回填(owner=辅助道具,solo 模式一次会话定稿、出稿待人工复核):
# 新增 aux_items 条目(AuxItemTable 七字段 + MVP 六行【四常规单维 + 两稀有多维,值 provisional 归 难度曲线与Boss】+
# 真视窄域护栏承重规则 + 叠加层三集语义 + 8 API 面 + use_orchestration 规范序 + F1–F3 + 21 项跨 GDD 义务清单
# + 地形变异 EC6/OQ2 与 奖励道具经济 OQ2 收口);variation_table.mvp_content.counter_item_ids 回填 [probe_dust](地形变异 预授权
# + 地形变异 EC6/OQ2 与 奇物道具经济 OQ2 收口);variation_table.mvp_content.counter_item_ids 回填 [probe_dust](地形变异 预授权
# "辅助道具 期回填"兑现——数据配置 表值与悬空校验激活随 数据配置/辅助道具 修订批同批落地)+ dangling_ref_policy 首引兑现改写;
# terminology 增四词条(叠加层/真视窄域护栏/渗透率 + referenced_by 增 辅助道具)。
# 生效前提:奖励道具经济×①…⑤(category 扩值 aux_item/use_timing 扩 during_dig/默认根六行等)与 数据配置×①② 修订批——
# 未兑现前 RewardTable 含 aux 行会加载致命(奖励道具经济 Rule 1 预留值拒绝)、辅助道具 GDD AC-12/13 登记 deferral。
# 生效前提:奇物道具经济×①…⑤(category 扩值 aux_item/use_timing 扩 during_dig/默认根六行等)与 数据配置×①② 修订批——
# 未兑现前 RewardTable 含 aux 行会加载致命(奇物道具经济 Rule 1 预留值拒绝)、辅助道具 GDD AC-12/13 登记 deferral。
# 2026-09-14 跨评审回写批(/review-all-gdds 🔴-1/🔴-2 修复,owner=增益状态/战斗结算/数据配置 GDD 代用户修订):
# 批1(数据配置 漂移批 + 增益状态 接口漂移批)——status_effect.mvp_content.defense_up magnitude −50→−30(减伤墙批
# 2026-09-13 难度曲线与Boss 投值的对侧回写落地);rng_service.scope_event_binding 增 encounter 绑定 + referenced_by 增 战斗结算;
@@ -707,7 +707,7 @@ entities:
# clause3_supply.direction_precheck 增 2026-09-14 重算回执(现行值链破线 ≈0.48×/0.47×、约束升格曲线级——
# 禁独立调参联动网络 m_w↔D_ref↔m_d↔duration_d);clause5_dominance 增重算回执(v3 曲线四态 + 需求 110.3/166.8 +
# 裁决②维持 + 护栏 W2 待重推注记);settlement_table.mechanics 增 战斗结算 F6 充能与护甲克制结算规格登记(W3)。
# 2026-09-15 雾格移除清理批(owner=地形变异/棋盘生成/排雷玩法/奖励道具经济/战斗结算/辅助道具/冒险结构/GDD 代用户修订,
# 2026-09-15 雾格移除清理批(owner=地形变异/棋盘生成/排雷玩法/奇物道具经济/战斗结算/辅助道具/冒险结构/GDD 代用户修订,
# 文档侧与代码侧分头执行)——variation_table:mvp_content 改空清单、删 load_bearing_rule 与 fog_ap_note 与 pricing_constraints
# 三键、dangling_ref_policy 改"首个真实引用随未来变异行建行批回填"、referenced_by 收敛为 {棋盘生成, 排雷玩法, 辅助道具};
# board_gen_table:fields 删 fog_region_count/fog_target_ratio、cross_field_validation 删 fog_domain_ok、mechanics 改单一达标判据
@@ -727,17 +727,17 @@ entities:
# BattleOrchestrator / EnemyCardView / BattleLogView / smoke 全量改键。
# 理由 = 位置键不承载语义,且"无甲/甲A/甲B"在文档间已分裂成四种写法。
# 数值零改动(纯改名);旧名仅在本批注记与各文档「版本历史」中作为"原名"留存,不再作为现行词汇使用。
# 2026-09-15 攻击类型 / 奖励抽象分离批(同日第二批,用户裁定"攻击类型的定义和格子奖励要分离开;开格|标雷 → 奖励;
# 奖励如何定义是可以修改的;不要将两者绑定")——修正同日第一批遗留的焊死命名:结算表字段 damage_a_per_cell /
# 2026-09-15 攻击类型 / 奇物抽象分离批(同日第二批,用户裁定"攻击类型的定义和格子奇物要分离开;开格|标雷 → 奇物;
# 奇物如何定义是可以修改的;不要将两者绑定")——修正同日第一批遗留的焊死命名:结算表字段 damage_a_per_cell /
# damage_a_cap / damage_b_per_flag(及其改名产物 pierce_per_cell / pierce_cap / magic_per_flag)把"攻击类型"与"棋盘来源"
# 焊进同一根命名,属概念错误。现行两轴分离:① 攻击类型 = 伤害的属性轴(normal/pierce/magic,只决定查 armor_effectiveness
# 哪一行,定义里不含任何棋盘来源);② 充能 = 按攻击类型分桶的附加伤害储备,"谁能充 / 充哪个桶" = settlement_table.charge_grants
# (触发源→{attack_type, per_unit, cap})= 奖励定义,整表替换即改奖励内容,攻击类型与矩阵不动。开格 / 标中旗 / 踩雷 / 清图
# 一律只作奖励触发源。结算快照 round_facts:charge_dmg_a / charge_dmg_b → charge_counts(各触发源计数)+ charge_points
# (按攻击类型分桶点数);切片 BattlerOrchestrator 侧 _charge_counts 只计数、_charge_points() 按奖励定义投桶。
# 充能奖励的正式归属(奖励道具经济 面)见 战斗结算「待拍板」。
# 2026-09-15 格面资源批(用户四点拍板:① 结算队列+抵消过滤 ② 雷安一视同仁+可选类整体删除 ③ 封锁格计入清图 ④ 格面资源/清图奖励对象命名与封装;
# owner=奖励道具经济 v0.4 / 战斗结算 v0.7 / 排雷玩法 v0.3 / registry 侧 7 条;切片代码修改随新会话执行、指导已产出)——
# (触发源→{attack_type, per_unit, cap})= 奇物定义,整表替换即改奇物内容,攻击类型与矩阵不动。开格 / 标中旗 / 踩雷 / 清图
# 一律只作奇物触发源。结算快照 round_facts:charge_dmg_a / charge_dmg_b → charge_counts(各触发源计数)+ charge_points
# (按攻击类型分桶点数);切片 BattlerOrchestrator 侧 _charge_counts 只计数、_charge_points() 按奇物定义投桶。
# 充能奇物的正式归属(奇物道具经济 面)见 战斗结算「待拍板」。
# 2026-09-15 格面资源批(用户四点拍板:① 结算队列+抵消过滤 ② 雷安一视同仁+可选类整体删除 ③ 封锁格计入清图 ④ 格面资源/清图奇物对象命名与封装;
# owner=奇物道具经济 v0.4 / 战斗结算 v0.7 / 排雷玩法 v0.3 / registry 侧 7 条;切片代码修改随新会话执行、指导已产出)——
# reward_table 结构性重写:category/use_timing/库存/供给轴下线,新增 cell_type ∈ {attack,defense,heal,blast,weaken} × polarity ∈ {positive,negative}
# 字段对(同型两行;正向行参与摇号 = 类型频次,负向行纯字典)、pool_tag {safe_cell, active_inject} → {cell}、mvp_content 十行(含负向直伤 heal flat p4、ambush+2
# stacks=2、sapped 行);direction_precheck 旧刀供给预检失义退役;settlement_obligations 六→四、hud_obligations 五→三、high_glow H3 失义下线。
@@ -753,13 +753,13 @@ entities:
# 00-游戏概念/01-核心循环/03-内容规模/05-不做清单(旧固定兑付措辞)、UX 文档。历史留痕保留各批原文,现行口径以上方条目为准。
#
# 2026-09-15 验收/收口批(owner=战斗结算,代用户修订;零数值零机制改动;**不改 v0.7 文件**)——v0.5/v0.6 两批(命名统一 + 抽象分离)
# 验收核对全绿后收口。范围纪律:战斗结算.md / 奖励道具经济.md 属 v0.7 格面资源批所有者文件、口径仍在移动,本批一律不动;
# 验收核对全绿后收口。范围纪律:战斗结算.md / 奇物道具经济.md 属 v0.7 格面资源批所有者文件、口径仍在移动,本批一律不动;
# ③ 收口项登记于此(registry)+ README + active.md,GDD 侧只报告、待 v0.7 批整体收口后回填:
# ① 收益对照表充能当量覆盖缺口:现行 flat/percent/完美乘数三式未覆盖「充能类」;候选口径 = 充能当量 =
# Σ各桶点数 × 当轮目标护甲平均甲效倍率 ÷ 100(与直伤同类 1 伤害 = 1 当量,守 行动经济 条款①单一当量)——补式 / 登记待拍板二选一待回填批裁定。
# ② 两处已知落差:a) charge_grants 触发源可扩展 vs 切片仅 safe_cell/flag_hit 两处计数埋点(新增源须加埋点);
# b) safe_cell/flag_hit 来源标识跨命名空间同名(结算明细行 source_class / charge_grants 键;RewardTable.pool_tag 已随格面资源批改 cell)。
# 2026-09-19 充能退役批:settlement_table.charge_grants 字段删除(主角攻击回归单分量——克制策略归冒险前配置);上方 ①「充能当量覆盖缺口」与 ②a「触发源扩展 vs 计数埋点」两条充能相关注记随批废止;DamageMath.charge_component 改名 counter_component(奖励直伤唯一消费方)。
# 2026-09-19 充能退役批:settlement_table.charge_grants 字段删除(主角攻击回归单分量——克制策略归冒险前配置);上方 ①「充能当量覆盖缺口」与 ②a「触发源扩展 vs 计数埋点」两条充能相关注记随批废止;DamageMath.charge_component 改名 counter_component(奇物直伤唯一消费方)。
# 验收读数:冒烟 201 项 0 失败 · 四探针 exit=0 无 FAIL(切片侧仍为 pre-v0.7 实现,代码同步随格面资源批新会话执行)。
#
# 2026-09-15 护甲等级批(用户拍板登记,只改 GDD 与 registry、不动代码;owner=战斗结算 v0.8 / 敌人系统 v0.3 / 难度曲线与Boss v0.4 / registry 侧 3 条):
@@ -771,10 +771,10 @@ entities:
# 护甲等级(数值轴 armor_class)与护甲类型(克制属性轴 armor_type light/ward/heavy)命名区分成文——文档、表字段与代码键不得混用。
# EV 中性引入:期望伤害对齐现行表值,现行数值不重调;难度曲线与Boss 生存链区间补记掷点带宽口径(定稿前扫描维持全额口径),"零红档"验收保留。
# 拍板口径:必中、非归零(低掷按减伤档位折扣,无 miss 无零收益白回合);只对基础攻击掷(主角普通分量 / 敌方攻击拍与重击拍基线);
# 棋盘来源一律无视护甲等级——与"奖励/惩罚必中"同构。
# 棋盘来源一律无视护甲等级——与"奇物/惩罚必中"同构。
#
# 2026-09-16 系统更名批(用户拍板 2026-09-16,只改命名不改内容):两个系统中文规范名更名——
# "奖励道具经济" → "地图战斗资源"(owner 文件重命名 design/gdd/systems/战斗循环/地图战斗资源.md;其「待拍板」系统更名条目关闭);
# "奇物道具经济" → "地图战斗资源"(owner 文件重命名 design/gdd/systems/战斗循环/地图战斗资源.md;其「待拍板」系统更名条目关闭);
# "辅助道具" → "魔法道具"(owner 文件重命名 design/gdd/systems/排雷循环/魔法道具.md)。
# 本表同步:owner 路径(reward_table / reward_config / aux_items 三处)与 referenced_by、各属性文本中的系统名提及全部改新名;
# 英文代号 REWARD_ITEM_ECONOMY / AUXILIARY_ITEMS 与条目键 reward_/aux_ 暂沿用(代码标识符与工具链口径),与中文名的对齐另批执行。
@@ -812,7 +812,7 @@ entities:
# ② level_table:table 行改节点图结构;nodes 字段 = 节点数组+连线、每节点关卡内唯一节点编号
# (node_depth 数据键沿用、语义升级:深度→节点编号);rowset_rule 改图合法性校验(唯一编号/唯一入口/
# Boss 恒唯一终点〔编号最大,Dmax 平移〕/无环/全可达);MVP 链模板注记单链特例合法;
# ③ 术语「节点」图形态与分类学展开定稿(四类封闭枚举)、「节点奖励」机制定稿(功能道具正式渠道——内容/
# ③ 术语「节点」图形态与分类学展开定稿(四类封闭枚举)、「节点奇物」机制定稿(功能道具正式渠道——内容/
# 持有/使用归 魔法道具 内容重定批,切片期直通合法空态;覆盖层 = 兑付反馈覆盖层)、「关卡收束点」图版措辞;
# ④ enemy_table.rowset_rule:同层多遭遇由节点编号消解;不设精英/Boss 编码位(Boss=最大编号节点、精英 P2
# 内容承载);同场多敌种行集多行 → 敌人表行集多行批(战斗侧,排技能池实施批后,
@@ -820,15 +820,15 @@ entities:
# ⑤ 06-待办清单:「精英与 Boss 编码位」「多敌数量的消费面」(地图战斗资源节「功能道具的正式渠道」同日)
# 三条已解决留痕;敌人系统「同深度第二敌种与精英 / Boss 编码位」部分收口改归属;新增「切片行进代码与
# 定稿的接口漂移」(八条漂移清单)与「图版措辞对齐」(跨文档残留单点清单)两待办。
# 2026-09-17 代币→钥石统一拍板(用户裁决,06 清单「代币与钥石的资源关系」关闭):冒险结构关卡大奖励
# 「代币记账 +10/关」即钥石入账——同一资源、两渠道(关卡大奖励 +10/关 provisional 与关底 Boss 掉落);
# 2026-09-17 代币→钥石统一拍板(用户裁决,06 清单「代币与钥石的资源关系」关闭):冒险结构关卡大奇物
# 「代币记账 +10/关」即钥石入账——同一资源、两渠道(关卡大奇物 +10/关 provisional 与关底 Boss 掉落);
# 「代币」措辞全仓退役(冒险结构 v0.3 / 元进度 v0.2 / 数据配置 v0.3 / architecture.md / adr-0005 随批清偿);
# adventure_table 字段键改 keystone_per_level(原 token_per_level,AdventureTable 未建表零代码影响);
# 钥石产出细则与解锁定价仍归元进度定稿批(关联待办「钥石的重复获取」继续)。
# 2026-09-17 分支节点图批(L2 幽暗地域内容批——关卡节点地图 v1.0 P1 实现批,用户拍板;与切片代码 /
# 难度曲线与Boss v0.7 / 06-待办清单 / 关卡节点地图 版本历史同批):
# ① level_table:display_name L2 落名"第二层 · 幽暗地域";mvp_content 改"L1 全行 + L2 全行已落地"
# (首张分支图:9 节点 / 岔路 4 处 / 奖励点+恢复点各 1 / 战斗节点 6 + Boss 8;行值 provisional);
# (首张分支图:9 节点 / 岔路 4 处 / 奇物点+恢复点各 1 / 战斗节点 6 + Boss 8;行值 provisional);
# rowset_rule 增实现批注记(校验落 LevelTable.validate——单链 = 数组下标编号空间 / 图 = node_depth,
# L1 与 L2 双行集经同一套算法,冒烟全绿断言);首页直入口试玩 ≠ 两关序列生效(序列推进仍待办)。
# ② skill_table 新行两行(provisional,投值归 难度曲线与Boss v0.7):撕咬 bite(damage ×1.5 冷却 1——
@@ -907,7 +907,7 @@ entities:
# (OFAT 冒险注入档×双画像×na=100 与白板同种子流配对,逐关条件通关率差实测每级带平移
# +6.0±0.7 / +8.8±0.8 / +1.2±0.4 点配对 bootstrap 合并取整;读数报告
# production/qa/conversion-calibration/calibration.raw.md。测量面两换:首轮直入口面读数
# 6/8/1 因同日单关直入口口径退役作废,且冒险条件口径 + L2 收紧/大奖励 10→5 现行数值包重测);
# 6/8/1 因同日单关直入口口径退役作废,且冒险条件口径 + L2 收紧/大奇物 10→5 现行数值包重测);
# ② 护甲行强条目重测履行=重测暴露护甲断链:begin_battle hero_armor_class 参数自元进度实现批
# 传入以来零消费(_defender_ac 主角分支只读 db.hero 表值)——永久强化护甲档与冒险加算区
# 护甲轴的生效值未进战斗;本批接线(缺参/-1 = 表值兜底,白板路径逐位不变,冒烟 553 项 0 失败
+2 -2
View File
@@ -14,10 +14,10 @@ class_name AdventureTable
extends Resource
## 概念指路:本表的属性提升类与资源与机会类,与 relics.tres 的机制类,同属一个对象——
## 「奖励」(一次冒险内各渠道给予玩家的增益总称)。定义见 design/gdd/systems/冒险循环/奖励.md。
## 「奇物」(一次冒险内各渠道给予玩家的增益总称)。定义见 design/gdd/systems/冒险循环/奇物.md。
## 它们是它的分类轴上的枚举(机制类 / 属性提升类 / 资源与机会类),不是三套系统;
## 本表承载属性提升类与资源与机会类的种类配额与件值。
## (2026-10-05 命名统一 + v2.0 改名:旧称「数值件」→ 属性提升;顶层「特性」→「奖励」。
## (2026-10-05 命名统一 + v2.0 改名:旧称「数值件」→ 属性提升;顶层「特性」→「奖励」→「奇物」。
## 常量与字段随之前缀 feature_*,**尚未**随顶层改名换到 reward_*——见 06-待办清单。
## 分类轴三个枚举:属性提升类〔生命上限 / AC / 攻击〕;资源与机会类〔行动点上限 /
## 刷新次数 / 金币 / 回复,命名待定〕——本表两类混编;刷新次数与专长获取两项尚未入表。
+3 -3
View File
@@ -3,12 +3,12 @@
# 专长带能否挂进令牌池稀有/罕见档随机投放(P0——迭代 12 双层 BD 实施批 T1)
# Date: 2026-10-04(双层 BD 实施批 T1——任务书五裁定稿;设计权威 双层BD体系-整合定稿-2026-10-03 v3)
# 概念指路:本表的机制类(专长),与 adventure.tres 的属性提升类、资源与机会类,同属一个对象——
# 「奖励」(一次冒险内各渠道给予玩家的增益总称)。定义见 design/gdd/systems/冒险循环/奖励.md。
# 「奇物」(一次冒险内各渠道给予玩家的增益总称)。定义见 design/gdd/systems/冒险循环/奇物.md。
# 它们是它分类轴上的枚举(机制类 / 属性提升类 / 资源与机会类),不是三套系统;本表承载「机制类」(专长 Feat)的逐项定义。
# (2026-10-05 命名统一 + 分类重构:旧称「流派件」→「规则改写型特性」→ 现定名「机制类(专长)」;
# 表名与 relic_id 沿用历史命名,与统一词族对齐归后续批次——见 06-待办清单「命名统一」条目。
# 目标渠道:专长走关底 Boss 击败后专属三选一(不新增节点类型),见奖励文档 2.1 节。)
# 数据配置 RelicTable schema(奖励·机制类定义表;行 = Dictionary 键 relic_id,Rule 4 豁免
# 目标渠道:专长走关底 Boss 击败后专属三选一(不新增节点类型),见奇物文档 2.1 节。)
# 数据配置 RelicTable schema(奇物·机制类定义表;行 = Dictionary 键 relic_id,Rule 4 豁免
# 定义表——AuxItemTable 先例)。
# 行字段:relic_id 主键 / display_name / rarity ∈ {common, rare, rarest}(对齐令牌池三档命名——
# 投放档映射:common/rare→稀有令牌档、rarest→罕见令牌档;relic 令牌永不入普通档=「挂稀有/罕见档」