merge: 迭代17卡⓪内容数据驱动扩展批落籍(EffectEngine事件发布订阅解释器+16发射点+19行23效果类型+组合规则6条+改写窗口;专长27行迁移+旧23挂点枚举消亡+伤害控制器13处消费点拆除+秘宝六件按id特判清零+令牌树收敛+文案表值化+断言面随迁净增17;闸=冒烟800/0+run_all 17套+probe_gate含click全绿+MC二档对拍40局逐位一致[seed0=83000 off/formed配对,判据两套全过]+doc三闸/熵增存量红零新增;active.md与并行迭代18两批union解+台账预配号381撞号改登383〔381/382系并行会话先占〕;台账383;遗留=掘进蓄能积点模判定归词汇表扩展批裁决+主动件kind词族改名不随批+实机目检归用户)
This commit is contained in:
commit
e535436695
25 files changed
+1727
-722
No files matched your search
@@ -18,7 +18,7 @@
|
||||
|
||||
**归属**:迭代 17 卡⓪(头卡,用户令插队——①-④卡顺延);任务书=[任务书-内容数据驱动扩展批-2026-10-06](../research/任务书-内容数据驱动扩展批-2026-10-06.md)(T0-T7≈4.5d,零待裁点)
|
||||
|
||||
**状态**:已立项(任务书已成文待 U0 用户发令开工)
|
||||
**状态**:**已实施完成(2026-10-06 当日立项当日落地——worktree iter17-dd 分支待合并)**:T1 框架(效果引擎+16 发射点,commit 7d157b3)→T2 词汇落码(225765f)→T3 专长 27 行迁移+旧挂点枚举消亡(e28a6cb)→T4/T5 秘宝六件+掘进蓄能受理闸+令牌兑付收敛(a33ddaf)→T6 回归闸全绿(冒烟 800 项 0 失败、单元 17 套、探针闸含 click、MC 二档对拍 40 局同种子**逐位一致**——post 锚 `sim-data/runsum_iter17dd_post_{off,formed}_n20_20261006.jsonl` 留盘);出口报告=[iter17-datadrive-exit-report-2026-10-06](../qa/iter17-datadrive-exit-report-2026-10-06.md)。遗留人闸两项随报告呈报(dig_charge 积点模判定留编排器侧=词汇表边界;主动件 kind 词族全量 rename 不随批)
|
||||
|
||||
#### 菜单开局未传同调装配与局外树规则——疑似缺陷待复验(2026-10-06 登记)
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
| 负责 | 不负责 |
|
||||
|---|---|
|
||||
| 奇物的定义、三个分类、以及分类与渠道的交叉开关 | 每件效果怎么接入结算——归挂点所属文档([战斗结算](../战斗循环/战斗结算.md)、[行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md)) |
|
||||
| 奇物的定义、三个分类、以及分类与渠道的交叉开关 | 每件效果怎么接入结算——归订阅事件所属文档([战斗结算](../战斗循环/战斗结算.md)、[行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md)) |
|
||||
| 生命周期边界:何时出现、何时生效、何时清零 | 卡面排版与界面呈现细则——见 [HUD框架](../表现与支撑/HUD框架.md) |
|
||||
| 获取渠道的口径与约束 | 魔法道具与元进度——归上表两份文档 |
|
||||
| 与相邻概念的边界 | 格面资源、关卡节点、商店本身的规则——归各自所属文档 |
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||
| 分类 | 它给的是什么 | 落点 | 事实源 |
|
||||
|---|---|---|---|
|
||||
| **专长**(Feat) | 给规则。在结算管线某个挂点上给自己加一条规则;同一标签的持有件数达阈值时质变 | 各结算段挂点;标签与档位由求值服务统一算 | `relics.tres`(逐项定义) |
|
||||
| **专长**(Feat) | 给规则。订阅结算管线的某个事件(订阅哪个事件 / 什么条件 / 什么效果三字段声明);同一标签的持有件数达阈值时质变 | 各结算段事件发射点;标签与档位由求值服务统一算 | `feats.tres`(逐项定义) |
|
||||
| **属性值提升**(ASI) | 给数字。抬高角色某项战斗属性的基础值 | 冒险加算区的生命上限 / AC / 攻击三轴 | `adventure.tres`(种类配额与值) |
|
||||
| **资源** | 给"可用的量"。不抬高战斗属性,也不改规则,而是扩充你能调动的余量与机会 | 行动经济、三选一界面、局内钱包;**不进加算区、多数不进持有集** | `adventure.tres`(种类配额与值) |
|
||||
|
||||
@@ -272,8 +272,8 @@
|
||||
|---|---|
|
||||
| [魔法道具](../排雷循环/秘宝.md) | 最需要分清的一对,判据是生命周期:**奇物当局清零,魔法道具跨冒险保留**。两者互不相通——奇物永不进同调位,魔法道具永不进当局随机渠道。 |
|
||||
| [元进度](../跨局循环/元进度.md)(树) | 树管账号永久的规则与容量,奇物管当局构筑,两层互不代替。 |
|
||||
| [战斗结算](../战斗循环/战斗结算.md) | 专长的挂点位于结算管线的各段;挂点清单与语义归结算文档。 |
|
||||
| [行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md) | 部分挂点落在行动点结转与地形处理上,语义归各自文档。 |
|
||||
| [战斗结算](../战斗循环/战斗结算.md) | 专长订阅的事件发射点位于结算管线的各段;事件词汇与发射时机归结算文档。 |
|
||||
| [行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md) | 部分事件(付费开掘 / 地形受伤)落在行动点收对价与地形处理上,语义归各自文档。 |
|
||||
| [关卡节点地图](关卡节点地图.md) | 是渠道的载体,不是奇物的属性。专长挂在 Boss 节点兑付面上,节点类型词表零扩类。 |
|
||||
| [地图战斗资源](../战斗循环/地图战斗资源.md)(格面资源) | 无关:格面资源是单格的一次性产出,不进持有集,也不是渠道给的。 |
|
||||
| [存档序列化](../表现与支撑/存档序列化.md) | 断点负载记录持有集与剩余候选池;键名与版本迁移策略归存档文档。 |
|
||||
@@ -299,7 +299,7 @@
|
||||
|
||||
| 参数 | 取值域 | 事实源 |
|
||||
|---|---|---|
|
||||
| 专长定义行(标识 / 显示名 / 稀有度 / 标签 / 挂点 / 效果字典) | 各字段封闭枚举,行键白名单封闭 | `game/data/tables/feats.tres` |
|
||||
| 专长定义行(标识 / 显示名 / 稀有度 / 标签 / 效果说明 / 订阅行〔订阅哪个事件 on / 什么条件 when / 什么效果 do〕) | 各字段封闭枚举,行键白名单封闭;事件 / 效果类型 / 条件事实 / 算子四词表封闭(效果引擎单一事实源) | `game/data/tables/feats.tres` |
|
||||
| 专长门票(出现概率 / 配额 / 全局限量) | 整数 | **尚未入表**,见待办 |
|
||||
| 属性值提升种类 | 封闭三项:生命上限 / AC / 攻击,扩项走文档修订 | `game/data/schemas/adventure_table.gd` |
|
||||
| 资源种类 | 行动点上限 / 金币 / 回复(**刷新次数与专长获取两项尚未入表**,见待办) | 同上 |
|
||||
@@ -345,6 +345,7 @@
|
||||
| v2.1 | 2026-10-05 | **交叉表收口(用户拍板)**:Boss 渠道**只出专长**,属性值提升与资源在此均不出现——三条渠道的形状定为"一块独占 + 两块并行",专长靠打赢、其余靠抽取与购买。Boss 兑付明确为**终局前**的 Boss,终局 Boss 不给(无后续关卡可消费)。新增 2.4 节**「计价物不自售」规则**:金币不进商店既不拆分类也不开特例,而是写成两轴交叉处的一条约束——商店的计价物是金币,故金币不进商店;按"能不能进商店"反推分类等于用渠道轴去切分类轴,两根轴会缠回去。 |
|
||||
| v2.2 | 2026-10-05 | **门票形态 + 约束分层 + 默认原则**。① 用户明确:奖励节点与商店不直接给专长,而是给一个**「专长获取」道具**,拿到后开专长三选一——交叉表专长在两渠道由"不出现"改为"**门票形式**";门票归专长(给的是一件以前不会的事,只是把选择推迟),理由是防止用钱定点买构筑。② 用户质疑「计价物不自售」本质是特判——**承认成立**:它确实是在分类白名单之外加的一道过滤,与死特判的区别在于把"枚举例外"变成"**可计算谓词**"(新渠道/新奖励自动判定)。2.4 改写为**三层约束**(分类白名单 / 可计算谓词 / 显式例外清单),并给出判断标准:结构性原因可写成谓词,设计性原因只能进清单且每条须写理由;三个方案(单独分类 / 谓词 / 死特判)的代价并列摆出,不藏折中。③ 用户定**默认原则**:除已登记的特殊规则外,分类内的东西都要在池子里——据此**回复应在商店内**,现行 shop.tres 货架缺它是"现状与表格不对齐",须在实施批补上。 |
|
||||
| v2.3 | 2026-10-05 | **门票机制细化 + 默认原则表述修正**。① 门票**拿到即开、不可囤积**(用户定)——不进持有集,防止玩家把关键决策无限推迟,也防持有物语义从后门回来。② 门票的"罕见"**只在概率不在价格**,一局限购一次,并加**计步保底**:连续 5 次三选一展示未出现则第 6 次必出;计数跨奖励节点与商店共享、**刷新后的重新展示计入**(用户明定含刷新),限购用满后保底不再触发。③ **修正 v2.2 的误读**:把"分类在某渠道不出现"当成需要理由的缺格是错的——渠道出哪些分类是渠道轴的定位(Boss 只出专长),不是例外;默认原则只管**分类内部**的成员齐不齐。④ 专长总量与档位阈值的匹配按用户决定**延后**(待第四关内容批后实测复裁),另单独登记 charge 标签仅 3 件、永远达不到档二的数据缺陷。 |
|
||||
| **v2.8** | 2026-10-06 | **效果行为数据驱动换代(内容数据驱动扩展批)**:专长的效果声明从「挂点+效果字典」换为「订阅行」——每件声明**订阅哪个事件(on)/ 什么条件(when)/ 什么效果(do)**,由效果引擎统一解释执行;旧挂点枚举消亡(事件名+效果类型取代)。配套事实:效果引擎 `game/core/effect_engine.gd`(事件 16 / 效果类型 24 / 条件事实 9 / 算子封闭词表);专长行 `feats.tres` 27 件全量迁移,秘宝被动六件同批订阅化;行为与迁移前逐位一致(MC 同种子 40 局逐位对拍实证)。
|
||||
| **v2.7** | 2026-10-05 | **三个子节点正式定名(用户拍板:去「类」字后缀)**。此前三个分类只有带后缀的描述(机制类 / 属性提升类 / 资源类),是文档层临时叫法,既非专名也非玩家可读的词。现定专名:**专长**(Feat)/ **属性值提升**(ASI)/ **资源**。定名依据:前两个是 DND 规则书官方中文,且与用户 v1.1 原话一致(当时原话就是「属性提升(ASI)」与「专长」,v1.1 落文时被加了「类」字后缀而退化成描述)。「机制类」这个叫法本身还有硬伤——它的 28 个成员里没有一件是"机制",实际是"在结算挂点上改一条规则",读者看到会误解为游戏机制。
|
||||
**新增 1.6 节「三层结构与命名」**(用户 2026-10-05 拍板做玩家可见的三层):奇物(总称)/三个分类/具体单件。明确**命名是本节规矩、呈现是另一件事**——分类名在卡面不出现(归 battle.md / node-reward.md 裁决),但帮百科、成就名、效果描述的指代三处都要用,所以它必须是玩家读一遍就懂的正式名词。连带:修掉批量替换撞出的五处「专长(专长)」类自撞、v2.0 历史行内的自撞并标注当时的旧称、registry 的「资源(命名待定)」过期标注。
|
||||
| **v2.6** | 2026-10-05 | **修正核心循环位置图:奇物不是打一场战斗给一份**(用户纠错)。原图把"关内 排雷推理 → 战斗结算 → 通关 → 得到一份奇物"画成一条链,读起来就是每场战斗通关都给一份——**错在把关内普通战斗的通关与关底 Boss 的通关混为一谈**。按 [冒险结构](冒险结构.md) 的定义,**通关一关 = 该关关底 Boss 被击杀**,所以"击败 Boss"与"通过这一关"是同一个时刻、不是一条链上的两步。改法:① 图改为分支结构(普通战斗节点→不给、往下走;关底 Boss 击败→专长三选一+通关回血);② **一关只兑付一次**写成显式口径;③ 2.1 节渠道名由"终局前 Boss 击败后"改为"关底 Boss 击败(即通过这一关)",并写明触发点就是关卡推进本身那一刻;④ 文首引言加"兑付频率"条,交叉表渠道名与 registry 同步;⑤ 连带修掉一处污染——节点类型封闭枚举五种里的"奖励"曾被 v2.4 批量替换误伤成"奇物"(节点类型里没有奇物这一类),已复原。 |
|
||||
|
||||
@@ -167,7 +167,7 @@ Boss 专属身份 = 专属池承载:独占技能 + 权重轮廓(**三代错
|
||||
|
||||
即:普攻完全不可预测;特殊技有一次类型级预告,不可撤销,但给"继续挖还是停手"的决策依据。
|
||||
|
||||
**半血解锁弹出规格(2026-10-05 技能池执行批,D8 用户裁)**:Boss 血量降至 `unlock_hp_pct` 阈值(池条目字段,域 [1,99],缺省无字段=无门槛)时,下一个开轮摇号前出一次归因明细行「XX 解锁了 YY」(高光键 `skill_unlock`,行型复用 highlight 零新增);呈现层对该行弹**一次性技能名 toast**(轻量提示,非演出——零动画资产、不改演出规格),只报技能名不报数值,池与权重不公开纪律不变。解锁=单向闩(治疗抬血不解锁);锁定条目双面过滤(不进可摇集合与保底特殊技集合——保底不得逼出未解锁技);解锁后冷却初值 0 即可摇。投放纪律=字段通用、仅 Boss 行投放(enemy 表无 boss 编码位,硬闸须跨表查节点类型——不做硬闸,本句即文档纪律登记)。旧环"下一拍全程亮出(意图徽标 + 环点)"的预告粒度随行为环退役。技能动画的攻/防系映射归[战斗表现](战斗表现.md),敌人侧摇定动画位归[HUD 框架](../表现与支撑/HUD框架.md)(呈现载体 = 站桩立绘,2026-09-20 全站桩拍板),本系统只锁上面这张三档规格。
|
||||
**半血解锁弹出规格(2026-10-05 技能池执行批,D8 用户裁;内容数据驱动扩展批 T1 补登记——解锁判定点=通用事件「血量阈值 `enemy_hp_threshold`」的发射点,对所有带 `unlock_hp_pct` 字段的敌人逐个发射、非 Boss 专属——Boss 语义留给订阅条件判定)**:Boss 血量降至 `unlock_hp_pct` 阈值(池条目字段,域 [1,99],缺省无字段=无门槛)时,下一个开轮摇号前出一次归因明细行「XX 解锁了 YY」(高光键 `skill_unlock`,行型复用 highlight 零新增);呈现层对该行弹**一次性技能名 toast**(轻量提示,非演出——零动画资产、不改演出规格),只报技能名不报数值,池与权重不公开纪律不变。解锁=单向闩(治疗抬血不解锁);锁定条目双面过滤(不进可摇集合与保底特殊技集合——保底不得逼出未解锁技);解锁后冷却初值 0 即可摇。投放纪律=字段通用、仅 Boss 行投放(enemy 表无 boss 编码位,硬闸须跨表查节点类型——不做硬闸,本句即文档纪律登记)。旧环"下一拍全程亮出(意图徽标 + 环点)"的预告粒度随行为环退役。技能动画的攻/防系映射归[战斗表现](战斗表现.md),敌人侧摇定动画位归[HUD 框架](../表现与支撑/HUD框架.md)(呈现载体 = 站桩立绘,2026-09-20 全站桩拍板),本系统只锁上面这张三档规格。
|
||||
|
||||
| 规格 | 含义 |
|
||||
|---|---|
|
||||
@@ -297,4 +297,5 @@ Boss 专属身份 = 专属池承载:独占技能 + 权重轮廓(**三代错
|
||||
| v0.10 | 2026-09-19 | **技能池新效应词汇批(用户拍板——设计权威 proposal-status-vocabulary.md〔提案已吸收退役 git a6833b6a——现行事实源=敌人系统.md 词汇表/增益状态.md〕 v1.0,与 战斗结算 / 增益状态 / registry / 切片代码同批)**:① 技能类型枚举三→四(+妨害 debuff——对主角施减益的 0 伤害施放动作,字段复用 buff_ref/buff_duration,落点由状态行 target_side 路由〔增益 → 敌方侧 / 妨害 → 主角侧,施放类 side 守卫加载拒绝〕,执行与增益技同族施放行语义——不掷不折不兑付伏击);② 伤害技新字段 rider_mult(必中附加分量——"固定值伤害"改形:固定值不随基线缩放与共享技能表前提冲突,必中小倍率承载"躲不掉的稳定伤害");③ 池构成纪律 +每池妨害 ≤1;④ 意图三档特殊技预告扩三族(攻击系 ⚔ / 增益系 ✦ / 妨害系 ☠);⑤ 三词收敛两词——多段命中经用户拍板退役(无防御磨损体系,无对照机制),P1 字段位「命中段数」保留;⑥ 实装面 = 仅 L2 Boss 蛛化卓尔精灵(venom_burst + rider_mult 0.75;新行 web_snare 蛛网束缚 debuff→off_guard,首发载荷 = 失衡〔用户拍板〕,乏力 sapped 留作第二词汇),其余敌种不动 |
|
||||
| v0.11 | 2026-09-20 | **伏击单轮上限删除批(用户拍板——与 战斗结算 / 地图战斗资源 / 难度曲线与Boss / registry / 切片代码同批)**:① 伏击节上限段与溢出可见行删除,一轮踩雷数由行动点预算天然封顶成文;② 字段表 advantage_per_round_cap 行删除(原 0 = 免疫伏击语义作废);③ 结构冻结联动纪律去单轮上限 × 攻击基线、数量 × 上限两条;④ 验收标准伏击授予与表校验条同步 |
|
||||
| v0.12 | 2026-09-20 | **格面资源八型批(用户拍板——与战斗结算 / 地图战斗资源 / 行动经济 / registry / 切片代码同批)**:① 伏击节整体退役改写(复利集中单血条与群伤奖励双重不对称,用户裁决);② 责任表/结构冻结/验收标准的伏击词条目拆除;③ 群伤负向现况 = 警觉(敌方护甲等级 +1),定义与承载移交增益状态 |
|
||||
| v0.14 | 2026-10-06 | **事件发射点登记(内容数据驱动扩展批)**:半血解锁判定点升级为通用事件 `enemy_hp_threshold` 发射点(对所有带 unlock_hp_pct 字段的敌人逐个发射——非 Boss 专属,Boss 语义留给订阅者条件判定;本批零订阅者,登记归效果引擎事件词汇 16 发射点之一,后续内容批随批接线)。零行为变化。
|
||||
| v0.13 | 2026-10-05 | **技能池执行批(迭代14④——D1-D8 全裁零待裁,与 skills.tres/enemy.tres/registry 同批)**:①池构成表 8 敌种全覆盖(补 L2+L3 五敌种行:巨蜘蛛/蛛化卓尔精灵/灰矮人/钩爪恐魔/石君王——池构成轮廓+定位列,权重数值不登)+护甲列改读表口径(失同步欠账清偿);②Boss 句改三代错峰口径;③意图呈现节补半血解锁弹出规格句(**Boss 半血解锁新独占伤害技**:字段 unlock_hp_pct〔1,99] 缺省无=无门槛/单向闩/双面过滤/保底不逼锁定/解锁出一次归因行+一次性技能名 toast——D8 只报名不报数值零演出;三 Boss=震地怒击 ×2.5/CD4·遏毒 ×2.0/CD3·岩崩 ×2.5/CD4 案甲 provisional 归调参);④首拍加权取消〔D2〕杂鱼纹理注销不立文 |
|
||||
@@ -176,6 +176,8 @@
|
||||
|
||||
结构冻结(非调参项,改动走本文修订流程):真视窄域护栏、零信息目标不消耗、边缘窗口照常受理、使用零行动点成本、库存关卡域、用后不可逆、零随机。
|
||||
|
||||
效果声明形态(内容数据驱动扩展批换代,2026-10-06):被动件的效果行为从按件 id 硬编码换为**订阅行**——行内声明**订阅哪个事件(on)/ 什么条件(when)/ 什么效果(do)**,由效果引擎统一解释执行(淬毒刃纹=克制判定事件、标中殉爆=标旗事件、惊巢反制=踩雷事件、工兵晨令=每轮开始事件、偏运硬币=资源掷定事件);主动件保持按效果类型通用分发(掘进蓄能的受理闸=使用事件订阅+积点计数器账本)。事件 / 效果类型 / 条件事实 / 算子四词表封闭(效果引擎单一事实源),卡面效果摘要=行 `desc` 字段直读(文案表值化)。
|
||||
|
||||
playtest 预警(预注册,归难度曲线与Boss):
|
||||
|
||||
| 预警 | 指标与读法 |
|
||||
@@ -214,4 +216,5 @@ playtest 预警(预注册,归难度曲线与Boss):
|
||||
| v0.6 | 2026-09-30 | **拍板点 1 收口批(2026-09-30 用户裁决甲:同调=终局方向)**:①新增「定位与形态沿革」节——现行正文定性=切片期过渡形态、终局=局外同调件(设计权威底稿=原提案八拍板,git 57da58c 已退役),两态关系=形态替换、衔接纪律与事故留痕入节;②正文口径回写四处:五维度表信息/规划/反制三行改现行态(罗盘退役/显影件封存/豁免面入正文)、覆盖检查改投放维度覆盖口径、掉落池获取节补解锁门控(2026-09-29 拍板③甲)、板级叠加层预读集改「机制在案无投放来源」;③验收两条(护栏/覆盖检查)与调参表投放态注记、地形变异依赖行同步;④实施批登记见 06「秘宝同调实施批」条。审计冲突 C19/C29 随批收口(全录见审计报告 git 提交 c095916,报告已退役) |
|
||||
| v0.7 | 2026-10-01 | **奖励节点渠道改写注记(迭代 10 追加批——用户拍板「奖励节点与通关三选一共享同池」)**:①「奖励节点三选一构筑点」形态(v0.5 ④)退役——奖励节点改提升三选一共享池(秘宝件为池中 1/6 权重选项,同调位满位替换交互随 BonusPickOverlay 共用面生效,spec:node-reward.md v2.0);②道具件经节点渠道入本关库存(来源归因 reward_node,与掉落/三选一渠道同受 transitional_sync_slots 过渡上限约束);③战斗掉落渠道零改动;④本批过渡约束形态与切换义务注记见 registry aux_items 条同日批注;同调实施批的全渠道统一收口义务不变 |
|
||||
| v0.8 | 2026-10-03 | **反制契约作废批(2026-10-03 用户终裁——层级错配失败设计)**:①五维度「反制」行与豁免面 {plan, info, counter} 的 counter 注记改终裁态(原框架契约「每变异≥1反制道具」作废,终裁理由见地形变异.md v0.6/本文件 v0.8 版本行(原 06 条目已收口移除));②上游地形变异依赖行、P2 后置行同步改「迭代 12 调研前置重定」;③地形变异.md v0.6 同批落义务作废注记;④迭代 11 范围裁定(同调→商店→迷雾三批)见 roadmap 迭代 11+ 行——反制批移迭代 12 |
|
||||
| v1.0 | 2026-10-06 | **效果声明换代(内容数据驱动扩展批)**:被动六件(淬毒刃纹/偏运硬币/工兵晨令/惊巢反制/标中殉爆)改订阅行+掘进蓄能受理闸数据化(使用事件订阅+积点计数器)——按件 id 硬编码清零;结构冻结六条零触碰,行为与迁移前逐位一致(MC 同种子 40 局对拍实证)。
|
||||
| v0.9 | 2026-10-05 | **消歧更名批(用户拍板 2026-10-05):系统更名「魔法道具」→「秘宝」**。**更名理由**:「魔法」一词在本作已被征用为敌方侧伤害/护甲语汇(`magic_bolt 魔法矢` / `magic_recoil 魔法反噬` / `magic 魔法族` 格面微光 / `ward 魔法护甲`),「魔法道具」易被读成"魔法属性的道具";「秘宝」取"神秘·强大·稀有"义,与九件内容气质(工兵/工程/手艺向)契合,且与局内道具(奇物)不冲突。**同调位机制名保留不变**(attunement 仍为 DND 词,机制血统不受更名影响)。**本批仅改文档称谓,代码不动**——代码标识符仍为 `aux_*` / `AUXILIARY_ITEMS`(auxiliary 词根为过渡形态遗留,与中文名不同步属已知欠债,另批处理);退役路径残留玩家可见文案(`battle_narrator.gd:117-118`、`bonus_interact_controller.gd:76`)亦留另批。历史定稿文档(research/ 提案与任务书、qa/ 检查单、archive/ 归档)按换名先例原样保留不改。 |
|
||||
@@ -0,0 +1,70 @@
|
||||
# 出口报告——内容数据驱动扩展批(迭代 17 卡⓪,2026-10-06)
|
||||
|
||||
状态:**批内全部提交完成、六闸全绿、终态=worktree(iter17-dd-20261006 分支)全部提交,待用户合并落 master**。
|
||||
执行事实源:[任务书-内容数据驱动扩展批-2026-10-06](../research/任务书-内容数据驱动扩展批-2026-10-06.md)(v1.1);设计权威:[研究-内容数据驱动扩展架构-2026-10-06](../research/研究-内容数据驱动扩展架构-2026-10-06.md)。
|
||||
执行形态:前任 subagent 完成 T0-T2 后因额度中断,续跑 subagent 接手 T3 断点(三个脏文件半成品)收口并完成 T4-T7。
|
||||
|
||||
## 一、提交清单(worktree 内全部提交,按卡)
|
||||
|
||||
| 卡 | 提交 | 内容 |
|
||||
|---|---|---|
|
||||
| T1(前任) | `7d157b3` | 效果引擎框架:事件发布订阅解释器+16 发射点埋点+组合规则六族+计数器账本 |
|
||||
| T2(前任) | `225765f` | 词汇表落码:feats/treasure 两表 trigger 订阅形态 schema 换代+护栏迁移 |
|
||||
| T3 | `e28a6cb` | 专长迁移:27 行 triggers 全量生效+旧 23 挂点枚举消亡+_feat_flags_for 退役+消费点拆除(伤害控制器 13 处+编排器全部旗面)+文案入表(专长卡 desc)+断言面随迁(冒烟 ④-⑧ 全量改写) |
|
||||
| T4+T5 | `a33ddaf` | 秘宝六件迁移(淬毒/偏运/晨令/惊巢/殉爆/掘进蓄能受理闸)+按 id 特判清零+pick_refresh kind 分发+curio 卡片文案入表;令牌兑付 match 收敛进效果类型路由表+树规则键同面收口 |
|
||||
| T7 | 本批终提交 | 文档正主换代(奇物.md v2.8/秘宝.md v1.0/敌人系统.md v0.14+registry 两件+06 状态收口+roadmap 卡⓪行)+本报告 |
|
||||
|
||||
T0 断点核查记录:前任已留 pre 锚(见 §三),T0 三查其余项随续跑开工复读完成。
|
||||
|
||||
## 二、闸读数(T6 回归闸全绿)
|
||||
|
||||
| 闸 | 读数 | 结论 |
|
||||
|---|---|---|
|
||||
| 冒烟(三闸) | **800 项检查,0 项失败**,退出码 0,无 SCRIPT ERROR | 绿(断言数 783→800:T3 断言面随迁净增 17 项,漂移追认随 T3 commit 留痕) |
|
||||
| 单元(run_all) | **17 套全绿** | 绿 |
|
||||
| 探针闸(probe_gate --click) | ui_input/ui_struct/ui_contrast/click 四段全 PASS,批末残留 Godot=0 | 绿(本批触碰呈现层——battle_narrator/curio_interact 文案面,故带 click) |
|
||||
| MC 二档对拍 | 见 §三 | 绿——逐位一致 |
|
||||
| 确定性复放 | 同种子改前/改后两次采集逐位一致(40 局全对) | 绿(强于「同码两遍」口径) |
|
||||
| doc 三闸 | doc_link_audit 过(exit 0);doc_term_audit 过(exit 0);gdd_lint 2 处失败=**基线既有**(06-待办清单/07-体验验证清单结构性指标,stash 对比实证改前改后同为 2 处零新增) | 绿(零新增) |
|
||||
| 熵增闸(repo_structure_audit) | 1 处违例=design/diagrams 子目录越界——**基线既有**(前批「GDD系统架构总图批」00712d5 产物,非本批引入;归该批主自证或后续清理) | 绿(零新增) |
|
||||
|
||||
## 三、MC 锚与对拍结论(二档合规)
|
||||
|
||||
- 判据口径:契约 2 两套(确定性复放与冒烟=**逐位一致**;MC 统计量=**成型画像同带**,正主=design/qa/m4iter12-t7-batch1-readings-2026-10-04.md)。
|
||||
- 改前锚(前任 T0 采集,留盘未补跑):`sim-data/runsum_iter17dd_pre_off_n20_20261006.jsonl` / `runsum_iter17dd_pre_formed_n20_20261006.jsonl`(seed0=83000、N=20/档、normal 档、route=min、attune=off、off/formed 同种子配对;formed=七流派各 2 件档一成型注入画像——14 件全部系本批迁移行)。
|
||||
- 改后锚(T6 采集):`sim-data/runsum_iter17dd_post_off_n20_20261006.jsonl` / `runsum_iter17dd_post_formed_n20_20261006.jsonl`(同 seed0 同口径;新锚去前缀纯 JSONL 按种子升序)。
|
||||
- **结论:40 局(2×20)同种子逐位一致**——每局 RUNSUM 全字段(通关数/承伤/踩雷/旗经济/资源事件/钥匙石/逐战上限序列等 33 字段)改前改后零差。统计量同带判据自动满足(逐位一致蕴含同带):L1 通关率 off 20%(4/20)、formed 80%(16/20),与改前逐位同值。
|
||||
- 档位合规:总量 40(每档 20)=二档上限贴边;另有 T3 段末 S1 预检 2×5 局(三档只测不判,未留锚)——S1 停机点未触发。
|
||||
|
||||
## 四、代拍板记录(任务书 §八白名单四项+呈报不停机级,全部 commit 留痕)
|
||||
|
||||
1. **fact 查询面落法**:`has` 算子=在场判定(value 缺省=非空;value 给定=数组包含)——地形伤/伤害型地形四行订阅的查询面(T3 commit)。
|
||||
2. **fact 查询面落法**:perfect_defense「全中」装不进封闭 9 项事实——when 落 flags_count≥1 保守判定,全中闸=flag_settle 发射点施加面承载(禁私开 fact 停机点纪律保持;T3 commit)。
|
||||
3. **事件载荷字段**:attack_commit 发射点从 resolve 内移至开单入口(任务书 §3.1 定稿位),命中随单据 context 携带;damage_taken 补 terrain_kind、flag_hit 改 terrain_kind=邻接伤害型变异集(T3/T4 commit)。
|
||||
4. **发射点微调(±1)**:round_start 发射位前移至行动经济轮切换之前(树规则 grant_ap queue 当轮兑现=先手压制首轮语义锚);attack_commit 单发射点、命中两处消费(编排器段序承载连珠矢开单位/控制器管线算术承载其余施加面——dispatch 纯读零副作用)。
|
||||
5. **效果类型落法对拍注记(映射表五处语义修正的随批追加,行为等价优先)**:猎巢人/矿工的执拗=必中附加通道(映射表标 modify_ticket/attack_bonus 与现状不符,落 add_ticket_rider per 载荷);整备军备双效果两行订阅;厚积薄发=满层持续状态(非沿触发);荆棘编织者=伤害兑付位第二份产出(非 ×2 乘区);完美布防=旗伤单值倍增(非 yield 乘区)——全部随 .tres 尾注+commit 留痕。
|
||||
6. **冒烟断言数漂移追认**:783→800(断言面随迁净增 17 项)。
|
||||
7. **文案微调**:掘进蓄能/失义件秘宝卡补实际摘要(原 kind 硬编码面无文案);其余 desc 措辞与旧映射逐字一致。
|
||||
8. **效果类型计数**:24 型(任务书标题 23 系笔误——T1 前任已代拍留痕,沿用)。
|
||||
|
||||
## 五、文档正主换代清单(T7)
|
||||
|
||||
- 奇物.md **v2.8**:专长效果声明换代(挂点→订阅行)五处+版本行;事实源表 feats.tres 行结构换代。
|
||||
- 秘宝.md **v1.0**:效果声明形态节(被动件订阅行+主动件 kind 分发+掘进蓄能受理闸数据化+desc 文案表值化)+版本行。
|
||||
- 敌人系统.md **v0.14**:半血解锁判定点=通用事件 enemy_hp_threshold 发射点登记(非 Boss 专属,零行为变化)+版本行。
|
||||
- registry/entities.yaml:专长 data_sources 换代+effect_declaration 新条(四词表封闭/组合规则/遍历序/重建时机)。
|
||||
- registry/architecture.yaml:core_decisions 新条 effect_engine_interpreter(ADR-0011 候选)。
|
||||
- 06-待办清单:数据驱动批状态=已实施完成收口(提交号+闸读数+遗留两项)。
|
||||
- roadmap:迭代 17 卡⓪行换代(状态=已实施完成)。
|
||||
|
||||
## 六、遗留人闸项(呈报不停机级,均为显式拍板请求非缺陷)
|
||||
|
||||
1. **掘进蓄能积点模判定留编排器侧**:use_treasure 受理闸已数据化(treasure_used counter_spend 订阅),但「每 charge_n 安全格积 1 点」的模判定留在战斗编排器授予段——「先增后判」在发射点施加架构下无法行内表达(when 于 dispatch 预评估,先增后判需引擎内联过账=会破坏矿脉直觉连击的施加序等价)。行为与迁移前逐位一致(charge_n 读行零字面量);若要求彻底行内化,需效果引擎增设「计数器种子/内联过账」机制,归后续词汇表扩展批裁决。
|
||||
2. **主动件 kind 词族全量 rename 不随批**:新词(reveal_tiles/preview/grant_ap/remove_mines/refresh_pick)已在闭集与旧词共存(T2),本批只完成 pick_refresh kind 分发合流;mine_reveal→reveal_tiles 等全词族 rename 波及库存/呈现标记/单测约 15 处零行为收益,显式不在本批(出口呈报,归后续清理批或随批裁决)。
|
||||
3. **实机目检归用户**(批次工作流第 12 步):呈现面改动=专长卡与秘宝卡文案源(desc 直读,措辞逐字迁移)——建议实机抽查一张专长卡+一张秘宝卡。
|
||||
|
||||
## 七、风险与边界声明
|
||||
|
||||
- 存档零触碰:存档键/格式/断点结构一字未改(持有集/装备存 id 不变,换的只是解释方式)。
|
||||
- 护栏全保留:四词表封闭校验、行键白名单、悬空引用致命、零裸 flat 禁令、流派扫雷触发铁律(MINE_EVENTS 同义形态)全部以新形态延续;本批新增封闭面=when value_from 悬空校验。
|
||||
- 主区零直改:全部改动在 worktree iter17-dd-20261006;并行在飞三线(iter17-pause 卡③/standee-tier/uialign)未触碰。
|
||||
@@ -39,6 +39,12 @@ api_decisions:
|
||||
adr: ADR-0005
|
||||
decision: SCHEMA_VERSION 比较逻辑归 存档序列化(存档版本 > 当前 = 拒读);RNG 快照 = master_seed + 各流 scope 计数器 + 意图/窗口选择序列,切出须在 scope 事件边界外(无在飞 open_stream 实例——战斗结算 编排保证)
|
||||
|
||||
core_decisions:
|
||||
- name: effect_engine_interpreter
|
||||
adr: ADR-0011(候选——内容数据驱动扩展批 2026-10-06)
|
||||
decision: 内容效果行为=发布订阅解释器(EffectEngine)——结算管线同步 emit 事件(无队列无异步),内容行以「订阅哪个事件 on / 什么条件 when / 什么效果 do」声明订阅,解释器遍历持有订阅集返回按声明序排列的命中,发射点按组合规则施加;旧 23 挂点枚举与按件 id 特判消亡
|
||||
note: 事件/效果类型/条件事实/算子四词表封闭于 EffectEngine 常量(单一事实源,schema 校验引用);遍历序=数据表声明序写死保种子复放;订阅重建=每战 begin_battle(中途获得下一战生效);不做通用拦截器链,改写窗口=判定点就地按声明序施加(R2 裁决)
|
||||
|
||||
forbidden_patterns:
|
||||
- pattern: autoload_global_event_bus
|
||||
adr: ADR-0001
|
||||
|
||||
@@ -600,7 +600,8 @@ entities:
|
||||
lifecycle: 候选池构建(冒险开局一次)→ 在渠道上出现(三选一形式)→ 选定(自池中剔除不再复现;选到「专长获取」时立刻再开一次专长 N 选一)→ 持有生效或即时兑付 → 冒险以任一结局收束时整集清零;断点记录持有集与剩余候选池
|
||||
acquisition: 三条渠道的**目标分工(交叉开关,v2.2 收口)**——专长:主渠道=**关底 Boss 击败=通过这一关**(**唯一直接给的渠道**;不新增节点类型、挂 Boss 节点兑付面;末关的 Boss 击败后不给——无后续关卡可消费)。**兑付频率**:奇物不是打一场战斗给一份,关内普通战斗节点不给任何奇物,一关之内只兑付一次(奖励节点与商店同理,各节点各自兑付),奖励节点与商店**只给「专长获取」门票**——**拿到即开、不可囤积**,不进持有集(选中/买下同一时刻开专长三选一;可囤积会让玩家无限推迟关键决策,且把持有物语义从后门放回)。门票归专长(给的是一件以前不会的事,只是把选择推迟)。罕见**只在概率不在价格**,一局限购一次,**计步保底**:连续 5 次三选一展示未出现→第 6 次必出(计数=展示次数、刷新重展计入、奖励节点与商店共享、触发清零、限购用满后不再触发);属性值提升:奖励节点 + 商店(口径「训练」);资源:奖励节点 + 商店(**金币除外、回复在内**);后两类均不出现在 Boss 渠道。形状=「一块独占 + 两块并行」,专长靠打赢、其余靠抽取与购买。**默认原则**:除已登记的特殊规则外,分类内的东西都要在它该出现的渠道池子里——任何不出现都须登记理由**现行实现三渠道共用同一候选池、三类混编**,分工尚未实施,登记于 06-待办清单 BD 分层条目
|
||||
boundary: 判据走生命周期——**一次冒险内获得、冒险收束即清零的是奇物;跨冒险跟着你走的是魔法道具**。奇物永不进同调位,魔法道具永不进当局随机渠道;与元进度天赋树两层互不代位
|
||||
data_sources: feats.tres(专长定义行)/ adventure.tres(属性值提升与资源的种类配额与值)/ shop.tres(货架取舍)
|
||||
data_sources: feats.tres(专长定义行——效果声明=triggers 订阅行〔订阅哪个事件 on / 什么条件 when / 什么效果 do〕,旧挂点+效果字典形态 2026-10-06 内容数据驱动扩展批退役)/ adventure.tres(属性值提升与资源的种类配额与值)/ shop.tres(货架取舍)
|
||||
effect_declaration: **效果行为=事件订阅(2026-10-06 内容数据驱动扩展批换代)**——事件/效果类型/条件事实/算子四词表封闭于效果引擎 `game/core/effect_engine.gd`(事件 16 发射点 / 效果类型 24 / 条件事实 9 / 算子封闭;四词表出域=加载期校验致命);组合规则六族(加法/乘法/任意真/按序改写/按序消耗/即时执行)为效果类型必填属性;遍历序=数据表声明序写死保种子复放;订阅重建=每战开始从持有集/装备集重建(中途获得下一战生效)
|
||||
charge_defect: **charge 档二不可达登记(T7 奇物批迭代15②——数据缺陷留痕,白名单4授权「只登记不硬补」)**:feats.tres 现行 charge 标签仅 3 件(<4),档二激活要求同标签 ≥4 件——charge 流派永远达不到档二,即使获取次数无限。补哪几件系内容裁决,转独立内容批(硬补占位件已否决);档二可达性复裁=第四关内容批落地后实测(C2 待裁点)。
|
||||
pool_architecture: **池架构=总池-渠道子集(多级缓存形,用户 2026-10-05 裁 T6 时确立)**:总池=单一令牌库(TIER_QUOTAS 70/25/3=98 + 专长活行追加);三渠道按分类白名单从总池取**子集视图**(关底 Boss 击败=只出专长子集;奖励节点/商店=属性值提升+资源子集,专长只以门票形态出现)——渠道不各建物理池,白名单在候选视图层生效(T4 过滤式)。配额挤占重裁:heal rare 5→3、refresh rare 0→2(方案B,总量 98 锚不变;用户裁「渠道从总量里拿子集」时同步裁)。
|
||||
refresh_boundary: **刷新次数边界写死(T6 奇物批迭代15②——防后续混淆结算)**:「商店独立刷新机制」(shop_refresh_free/shop_refresh_cost_base/shop_refresh_cost_curve 三旋钮——进店后的免费次数+GP 付费刷新)系**商店自身服务**,作用对象=货架重抽;奇物 refresh 件(资源类成员,作为奇物授予的重抽次数)作用对象=**三选一界面**(兑付即 _attune_refresh_x 增量,X 余量=三选一重抽次数),不进加算区(§2.2 加算区四轴不含它)。两者不是一回事,禁止混算。
|
||||
|
||||
Reference in new issue
Block a user