docs(迭代32反哺写入批): 卡①卡②两份反哺点清单 29 项按 2026-10-21 用户裁决全部落文
- 措辞换代:八件 design/ 文档「完美排雷」→「完美封印」(art-bible v3.17);术语表「退役词对照」增行成 S11 词表权威来源 - 闸扩面:tools/doc_term_audit.py 词表加「完美排雷」+扫描域扩 design/art(用户裁 2026-10-21);变异验证=注入见红 EXIT=1、还原回绿 - architecture.md v1.9:effect_engine/orchestrator 行与战斗域装配节改 ctx 形态、架构原则补第 8 条「系统无状态」、flag_missed→seal_missed 两处订正 - 提案 v1.3:§7.7/§7.10.3/§7.10.12 三处依卡片 §12 裁①②订正;sim-data/README 纪律③⑦批次例外登记 - 账面:待办清单增反哺专条×2/重锚批准条目/game/ 域欠账条目,无状态原则条「文档设计已闭合」;体验验证清单增 ㉚ 目检五项 - 代拍板两单 14 条用户全部追认(2026-10-21);文档域闸 --docs 全绿(含 08c 流水线闸 70 条目零红)
This commit is contained in:
1 parent
f103177471
commit
f2b2558098
15 files changed
+121
-39
No files matched your search
@@ -1,11 +1,11 @@
|
||||
# 美术圣经(Art Bible)— Dungeon Sweeper
|
||||
|
||||
> 项目:Dungeon Sweeper(扫雷 × 自动战斗 闯关 Roguelike)· 状态:**第 1–9 节定稿**(§6 环境/§7 UI/§8 资产规范/§9 参考与反参考已于 2026-09-23 v1.8 按 D1/D2/D4/D5 框架成文;D3=§5 角色已于 v1.6 落地、v1.7 抽离独立文档;框架 2026-09-22 用户拍板,原登记于中间产物修订指导,经裁决不入库,明细归状态记录 125);现行为 v3.16,历次修订明细见 git 提交史
|
||||
> 项目:Dungeon Sweeper(扫雷 × 自动战斗 闯关 Roguelike)· 状态:**第 1–9 节定稿**(§6 环境/§7 UI/§8 资产规范/§9 参考与反参考已于 2026-09-23 v1.8 按 D1/D2/D4/D5 框架成文;D3=§5 角色已于 v1.6 落地、v1.7 抽离独立文档;框架 2026-09-22 用户拍板,原登记于中间产物修订指导,经裁决不入库,明细归状态记录 125);现行为 v3.17,历次修订明细见 git 提交史
|
||||
>
|
||||
> **Art Director Sign-Off (AD-ART-BIBLE)**:历次批均 SKIPPED(v1.8 §6–9 补全亦 SKIPPED)— Lean/Solo mode(非 PHASE-GATE;§6–9 已成文,full 门禁签核时机待用户表态)
|
||||
> 风格基调(2026-09-10 用户定稿):地牢题材但**非暗黑风**——轻快明亮的幻想冒险风,全年龄;像素风;角色 2~3 头身
|
||||
> 参考池(用户审阅选定,三者相融):**Into the Breach**(网格信息分层;雷图棋盘呈现基准 = 其战棋地块质感 × 正俯视角,见 §3.2)× **Moonlighter**(明亮像素地牢质感)× **Peglin**(明快全年龄地牢色彩);参考截图存于 `design/art/references/`(三款×2 张,与点名池一一对应;gungeon 两张经 2026-09-22 裁决退场;正面取/弃与反面条款已成文 §9,反面图证待素材生成后另批增补)
|
||||
> 约束(2026-09-10 用户强调):本圣经是**纯表现层文档**——明亮轻快是美术风格,不是玩法成分。圣经禁止引入、暗示或预设任何玩法语义,不改变任何 GDD 已锁机制;凡表现层需要玩法钩子才能表达之处(如完美排雷检测、Boss 预警),一律标注「待 GDD 定夺」,圣经只规定"若有,则如何呈现"。GDD 机制与圣经冲突时,机制语义以 GDD 为准,呈现方案以本圣经为准
|
||||
> 约束(2026-09-10 用户强调):本圣经是**纯表现层文档**——明亮轻快是美术风格,不是玩法成分。圣经禁止引入、暗示或预设任何玩法语义,不改变任何 GDD 已锁机制;凡表现层需要玩法钩子才能表达之处(如完美封印检测、Boss 预警),一律标注「待 GDD 定夺」,圣经只规定"若有,则如何呈现"。GDD 机制与圣经冲突时,机制语义以 GDD 为准,呈现方案以本圣经为准
|
||||
> **条款验收标注纪律(2026-10-06 P2-4 用户拍板,全文书写规范)**:条款尾部按三档标注验收方式——**`←机检: <断言>`**(脚本可自动判定)/ **`←目检: <判据>`**(机器测不了,但看什么、算过有明确判据)/ **`←方向性`**(气质与方向原则,不承担验收);**新条款一律按此书写**,存量口号型条款分章补标(约 55%,待办清单挂账「口号型条款机检化批」分章推进、每章交付抽验);数值类条款推荐「**待定现用**」态(现行即执法、修订走登记,释义见 §4.1)
|
||||
|
||||
---
|
||||
@@ -83,7 +83,7 @@
|
||||
|
||||
### 2.2 轮末自动战斗结算
|
||||
|
||||
- **主情绪**:延迟兑现的清算爽感——扫雷之因逐行兑现为战果;完美排雷(概念定义与兑付结构见《地图战斗资源》)的高光兑现——结算带高光行,以其为全场喝彩级的最高反馈档
|
||||
- **主情绪**:延迟兑现的清算爽感——扫雷之因逐行兑现为战果;完美封印(概念定义与兑付结构见《地图战斗资源》)的高光兑现——结算带高光行,以其为全场喝彩级的最高反馈档
|
||||
- **色彩性格**:情绪不走明度(§2 禁令),色彩转向金橙主导、饱和拉高;数字色转译为弹道色沿行推进
|
||||
- **氛围形容词**:酣畅、递进、一气呵成
|
||||
- **能量**:7/10,随连击爬升
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
## 文档状态
|
||||
|
||||
- 版本:1.8
|
||||
- 最近更新:2026-10-17(迭代 27/28 GDD 反哺点写入——新增「呈现层装配与会话生命周期」节(视觉层装配合同/三屏壳/RunScope 生命周期与存活性矩阵/ModalFlow tags 协议)、战斗域现状补结算五段与 RunLedger 四账、初始化顺序补启动后置条件六条,均 2026-10-17 用户裁按推荐案写入;实现实证行读数换代)
|
||||
- 版本:1.9
|
||||
- 最近更新:2026-10-21(迭代 32 卡②反哺点写入——effect_engine 行与战斗域装配节改无状态化 ctx 形态、架构原则新增「系统无状态」条;2026-10-21 用户裁)
|
||||
- 引擎:Godot 4.7.2-stable(GDScript 单语言;2026-09-07 锁定)
|
||||
- 评审模式:solo(`review-mode.txt`,2026-09-12 用户拍板——TD/LP 门禁按 solo 跳过,用户授权架构产出自主推进、迭代期回调)
|
||||
- 覆盖 GDD:现行全集——`design/gdd/` 顶层 00–08 共 9 件 + `systems/` 五域 25 件(排雷循环 4 / 战斗循环 5 / 冒险循环 5 / 跨局循环 5 / 表现与支撑 6)+ `ux/` 8 件;原英文命名 12 份系统 GDD 已全部迁入中文域目录,原「未设计」预留(A5 扫雷秘宝 / C1–C4 / B5 / D3–D6)均已立项成文
|
||||
@@ -112,8 +112,8 @@
|
||||
|
||||
| 模块 | 独占职责 | 对外暴露 | 消费依赖 | 引擎 API |
|
||||
|---|---|---|---|---|
|
||||
| **battle_orchestrator**(B1) | 段序骨架(七段结构冻结)、轮 facts 缓冲、可回放步骤流、[明细行协议](../../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)(15 类行 + 字段分层)、条款③⑤闭合对账、**战斗域全部跨系统调用权**、效果引擎宿主(每战 rebuild/战末 adventure 计数器导出回写)+ 树规则挂点施加面(posture 窗/sense 限次/守侧 flag_missed 发射/聚乘算入账前) | `begin_battle(encounter)`;窗口/刷新意图提交面(扮演 D1);`level_clear()`;步骤流(输出契约) | B2/B3/B4 全调用面(**唯一调用方**);A3 request_refresh 代理 + 回发;A2 install/retire + 三事件订阅;A1 generate(attempt 非 scope 事件);D2 SettlementTable + set_reload_gate | 无(零随机、禁 await——切片 88 冒烟实证可回放) |
|
||||
| **effect_engine**(核心层——内容数据驱动扩展批 iter17 建域) | 事件/事实/效果类型/算子四词表封闭(迭代 21 T3 扩签:EVENTS 18→19 +flag_missed 标错判定、FACTS +battle_index 关卡域战斗序)+ 树规则合成订阅六键(posture 每关首轮窗/sense 两组限次 counter 闸·domain=adventure 跨战斗持久) | rebuild(每战重建)/dispatch/validate_trigger_row/counters_export·counters_seed | ConfigDB(feats/treasure 行集) | 无(零随机全确定) |
|
||||
| **battle_orchestrator**(B1) | 段序骨架(七段结构冻结)、轮 facts 缓冲、可回放步骤流、[明细行协议](../../gdd/systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)(15 类行 + 字段分层)、条款③⑤闭合对账、**战斗域全部跨系统调用权**、效果引擎宿主(每战 rebuild;round/battle 桶为编排器自有字典、经 EffectContext 引用挂载)+ 树规则挂点施加面(posture 窗/sense 限次/守侧 seal_missed 发射/聚乘算入账前) | `begin_battle(encounter)`;窗口/刷新意图提交面(扮演 D1);`level_clear()`;步骤流(输出契约) | B2/B3/B4 全调用面(**唯一调用方**);A3 request_refresh 代理 + 回发;A2 install/retire + 三事件订阅;A1 generate(attempt 非 scope 事件);D2 SettlementTable + set_reload_gate | 无(零随机、禁 await——切片 88 冒烟实证可回放) |
|
||||
| **effect_engine**(核心层——内容数据驱动扩展批 iter17 建域) | 零运行时可变状态的系统(见「架构原则」条 8):事件/事实/效果类型/算子四词表封闭(迭代 21 T3 扩签:EVENTS 18→19 +seal_missed 标错判定、FACTS +battle_index 关卡域战斗序)+ 树规则合成订阅六键(posture 每关首轮窗/sense 两组限次 counter 闸·adv_ 前缀走冒险桶跨战斗持久) | rebuild(每战重建订阅表)/`dispatch(ctx, event, payload, facts)`/`validate_trigger_row` + 静态计数口 `counter`·`counter_add`·`counter_spend`·`bucket_of`·`counter_id_legal`(计数器读写只经 EffectContext 引用束,无导出/灌入接口) | ConfigDB(feats/treasure 行集)、EffectContext(四桶引用由宿主持有:round/battle 桶归编排器、level 桶归关卡域、adventure 桶归 RunLedger) | 无(零随机全确定) |
|
||||
| **level_runner**(C1-lite,切片已建) | 关卡域生命周期(节点链推进、共享 B4 + HP 携带、关卡末 level_clear) | 节点推进接口;LevelTable(`level.tres`——节点 enum {battle,reward,rest,boss}、末节点必须 Boss、ConfigDB 跨表校验⑧) | B1 begin_battle、B4 grant_node_active、ConfigDB LevelTable | 无 |
|
||||
| **run_structure**(C2) | 冒险/关卡序列、失败重开、**master_seed 唯一接线方** | (契约规范源:`../../gdd/systems/冒险循环/冒险结构.md`) | RngService.set_master_seed、C3/D2 | 无 |
|
||||
| **difficulty**(C3) | DifficultyTable 回填、全部曲线数值调参所有权、战斗期望表(切片 monte_carlo 为工具原型) | 调参输出(经 D2 R1 解析/编排器传递,禁反向调用生成) | ConfigDB、B1 对账输出(调参约束清单)、A1 报告 C | 无 |
|
||||
@@ -122,7 +122,7 @@
|
||||
### 战斗域装配现状(迭代 27——2026-10-17 用户裁写入)
|
||||
|
||||
- **结算五段**:B1 编排器的每轮结算序列拆为 `game/core/settlement/` 五个段类——GrantSegment(①授予段,含封印判定与 counter/grant 助手单点)→ AuraSegment(②增益/减益段)→ CombatSegment(③战斗段)→ DecaySegment(④衰减段)→ VerdictSegment(⑤判定段,返回裁定,终局早退语义留 B1)。段序骨架冻结于 `SettlementTable.segment_order` 语义,B1 退为段序编排+接线;段类可直接 `new()` 单测(`settle_segments_test` 在役)。
|
||||
- **RunLedger 四账**:`game/core/run_ledger.gd` 单类持四本共享账——同调充能账/真视使用计数/冒险域计数器/统一冒险加算区。所有权:AdventureRunner 开局构造、全程唯一宿主;LevelRunner 经 `set_run_ledger` 下传装配 encounter;战斗侧(B1)经 `encounter["ledger"]` 拿引用、只走 read/append 原语族。审计 P1-4「共享可变字典跨三层三处可写」由「函数签名上不可见的共享引用」换成签名可见的显式类,时点语义(战末导出/开局回灌)逐字不变。
|
||||
- **RunLedger 四账**:`game/core/run_ledger.gd` 单类持四本共享账——同调充能账/真视使用计数/冒险域计数器/统一冒险加算区。所有权:AdventureRunner 开局构造、全程唯一宿主;LevelRunner 经 `set_run_ledger` 下传装配 encounter;战斗侧(B1)经 `encounter["ledger"]` 拿引用、只走 read/append 原语族。审计 P1-4「共享可变字典跨三层三处可写」由「函数签名上不可见的共享引用」换成签名可见的显式类。冒险桶计数器无导出/灌入时点:EffectContext 持 `run_ledger.adventure_counters` 的同一字典引用,引擎静态计数口就地直写,跨战持久随 RunLedger 生灭(2026-10-21 迭代 32 卡②无状态化写入)。
|
||||
|
||||
### 呈现层
|
||||
|
||||
@@ -350,6 +350,7 @@ CJK 字体随包发行并设为 theme 默认字体——运行时默认字体无
|
||||
5. **fail-fast + 零特判**——数据错误一律致命中止(错误数值上线比崩溃更伤);API 非法 = 拒绝 + 诊断不静默;变异零运行时分支(行为差异全部由生成端约束保证)。
|
||||
6. **依赖单向 + 组合根模式**——层间单向依赖、唯一回边 = A2 事件订阅面;核心写调用唯一发生在组合根;禁上帝对象(切片 1100 行 main.gd 反面案例 → 9 单元拆分)。
|
||||
7. **呈现层契约成文**——面向呈现的信号载荷必须有成文 schema;模态覆盖层必须有"打开时遮挡物隐藏"场景级断言;场景级 UI 探针测试为标配(切片缺陷 ①②④⑤ 教训沉淀)。
|
||||
8. **系统无状态**——效果引擎这类系统零运行时可变状态:数据由宿主对象持有并随宿主生灭,状态按参数传入系统,系统只做判定(立项判据=2026-10-19 用户会话裁定;落地=迭代 32 卡②,2026-10-21 用户裁写入)。系统实例不持计数器——计数器住桶(round/battle/level/adventure 四桶,EffectContext 引用束),桶住宿主。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -221,10 +221,10 @@ Boss 战的棋盘用本关最大板形(板形行值读棋盘参数表),板
|
||||
| η 读数 ↔ 模拟画像定义 ↔ 可推理率 ι ↔ min_safe_count/生成尝试上限 | sim 档位、[棋盘生成](../排雷循环/棋盘生成.md) | η 是画像条件量:画像重构即锚漂移,重锚顺带;可推理率三元组既有联动扩一员(2026-10-05 判式换代批新增) |
|
||||
| β 带端点 β_lo/β_hi ↔ D_ref ↔ hero max_hp ↔ AC 折算档(5pp 系数) | [战斗结算](../战斗循环/战斗结算.md) | 带是 D_ref 的函数:换锚(D_ref/max_hp)须全带重推;AC 档值变更改 5pp 系数,同罪(2026-10-05 判式换代批新增) |
|
||||
| 直伤雷三行(6/8/8) ↔ 正向同轴行(heal_minor/pierce_strike/magic_bolt) | [地图战斗资源](../战斗循环/地图战斗资源.md) | **同轴镜像比入对账面**:负向/正向比超出 β 带内推导区间即越带;单边动负向三行今后必须带正向镜像行联合检算(2026-10-05 判式换代批新增——d70f6c3/数值修复批两先例的单边动教训成文) |
|
||||
| clear_blast 区间(24/40/32) ↔ p_perfect | [地图战斗资源](../战斗循环/地图战斗资源.md) | 完美排雷第二份的补贴基数进封印激励对账;单边动清图奖励 = 变相动封印(2026-10-05 判式换代批新增) |
|
||||
| clear_blast 区间(24/40/32) ↔ p_perfect | [地图战斗资源](../战斗循环/地图战斗资源.md) | 完美封印第二份的补贴基数进封印激励对账;单边动清图奖励 = 变相动封印(2026-10-05 判式换代批新增) |
|
||||
| 标中强化池权重 ↔ 正向池权重(77 分母) ↔ 关级恒等式奖励占比 [15,40%] | [地图战斗资源](../战斗循环/地图战斗资源.md) | 形态 (b) 专属池重摇启用时生效(现行不启):双池分布变动 = E_dig 与 W 同时漂移,须联合检算 + 恒等式占比复核(2026-10-05 判式换代批新增,条件生效行) |
|
||||
|
||||
五条经济契约的对账由[战斗结算](../战斗循环/战斗结算.md)闭合验收;挖掘风险不等式已于 2026-10-05 判式换代批重立(三层口径+β 带+条件二封印溢价——结构层接替与数值层带判读详见行动经济 F1 条款3 推导节),本系统的对账义务转为按 β 带逐 u 检算(常设重跑入口 `tools/clear_dominance_audit.py`,现行 u=3 β=1.17 微破下限登记态);清图支配性已于 2026-09-19 按现行值链重跑、裁决②"非支配设计态"维持(回执见 git 提交 2ca3e20,报告已退役)——判式换代后的全套判值重跑随本系统下一次调参批顺带执行。完美排雷乘数的调参权在本系统。
|
||||
五条经济契约的对账由[战斗结算](../战斗循环/战斗结算.md)闭合验收;挖掘风险不等式已于 2026-10-05 判式换代批重立(三层口径+β 带+条件二封印溢价——结构层接替与数值层带判读详见行动经济 F1 条款3 推导节),本系统的对账义务转为按 β 带逐 u 检算(常设重跑入口 `tools/clear_dominance_audit.py`,现行 u=3 β=1.17 微破下限登记态);清图支配性已于 2026-09-19 按现行值链重跑、裁决②"非支配设计态"维持(回执见 git 提交 2ca3e20,报告已退役)——判式换代后的全套判值重跑随本系统下一次调参批顺带执行。完美封印乘数的调参权在本系统。
|
||||
|
||||
元进度接口预留:**结论——元进度解锁对难度的影响,以生存链区间的平移换算率接入;接口启用形态已定稿(2026-09-18 元进度定稿批,用户拍板):永久强化影响折算为通关率带平移量,判读口径不变;换算率表首版三行(生命上限 / 基础攻击 / 护甲等级——护甲行强条目,验收读数须按解锁后参数重测)与键结构见 `data/schemas/meta_table.gd`,数值行读 `data/tables/`、标定随元进度设计批。** 元进度数值行落地前,本系统不为它预留任何数值行。
|
||||
|
||||
@@ -310,7 +310,7 @@ Boss 战的棋盘用本关最大板形(板形行值读棋盘参数表),板
|
||||
|---|---|---|
|
||||
| 血量锚比率 r_boss | [0.5, 1.1];加难走廊 [1.1, 1.35](扫描已执行,见「Boss 设计」节) | Boss 生命锚;**锚漂移登记(迭代 5 基线重测批)**:数值设计批 Boss 血轴拔高后 L2/L3 现值 r_boss≈0.33(全行集 Σ 口径)低于域下限 0.5——该指向已过期(迭代 5 已关闭未执行);r_boss 复算与收锚义务挂起,随数值批重开时核销 |
|
||||
| 克制矩阵 | 克制 / 中性 / 被克三档加法修正(+1/0/−1 点),读 `settlement.tres` 甲效表 | 消费归[战斗结算](../战斗循环/战斗结算.md) |
|
||||
| 完美排雷乘数 | 读表 | 调参权本文 |
|
||||
| 完美封印乘数 | 读表 | 调参权本文 |
|
||||
| 当量参考敞口 | 读表 | 变更触发全量对账重跑 |
|
||||
| 注入概率初值 / 衰减 | 读表 | 注入机制归[地图战斗资源](../战斗循环/地图战斗资源.md) |
|
||||
| 清障炸药威力区间 | 读表 | 清图槽当场引爆 |
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
|
||||
### 清图奖励对象:整图封装,可配置可替换
|
||||
|
||||
清图奖励不属于任何一格的格面资源——它是作用域为整张板的独立奖励对象:把一张图的雷全部清完(全部安全格开完)时结算发的那一份。装板摇号时与格子资源同批判尾摇定身份;清图批兑付恰好一次;完美排雷(零误标且至少一次封印标中)追加第二份同身份兑付。
|
||||
清图奖励不属于任何一格的格面资源——它是作用域为整张板的独立奖励对象:把一张图的雷全部清完(全部安全格开完)时结算发的那一份。装板摇号时与格子资源同批判尾摇定身份;清图批兑付恰好一次;完美封印(零误标且至少一次封印标中)追加第二份同身份兑付。
|
||||
|
||||
它是可配置可替换的封装:数据面上是清图池里的一行(现行默认槽 clear_default),换行即换内容,机制零改动。按图类型差异化已留结构位——`clear_<图类型>` 命名空间预留,不同地图类型可以配不同的清图奖励;词表现行 = {dungeon, underdark, deep_underdark}(2026-09-19 定稿两值、第三关内容批 2026-09-20 增 deep_underdark,玩家侧「地图类型」),差异化内容启用随内容批。
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
1. 战斗结算装上新图后、玩家开挖前调用一次摇号:全部非封锁格的资源类型与清图对象身份摇定,映射进入只读。
|
||||
2. 玩家挖掘:挖开的格子当场揭晓类型身份;已开格的身份随时可读。
|
||||
3. 轮末授予段按极性矩阵逐格兑付:正向 percent 挂状态、heal 正向当场结算,非伤害负向当场兑付;伤害形态正负单据暂存,战斗段末统一落地。
|
||||
4. 清图轮兑付清图奖励对象,恒非空;完美排雷追加第二份。
|
||||
4. 清图轮兑付清图奖励对象,恒非空;完美封印追加第二份。
|
||||
5. 战斗结束:整图映射退役。换图按新板重摇。
|
||||
|
||||
## P1 / P2 后置
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
| 蓄力行 | 敌人本拍蓄力不动手(攒下一击)时记一行 **(2026-09-16 敌人技能池批改型为施放行 `cast`:敌人本拍施放增益技——0 伤害动作、具名技能、不掷不折〔原"不兑付伏击"读怪奖励语义随 2026-09-20 八型批伏击退役作废〕;蓄力语义改写为纯攻击增益技,见[敌人系统](敌人系统.md))** |
|
||||
| 衰减行 | 到期临时效果移除一行 |
|
||||
| 判定行 | 胜 / 负 / 继续各一行;终局判定行同时是胜负画面的数据锚 |
|
||||
| 高光行 | 完美排雷成立时一行,只记实际有效兑付 |
|
||||
| 高光行 | 完美封印成立时一行,只记实际有效兑付 |
|
||||
|
||||
每行还携带公共字段:来源类别、来源格、轮次、显示名、数值,以及可空的高光标记(用于强调封印标中、清图奖励这类值得高亮的结果)。没生效也要留痕:两类"未生效"行如实记录合法例外,呈现时聚合计数,不逐行刷屏。
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
```
|
||||
flat 类(直伤、治疗、行动点): E = 表值本身
|
||||
percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 × 参考敞口
|
||||
完美排雷的清图奖励: E = 奖励表值 × 完美乘数 ÷ 100
|
||||
完美封印的清图奖励: E = 奖励表值 × 完美乘数 ÷ 100
|
||||
```
|
||||
|
||||
| 变量 | 含义 | 现行值 |
|
||||
@@ -113,7 +113,7 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
|
||||
| E | 效果折算当量(主角生命点) | — |
|
||||
| 参考敞口 | 折算百分比效果所用的代表性伤害敞口,配置值 | 读 `settlement.tres` equivalence_ref_damage(provisional) |
|
||||
| 层数 × 行值 | 单条效果的叠层数与行值,读[增益状态](增益状态.md)的实例数据 | 行值归该系统 |
|
||||
| 完美乘数 | 完美排雷给清图奖励的乘数,配置值 | 读 `settlement.tres` p_perfect(现行值读表) |
|
||||
| 完美乘数 | 完美封印给清图奖励的乘数,配置值 | 读 `settlement.tres` p_perfect(现行值读表) |
|
||||
|
||||
**gp / ap 当量口径注记(2026-10-05 判式换代批 T3——口径空白登记)**:上式 flat 类枚举(直伤、治疗、行动点)不含 gp——现行对账按 **gp 当量 = flat power 代理**计(GP 袋 3 / 破财 2,方案报告假设 A5);ap 当量 = flat 表值 1,机会成本口径(+1AP ≈ 多挖一格 ≈ E_dig + 进度 + 信息价值)更高,差异仅登记不进主算(假设 A6)。gp 的精确口径应经商店定价换算(1 GP 的边际属性当量),归状态层/商店批复核后换代。封印溢价兑付(条款3 条件二形态 a,`settlement.tres` flag_hit_premium=125 provisional)按同型正向 ×(1+δ) 兑付——当量换算随同型行口径同步放大,整数量级取整四舍五入(与伤害管线 round_direction=floor 分域,registry 顺带登记)。
|
||||
|
||||
@@ -136,9 +136,9 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
|
||||
|---|---|
|
||||
| 挖格批 | 开到的安全格逐格兑该格资源的正向(封印格直挖除外——四情况④零奖励);开到的危险格逐格兑该格资源的负向(封印危险格照常——四情况②) |
|
||||
| 封印判定批 | 标中则兑该危险格资源的正向,每颗雷的资格只兑一次;标空则记"封印未中"归因行,并兑该安全格资源的负向 |
|
||||
| 清图批 | 清图奖励对象恰好发一次;完美排雷追加第二份同身份兑付 |
|
||||
| 清图批 | 清图奖励对象恰好发一次;完美封印追加第二份同身份兑付 |
|
||||
|
||||
授予段当场只兑非伤害形态(增益、治疗、行动点、GP 缓冲、警觉加层);**伤害形态兑付(爆裂、直伤、反噬)以伤害单据暂存,攒到战斗段末统一结算**(2026-10-06 用户裁——地图伤害账殿后,见[伤害单据与伤害控制器](#伤害单据与伤害控制器所有伤害走同一道门)与战斗段两节)。暂存单在授予段按「将兑付」回报——授予段内依赖兑付读数的流程决策(完美排雷第二份、高光份数)依据开单时点事实判定,该时点敌人存活有保证;战斗段末实际结账若目标已灭,控制器自记「奖励未生效」行。
|
||||
授予段当场只兑非伤害形态(增益、治疗、行动点、GP 缓冲、警觉加层);**伤害形态兑付(爆裂、直伤、反噬)以伤害单据暂存,攒到战斗段末统一结算**(2026-10-06 用户裁——地图伤害账殿后,见[伤害单据与伤害控制器](#伤害单据与伤害控制器所有伤害走同一道门)与战斗段两节)。暂存单在授予段按「将兑付」回报——授予段内依赖兑付读数的流程决策(完美封印第二份、高光份数)依据开单时点事实判定,该时点敌人存活有保证;战斗段末实际结账若目标已灭,控制器自记「奖励未生效」行。
|
||||
|
||||
**充能已退役(2026-09-19 用户拍板)**:原"挖格/标中旗给充能计数 → 战斗段折算穿刺/魔法分量"的弹药系统整体移除——主角攻击回归单分量,克制策略归冒险前配置(主角 attack_type 表值,营地换型 = 改字段;未来冒险前参数面承接策略位)。攻防两条抽象分离纪律保留:攻击类型是伤害的属性轴,棋盘事实只是奖励触发源。
|
||||
|
||||
@@ -158,7 +158,7 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
|
||||
|
||||
标错的惩罚不再是独立机制:标空封印(标了但格不是雷)= 该安全格格面资源的负向兑付(极性矩阵的"标错"分支),类型化、确定性、零额外派生——旧三选一哈希反噬(暴走 / 失衡 / 伏击+2 三池,坐标×板序号哈希派生)随格面资源批(2026-09-15)整段下线,三池内容收编为 attack / defense / blast 三型的负向行。负向兑付与"封印未中"归因行同键去重,每危险格实例只触发一次;叠层已满授予被拒时记"奖励未生效"行,不静默吞掉。
|
||||
|
||||
完美排雷全有或全无:一张板零误标且至少一次封印标中,清图奖励加倍(现行倍数读 `settlement.tres` p_perfect)。完美计数从装板起算、换图重置;高光行只记实际有效兑付(首份加被接受的第二份),首份即零兑付则高光行不发。封印标中的兑付行自带高光标记,与完美排雷的独立高光行构成两个强制高光检查点。
|
||||
完美封印全有或全无:一张板零误标且至少一次封印标中,清图奖励加倍(现行倍数读 `settlement.tres` p_perfect)。完美计数从装板起算、换图重置;高光行只记实际有效兑付(首份加被接受的第二份),首份即零兑付则高光行不发。封印标中的兑付行自带高光标记,与完美封印的独立高光行构成两个强制高光检查点。
|
||||
|
||||
举证:兑付数值全部读配置表,本节无新公式;完美乘数的入账换算见收益对照表一节。
|
||||
|
||||
@@ -256,7 +256,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
|
||||
|
||||
停手与耗尽收轮的回合恒为同图继续;换图指令只允许出现在清图轮,其他轮发换图属于程序错误、立即上抛。秘宝背包以关卡为界:战斗结束不清背包,跨战斗延续;关卡结束时一次性清空,清空前先返回快照计数,作为"剩余秘宝随关卡结束清空"的可见反馈。战斗道具背包已随可选类删除(2026-09-15)下线。(2026-10-09 注:清空对象 = 关卡域库存 treasure_inventory——秘宝过渡形态的机械惰性承载,其投放渠道已随迭代 11 第①批全退役、现行恒空;现行秘宝=营地同调装配件、整局冒险生效不经此域,拆线归实装批——见[秘宝](../跨局循环/秘宝.md)沿革节。)
|
||||
|
||||
挖掘期刷新是玩家在挖掘中途主动换图,经[行动经济](../排雷循环/行动经济.md)扣费:扣费成功后按"旧板退役、生成新板、装板、资源预分配恰一次、变异布置"编排,本轮不打断——没有结算段、没有轮次结束。储备不足被拒是玩家决策的合法结果,不是编排错误。刷新图不发清图奖励,完美排雷计数随装板重置。
|
||||
挖掘期刷新是玩家在挖掘中途主动换图,经[行动经济](../排雷循环/行动经济.md)扣费:扣费成功后按"旧板退役、生成新板、装板、资源预分配恰一次、变异布置"编排,本轮不打断——没有结算段、没有轮次结束。储备不足被拒是玩家决策的合法结果,不是编排错误。刷新图不发清图奖励,完美封印计数随装板重置。
|
||||
|
||||
战斗开始按固定序列开张:关上配置热重载的闸门、打开增益状态容器、掷骰定敌方实际数量、生成敌人、装板并预分配资源恰一次、变异布置([地形变异](../排雷循环/地形变异.md)——棋盘设置顺序第 4 步:生成棋盘 → 打开状态初始化 → 战斗资源格设置 → 变异格设置,消费 `variant_place` 封闭流)、发开轮通知并执行开轮摇号(摇定首轮各敌本拍动作)。上一关的大奖励(如血上限提升)经战斗开始入参的覆盖值通道生效,内容归[冒险结构](../冒险循环/冒险结构.md)。
|
||||
|
||||
@@ -339,7 +339,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
|
||||
- 每事实恰一次:每格受理、每封印判定恰好一次;重复投递不改变结果。
|
||||
- 极性路由正确:开安全格 / 封印标中只兑正向、开危险格 / 标错封印只兑负向;兑付效果与该格资源类型的字典行一一对应。
|
||||
- 警觉共享:敌方全体共享同一警觉状态值;blast 负向逐层直授无上限(伏击退役换装——2026-09-20 八型批)。
|
||||
- 完美排雷:零误标且至少一面标中时第二份兑付恰一次并发高光行;出现误标或零标中则无高光;计数换图重置。
|
||||
- 完美封印:零误标且至少一面标中时第二份兑付恰一次并发高光行;出现误标或零标中则无高光;计数换图重置。
|
||||
- 开轮摇号:每轮恰摇一次(首轮同样;轮内刷新换图不重摇);摇定后兑现前死亡 → 本拍技能作废(零敌方行动行)、不进冷却不进保底计数;已兑现技能进冷却、保底计数按执行结果更新。
|
||||
- 战斗段次序:主角先手后逐敌"按摇定技能行兑现、结算伤害、执行上报"各恰一次;主角倒下立即短路,剩余敌人不行动。
|
||||
- 护甲等级掷点:吃掷点分量(主角基础分量、敌方技能基础伤害分量)逐次掷单骰(骰面读表)——掷点 ≥ 防守方护甲等级 + 攻击加成全额兑付;低掷按缺口查减伤档位表(边界与档值读表),档位不设零档;天然最大面暴击该分量 ×暴击倍率(读表)且恒全额;穿刺/魔法分量与棋盘来源伤害(爆裂、清障炸药、奖励即时)、必中附加分量及增益/妨害施放不掷不折。
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
战斗屏是挖掘与结算两种形态共用的同一张屏:常驻双舞台(白话:战斗画面与扫雷图同屏常驻,像同一块屏上的两个舞台),结算期不切换场景,裁决与理由见 [battle.md 布局决策 1](../../ux/battle.md)。所以战斗表现的工作不是另做一个战斗场景,而是在既有呈现上叠加动画密度与演出——这是本系统范围边界的第一条。
|
||||
|
||||
"发生什么"与"怎么动"因此分了工:敌人死亡是血条归零后灰化加碎裂退场、禁止瞬间消失,结算明细带逐行滚动,完美排雷与封印标中有高光行强调——这些呈现语义已由 battle.md 与 HUD 框架定稿,本文不复述。本文将来承接的只是其上的动画密度:受击反馈、弹道、退场动画等类别。
|
||||
"发生什么"与"怎么动"因此分了工:敌人死亡是血条归零后灰化加碎裂退场、禁止瞬间消失,结算明细带逐行滚动,完美封印与封印标中有高光行强调——这些呈现语义已由 battle.md 与 HUD 框架定稿,本文不复述。本文将来承接的只是其上的动画密度:受击反馈、弹道、退场动画等类别。
|
||||
|
||||
资产侧同理,这也是双舞台带来的管线约束:若舞台形态悬而未决,同一份角色资产可能因舞台不同而重画。现行解法是剪影跨舞台通用——角色剪影按"棋盘、结算画面与任一战斗舞台通用"设计,不为舞台未决问题付重画成本(art-bible §5.1;原 §3.1,2026-09-22 迁 §5.1)。
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
| 奖励未生效行的呈现 | [增益状态](增益状态.md)定稿时登记(数据源是[战斗结算](战斗结算.md)的明细协议) | 让这类行在演出中可读、不被吞掉 |
|
||||
| 效果来源格的可读化 | 同上(候选形态:缩略图或格子高亮,坐标不直接呈现) | 把"效果来自哪一格"翻译成玩家可读的演出 |
|
||||
| 坍塌显形的连锁动画 | [游戏概念](../../00-游戏概念.md)的概念层拍板——坍塌显形是[连锁展开](../排雷循环/排雷玩法.md)的玩家可见名,与音频方向同批配对登记 | 连锁展开触发时的连锁演出 |
|
||||
| 高光兑现的演出强化 | 完美排雷与封印标中强调的机制及呈现位已由战斗结算与 battle.md 定稿 | 在既有高光行呈现之上加强演出密度 |
|
||||
| 高光兑现的演出强化 | 完美封印与封印标中强调的机制及呈现位已由战斗结算与 battle.md 定稿 | 在既有高光行呈现之上加强演出密度 |
|
||||
| 伤害数字 | 归档索引中本系统的旧范围一句话即含"伤害数字" | 落点未定:预告上格原则与"敌人不占格、兑现发生在战斗画面区"如何相容,见待设计问题清单 |
|
||||
|
||||
### 前置美术测试是硬前置
|
||||
|
||||
@@ -274,7 +274,7 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻
|
||||
- 一帧内意图整批到达,停手点击终结当帧收集。
|
||||
- 每次拒绝可感知:棋盘面、资源面、相位三类各有呈现且前两类可区分;停手被改判(本轮已清图)玩家可感知;拒绝反馈图标加文案双通道。
|
||||
- 结算逐行实时滚出且每行带来源标注;未生效类行聚合计数并带形状冗余;零值行不被吞;效果行的单次贡献与池合成值分示、禁相加误读。
|
||||
- 高光三档:封印标中行金框、清图奖励行金框、完美排雷全屏喝彩级——庆祝不打在空兑现上(首份即零兑付则不发高光)。
|
||||
- 高光三档:封印标中行金框、清图奖励行金框、完美封印全屏喝彩级——庆祝不打在空兑现上(首份即零兑付则不发高光)。
|
||||
- 状态槽显示图标加层数加剩余结算次数,悬停见来源;极性按键级表呈现(金满框 / 红缺框),空态整排隐藏、数据框上移补位;战斗结束全清有微文案。
|
||||
- 敌人呈现(站桩立绘,2026-09-20 全站桩拍板后载体由敌人卡改为无框立绘+底座,义务面平移不重述):意图占位 = 本拍摇定结果的动画占位(敌人技能池批三档可见性——普通攻击零表示、特殊技类型级提示〔攻/防系两型〕,不预告技能名与数值、池与权重不公开)且挖掘期全程可见、映射跨局恒定、顺位可读、血量数字可读、敌方共享层数各立绘同值(血条悬浮头顶、状态小图标挂血条正下方);死亡灰化加碎裂退场(禁止瞬间消失)且就地更新不丢灰化态。
|
||||
- 终局:胜利金蜡封、失败暮蓝氛围层(明度不变);储备清零与状态全清两反馈不合并、时序不倒挂(关卡末清库反馈义务载体 = 秘宝背包〔关卡域库存恒空机械惰性承载,拆线归实装批——见「轮次生命周期」同款节注于战斗结算〕,随秘宝 P0 落地补验收)。
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
|
||||
1. **扫雷图本体**(第一注视点,挖掘期占视觉预算大头):两格态(已开格 / 未开格——排雷玩法×6② 一眼可辨)、数字、封印印记、小人、可挖域(8 向相邻常驻指示)、变异纹理
|
||||
2. **本轮行动资源**:AP 余量(决定还能挖几格)、RAP 池(弃图刷新货币)、停手/弃图刷新按钮——紧贴棋盘上缘(动作发生地)
|
||||
3. **战果兑现面**(结算期为第一注视点):敌人血条变化、逐行结算明细、高光(完美排雷/封印标中)
|
||||
3. **战果兑现面**(结算期为第一注视点):敌人血条变化、逐行结算明细、高光(完美封印/封印标中)
|
||||
4. **规划面**(边缘注视,常读):攻击值与修正来源(C 区数据框)、敌人意图徽标与顺位(B 区站桩);HP 与状态效果由单位本体(B 区站桩)唯一承载——数据框不重复展示
|
||||
5. **进度语境**:轮次/阶段指示、图例入口(关卡节点进度常驻关卡画面,战斗屏不承载——见 Navigation Position)
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
| **挖掘阶段(默认态)** | 轮次开始 / 结算完毕回 Active 相位 | B 区敌人待机(意图徽标全程可见——敌人系统 Rule 8⑤),D 区棋盘可交互,AP 条点亮;能量 2/10,唯悬停呼吸微光在动(§2.1) |
|
||||
| **结算阶段** | round_end 触发(AP 尽/停手/清图) | D 区锁输入(棋盘去饱和 + 金橙色相偏移,明度不变,数字保持全对比);B 区播放五段编排演出(授予段 → 增益/减益段 → 战斗段 → 衰减段 → 判定段,战斗结算 段序冻结);明细带展开 84px 逐行滚动;阶段指示→"结算中";能量 7/10 |
|
||||
| **清图瞬间** | 全部安全格开完 | 金粒喷泉 + 彩纸 3–5s 即收(§2.3);清图奖励行强调呈现(H2,地图战斗资源×④——金框高亮行);随后换新图 install |
|
||||
| **完美排雷高光** | 战斗结算高光判定(全图标中/零误标类) | 全屏喝彩级反馈(§2.2 最高档):金光带加倍扫射 + 「完美排雷 ×2」横幅——P2 爆发兑现节点(创意风险 #2 落点) |
|
||||
| **完美封印高光** | 战斗结算高光判定(全图标中/零误标类) | 全屏喝彩级反馈(§2.2 最高档):金光带加倍扫射 + 「完美封印 ×2」横幅——P2 爆发兑现节点(创意风险 #2 落点) |
|
||||
| **封印标中高光** | flag_judged{hit=true} | 该印记化暴击弹道加重 + 明细行金框——chord 缺席的即时兑现补偿(创意风险 #3 落点) |
|
||||
| **敌人死亡呈现** | 敌 hp=0(流水行击杀标记) | 该敌人立绘血条归零 → 立绘灰化 + 碎裂退场(**禁瞬消**——敌人系统资产下限「死亡瞬间须可辨识、禁止直接消失」,同等 blocking);战斗段短路的重击被掐灭不产行动明细行,由行序可推断(战斗结算);动画密度归战斗表现,呈现语义在本 spec |
|
||||
| **胜利终局** | verdict=win | 金蜡封落于**扫雷图区中央**(§2.4 字面锚定),全屏暖白金 overlay;判定行 + 「下一节点」;明细回看入口;状态图标行全清可见反馈(增益状态×4④——B 区主角站桩图标逐枚化光收回 + 微文案「状态随战斗结束消散」,防「我的增益哪去了」误读) |
|
||||
@@ -419,7 +419,7 @@
|
||||
| 排雷玩法×6 | ⑤ 路径预览裁决 | 布局决策 3 |
|
||||
| 排雷玩法×6 | ⑥ 单意图帧+voided+拒绝可感知 | §Interaction Map + §States 拒绝子态 + AC |
|
||||
| 行动经济 | AP/RAP 常显+刷新入口+清零反馈+双源 | §Layout D 区 AP 条(RAP 自 C 区迁入——2026-09-26 信息归属拍板)+ §Transitions + AC |
|
||||
| 战斗结算×3 | ①高光行强调呈现(封印标中金框行/清图 H2 金框行)②完美排雷呈现形态 ③棋盘生成 EC5 零合法板提示/补偿/回退形态(toast 提示;补偿/回退不提供——三形态选型留痕 2026-09-12) | §States 高光/清图 + §States 拒绝子态 + §AC;注:结算明细屏 = 战斗结算 UX Flag 事项(本 spec 即其 /ux-design 产物),非 战斗结算×3 状态记录 |
|
||||
| 战斗结算×3 | ①高光行强调呈现(封印标中金框行/清图 H2 金框行)②完美封印呈现形态 ③棋盘生成 EC5 零合法板提示/补偿/回退形态(toast 提示;补偿/回退不提供——三形态选型留痕 2026-09-12) | §States 高光/清图 + §States 拒绝子态 + §AC;注:结算明细屏 = 战斗结算 UX Flag 事项(本 spec 即其 /ux-design 产物),非 战斗结算×3 状态记录 |
|
||||
| 敌人系统×4 | 意图映射/恒定/顺位/敌方池 | §Component Inventory 敌人站桩立绘 + **意图线索映射目录(敌人系统×4① 成文占位,资产定稿归战斗表现)** + AC |
|
||||
| 增益状态×4 | 常显+空态/来源标注/溢出/去留 | §States 空态 + §AC |
|
||||
| 地图战斗资源×5 | 身份恒读/明细行/清图强调(旧版状态记录五条中「窗口」「清空反馈」随格面资源批下线——清空反馈义务后载秘宝背包、复随秘宝过渡形态退役消解(现行 = 营地同调装配,秘宝.md)) | §Component Inventory BoardView 奖励徽章 + §States 清图/高光 + §Data Requirements query_identity + AC |
|
||||
|
||||
@@ -87,7 +87,7 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
- 数据源:[战斗结算](../systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋)步骤流(9 类行封闭协议(现行);公共字段 `type/source_class/origin_cell/round_index/display_name/value/highlight?`);**无来源行 = 断言失败**
|
||||
- 行模板:「{行为} {值} → {目标}(来源)」——来源标注(第 N 轮 · 安全格式);行文案最长 token = 来源标签(4 汉字封闭枚举),模板预留 40% 膨胀宽度
|
||||
- 聚合纪律:未生效类行(奖励未生效——现行 9 类行协议唯一未生效型,2026-09-20 收敛)按聚合计数呈现(防逐行惩罚轰炸);衰减行聚合计数;效果行 value=单次贡献值、禁与 pool_value(池合成值)相加呈现;零值行可见不吞(免伤轮归因不断点)
|
||||
- 高亮:highlight 字段 {flag_hit, clear_reward_h2, perfect_broken} → 金框强调;完美排雷 = 独立高光行 + 全屏喝彩级反馈。`perfect_broken` 的判据句读作「本板首次标错受检」,不等于完美资格已失——专长「完美保险」可在本场首次标错时豁免,实际资格按有效误标(误标总数 − 豁免数)判定
|
||||
- 高亮:highlight 字段 {flag_hit, clear_reward_h2, perfect_broken} → 金框强调;完美封印 = 独立高光行 + 全屏喝彩级反馈。`perfect_broken` 的判据句读作「本板首次标错受检」,不等于完美资格已失——专长「完美保险」可在本场首次标错时豁免,实际资格按有效误标(误标总数 − 豁免数)判定
|
||||
- 布局:固定槽高 + clip_contents;正文 ≥14px;数值暗底高对比;未生效类行带 icon/划线形状冗余
|
||||
- 击杀标记呈现(H3 数据源 = 战斗结算流水击杀结果字段)
|
||||
|
||||
@@ -213,3 +213,4 @@ MVP 未使用标准控件(不入库):toggle / dropdown / input field / tab
|
||||
2. Gamepad 批次引入时,需为 pattern 4/12/15 增补手柄映射节(焦点序已在 battle.md OQ8 留位)
|
||||
|
||||
---
|
||||
|
||||
@@ -139,6 +139,7 @@
|
||||
| 巢穴(机制表述) | 危险格(世界观风味层的巢穴隐喻〔00-游戏概念/美术纹样名〕除外) |
|
||||
| 正主 | 现行事实源 |
|
||||
| 落籍 | 已入库 |
|
||||
| 完美排雷 | 完美封印(2026-10-19 用户裁:全库统一换代,含代码内部注释;玩家面正式名=完美封印,2026-10-21 迭代 32 卡①反哺入表) |
|
||||
| 工作日志 | 状态记录 |
|
||||
| 金币 | GP(2026-10-18 用户裁:GP 是唯一正式命名,「金币」系 AI 噪音全库禁用) |
|
||||
| 插旗 | 封印(2026-10-18 用户裁:封印=正式动作名,全库统一,非比喻非「对外表达」别名) |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# 提案:效果引擎无状态化(计数器外置·分桶)
|
||||
|
||||
- **日期**:2026-10-19
|
||||
- **版本**:v1.2(2026-10-20 设计闭合版——现行身份标记;改动沿革只查 git commit log)
|
||||
- **版本**:v1.3(2026-10-21 依需求卡片 §12 裁决订正 §7.7/§7.10.3/§7.10.12 三处口径——现行身份标记;改动沿革只查 git commit log)
|
||||
- **性质**:架构重构提案(restructure,非 refactor)——现役设计被判为错误形态,不是打磨
|
||||
- **上游**:`design/gdd/06-待办清单.md:627`「计数器寿命域未统一」条目(2026-10-18 登记);本提案推翻该条目的解法方向,见 §8
|
||||
- **状态**:**设计已闭合·可写卡**——§7 设计定值、§7.7 采集定不发起;§4.3 六项卡点、§4.4 八项实现设计缺口、§4.5 六项需求澄清已于 2026-10-20 复核轮全部闭合(定值与推导依据集中在 §7.10,§3.2/§4.1–§4.5/§5 各节已按定值同步改写);其中 B6(dig_combo 死读数删除)与 §7.9 五条同口径属「约束可推、可否决」项
|
||||
@@ -292,6 +292,7 @@ round_start 清零点保留在引擎 `dispatch` 特判内(`:210-212` 现役挂
|
||||
**我把它挂上去的真实动机**是「想确认行为变更不是灾难级」。但这个需求有更便宜且纪律明定的手段:**同种子复放对拍**(配套纪律③——对拍断言 = **0 局新采集**,同种子重放已有锚,出口闸复验用锚内子集 ≤20)。对拍的作用是**排除意外**(除已知几处外不得有其他差异),不是量化。
|
||||
|
||||
**定值**:不发起任何档位采集。依据=配套纪律⑦「零数值改动 = 零 MC」+档位表四档触发面均为数值场景。验收=同种子复放对拍,adventure 桶相关差异列为**已知行为差异并记档**,不声称零漂移。§1 完成定义 6 同步改为「除已记档的已知差异外,逐位一致」。
|
||||
> **〔卡片裁决订正 2026-10-21,依 §12 裁①〕** 「零采集」前提失效:现行锚与本批采集面不同构,不可作复放基线。定值改为**批内重采三组各 40 局基线+批后同种子复放 40 局**(二档上限内,`sim-data/` 纪律③⑦开批次例外);其余判读口径见 §7.10.12 订正注。
|
||||
|
||||
🔴 **必须呈报的事实(削弱幅度)**:`tree_sense_sharp_used` / `tree_sense_guard_used` 修后是**显著削弱**,不是变强。
|
||||
|
||||
@@ -459,7 +460,8 @@ func counters_merge_export(exported):
|
||||
|
||||
#### 7.10.3 A3——前缀校验双落点定值(E2 并入 F1)
|
||||
|
||||
**定值**:前缀合法性校验落两处、共用同一静态判定函数——①`validate_trigger_row`(.tres 行路径):`do` 含 `counter_id` 时校前缀(无前缀=合法 battle;`round_`/`lvl_`/`adv_` 合法;`meta_` 及其余未知前缀→errs 追加违例,加载致命);②`_push_trigger`(树合成行路径):同规则 assert,写错即调试期致命。**E2 撤销**:「同 counter_id 跨前缀重复」在新形态下无指称——前缀即归属,同一字符串必落同一桶,「跨桶同名」不可构造;「同一语义计数器两行写了两套 id」(改名漏改一类)不可机器判定(两串本不同),其防线归 F1:静态扫描 S 段新增**带引号旧 id 字面零命中**规则(`"tree_sense_sharp_used"`/`"tree_sense_guard_used"`/`"twin_digs"`/`"instinct_atk"`——带引号匹配不误伤 `"lvl_tree_sense_sharp_used"`/`"adv_twin_digs"`/`"round_instinct_atk"` 等新名)。
|
||||
**定值**:前缀合法性校验落两处、共用同一静态判定函数——①`validate_trigger_row`(.tres 行路径):`do` 含 `counter_id` 时校前缀(无前缀=合法 battle;`round_`/`lvl_`/`adv_` 合法;`meta_` 及其余未知前缀→errs 追加违例,加载致命);②`_push_trigger`(树合成行路径):同规则 assert,写错即调试期致命。
|
||||
> **〔卡片裁决订正 2026-10-21,依卡片 §12 裁②〕** 前缀判据定值改松版:只禁 `meta_` 前缀,其余(含未知前缀)一律落 battle 桶即归属——`feats.tres` 现有 14 枚 id 全含下划线、首段除三枚 `round_` 外全是普通词,本节严版误伤全部既有 battle id,且封闭前缀词表=第二事实源(2026-10-19 registry 注销裁定同类)。自造新前缀静默落 battle 的残余风险改由装载期引用闭合校验(写读成对核验,拦「字面改一半」)正面承接,不再单靠人工评审;判定函数=`counter_id_legal`。本节其余双落点结构不变。**E2 撤销**:「同 counter_id 跨前缀重复」在新形态下无指称——前缀即归属,同一字符串必落同一桶,「跨桶同名」不可构造;「同一语义计数器两行写了两套 id」(改名漏改一类)不可机器判定(两串本不同),其防线归 F1:静态扫描 S 段新增**带引号旧 id 字面零命中**规则(`"tree_sense_sharp_used"`/`"tree_sense_guard_used"`/`"twin_digs"`/`"instinct_atk"`——带引号匹配不误伤 `"lvl_tree_sense_sharp_used"`/`"adv_twin_digs"`/`"round_instinct_atk"` 等新名)。
|
||||
|
||||
**推导依据**:完成定义 5「写错即加载致命」对 .tres 行经 errs→load_tables 拒绝通道成立(feat_table.gd:44/treasure_item_table.gd:104 调用面零改、校验在函数内部生效);树合成行不经 .tres 校验、只在 rebuild 期经 `_push_trigger` 生成(`effect_engine.gd:142-158`),漏②=A3 原判「与完成定义 5 直接冲突」成立。负面套件载体=`reward_dangling_treasure_test.gd` 同构(copy_tables 夹具注入坏行→load_tables 拒→expect 1+negative:true,run_all.gd manifest 登记)。
|
||||
|
||||
@@ -499,14 +501,17 @@ func counters_merge_export(exported):
|
||||
|
||||
#### 7.10.12 U5——G1 已知差异面(分组判读制)
|
||||
|
||||
**定值**:RUNSUM 字段面清点完毕(`adventure_monte_carlo.gd:114-149` 共 27 字段)。行为变更只触 adventure 桶四枚中的三枚——**pain_layers 迁 battle 对全新开局零位移**(缺陷态下本就不跨战〔§7.8 自锁〕,battle 桶同样不跨战,前后皆无跨战携带);受影响枚=`adv_twin_digs`(返还得真跨战累积)与 `lvl_tree_sense_*`(每战限 2 → 每关限 2,§7.7 削弱定性)。同种子复放比对判读分两组:
|
||||
**定值**:RUNSUM 字段面清点完毕(`adventure_monte_carlo.gd:114-149` 共 27 字段)。行为变更只触 adventure 桶四枚中的三枚——**pain_layers 迁 battle 对全新开局零位移**(缺陷态下本就不跨战〔§7.8 自锁〕,battle 桶同样不跨战,前后皆无跨战携带);受影响枚=`adv_twin_digs`(返还得真跨战累积)与 `lvl_tree_sense_*`(每战限 2 → 每关限 2,§7.7 削弱定性)。
|
||||
> **〔卡片裁决订正 2026-10-21,依卡片 §12 裁①与本卡〕** 实采字段面为 33 个(本节原记 27 系清点时漏量);分组判读由两组扩为三组——单一「`levels_cleared` 不得上行」判据把增强组(双管镐跨战累积返还得真)与削弱组(sense 每关限 2)混判,作废。现行判读口径=**off 组全字段逐位一致;formed 组与 rules 组输入面字段恒等、其余字段允许 RNG 级联位移、方向只记报告不作判据**。下表按此执行。
|
||||
|
||||
同种子复放比对判读分组(现行口径):
|
||||
|
||||
| 组 | 判定条件(由 RUNSUM 自身字段可判) | 判据 |
|
||||
|---|---|---|
|
||||
| 未受影响局 | feat_mode=off,或装备集不含双管镐与 sense 两组 | **全字段逐位一致**(结构迁移对未触路径必须透明——零漂移回归面) |
|
||||
| 受影响局 | 保守超集:装备集含受影响件且(`mine_hits>0` 或 `seal_miss>0` 或付费挖格≥2) | 输入面字段恒等(policy/seed/atk_pct/hp_pct/route/attune/equipped/feat_mode);其余字段允许 RNG 级联位移(轮数一变后续流消费全移);统计面判据一条:**`levels_cleared` 分布不得上行**(削弱批清关率上移即意外,§7.7 定性) |
|
||||
| 受影响局(formed/rules 两组) | 装备集含受影响件(formed=表驱动装配、rules=树规则注入,采集分组见卡片 T0/T7) | 输入面字段恒等(policy/seed/atk_pct/hp_pct/route/attune/equipped/feat_mode);其余字段允许 RNG 级联位移(轮数一变后续流消费全移);**方向只记报告不作判据**(增强组与削弱组分列读数随实现报告记档) |
|
||||
|
||||
复验规模:锚内 normal 档前 20 种子(81000–81019,配套纪律③子集 ≤20;normal 单局 1.21s,20 局约 25 秒)。逐位差异明细随实现报告记档。
|
||||
复验规模(本节原案,作废——现行锚 24 字段面与本批采面不同构、且 `sim-data/` 不入 git 致 worktree 内无锚文件可校):~~锚内 normal 档前 20 种子(81000–81019,配套纪律③子集 ≤20)~~。**现行口径〔卡片裁决订正 2026-10-21,依 §12 裁①〕=批内重采三组各 40 局基线+批后同种子复放 40 局**,二档上限内、`sim-data/` 纪律③⑦的批次例外已按其反哺条登记;现行锚与读数文件一律不动。逐位差异明细随实现报告记档。
|
||||
|
||||
#### 7.10.13 U6——`mine_hit` 构造路径
|
||||
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
|
||||
配套纪律:①档位上限=硬闸,超档停机呈报;窗口不足如实挂起(禁在二/三/四档下带值结论);②改前/改后锚**同 seed0 配对**、改前锚留盘即用禁补跑;③对拍断言=0 新跑(同种子复放,出口闸复验用锚内子集 ≤20);④读数缺陷≠轨迹失效——零 gameplay/RNG 触碰的修复走事件流重构补算,禁整套重跑;⑤同批同码态锚只取一次,「调整一下就重跑」禁止;⑥会话累计:二/三/四档合计 ≤20 分钟(一档时长随用户发起确认);⑦零数值改动=零 MC(现行铁规重申);⑧锚文件自本规起新锚统一=去前缀纯 JSONL、按种子升序(81000 旧形态带 RUNSUM 前缀+进度行,analyze.py 直读会炸),批耗时随锚记 active.md 台账。
|
||||
|
||||
**批次例外登记(2026-10-21,依迭代 32 卡②反哺条 2026-10-20 用户裁)**:迭代 32 卡②(效果引擎无状态化)对纪律③⑦开一次批次例外——V12 同批内重采 formed/rules/off 三组各 40 局基线+批后同种子复放 40 局(合计在二档 ≤40 局上限口径内,依据=现行锚 24 字段面与本批 33 字段面不同构、不可作复放基线,卡片 §12 裁①);现行锚与读数文件一律未动、不改名、不替换,采集文件留盘供报告与后续核对。
|
||||
|
||||
四档仅承接 MC 触发细则的数值验证场景,两入口铁规不变。
|
||||
|
||||
## 工具与格式
|
||||
|
||||
@@ -14,8 +14,9 @@ r"""doc_term_audit.py — GDD 退役术语扫描(半自动)
|
||||
python tools/doc_term_audit.py <file.md> ... # 只扫指定文件
|
||||
python tools/doc_term_audit.py --json # 机器可读
|
||||
|
||||
口径:只扫 design/gdd/——design/research
|
||||
(历史提案)、docs/(样例)与 production/ 不在扫描域;词表扩充 = 改 RETIRED_TERMS。
|
||||
口径:扫 design/gdd/ 与 design/art/ 两处文档域(2026-10-21 迭代 32 卡①反哺批扩面 art,
|
||||
用户裁)——design/research(历史提案)、docs/(样例)与 production/ 不在扫描域;
|
||||
词表扩充 = 改 RETIRED_TERMS(受 doc-conventions §4 词表冻结约束:唯一入口=用户实读反馈并经用户裁决)。
|
||||
"""
|
||||
import argparse
|
||||
import json
|
||||
@@ -66,9 +67,10 @@ RETIRED_TERMS = [
|
||||
# (词面误报率高,靠术语表对照行与人工判读),game/ 扫描域归代码批后另加。
|
||||
("金币", "2026-10-18", "GP(唯一正式命名)", "GP 命名统一批——「金币」全库禁用"),
|
||||
("插旗|标旗", "2026-10-18", "封印(正式动作名,全库统一)", "术语刷新批——「旗」概念退役"),
|
||||
("完美排雷", "2026-10-19", "完美封印(正式名见 design/gdd/术语表.md 退役词对照)", "迭代 32 卡①反哺批 2026-10-21 用户裁入表——代码注释面由 S11 承接,文档正文面由此条承接"),
|
||||
]
|
||||
|
||||
DEFAULT_DIRS = ["design/gdd"]
|
||||
DEFAULT_DIRS = ["design/gdd", "design/art"]
|
||||
|
||||
# 用语规范 A 表补充词专项补扫:随批/台账 两词本身是上方行级白名单信号(行内出现即归
|
||||
# 留档类),主扫描对它们自豁免;本通道只做节外残留的专项报告,供后续触碰批清偿。
|
||||
|
||||
@@ -318,3 +318,17 @@
|
||||
| 5 | 完美保险卡面文案 | 专长卡面文案读作「本场首次封印落空,不计入完美封印判定」,零「雷」字 |
|
||||
| 6 | 稀有档三选一 | 三选一带不再出现同调电池/完美保险;稀有档仅剩 ap/rap/time_sand 三种 |
|
||||
| 7 | 豁免后的完美第二份 | 带完美保险专长时,首次标错后清图仍能拿到「完美第二份」(订阅式豁免的实际观感) |
|
||||
|
||||
---
|
||||
|
||||
## ㉚ 迭代 32 卡①/卡②——玩家可见文案与限次观面目检(2026-10-21 随反哺写入登记)
|
||||
|
||||
> 卡① 换代对外文案(「完美排雷」→「完美封印」)并修正归因锚判据(N7——豁免累加时点与有效误标判据);卡② 把天赋树锋/守限次从每战 2 次改为每关 2 次(玩家可感知削弱)。机检能证明词面换代与两态判定同真值一致(冒烟 A10–A12 与单元断言),行序呈现与实际手感仍要人眼看。登记不阻塞(2026-10-12 真人检测立规)。
|
||||
|
||||
| # | 目检项 | 判据 |
|
||||
|---|---|---|
|
||||
| 1 | 结算明细两行先后 | 「完美保险·标错豁免」行先于「封印未中」行呈现(豁免在前、未中不带金框) |
|
||||
| 2 | 未豁免态文案 | 无保险首次标错的「封印未中」行带金框,文案「本图完美封印已破——清图奖励不再加倍」可读 |
|
||||
| 3 | 高光行与横幅 | 对外高光行「完美封印!清图奖励 ×2」与全屏横幅「完美封印 ×2」显示正确、零「雷」字 |
|
||||
| 4 | 天赋树锋/守限次 | 同一关内第 3 次起踩危险格不再伤害减半、第 3 次标错不再返还行动点(每战限 2 → 每关限 2 的实际手感) |
|
||||
| 5 | 旧档续玩 | 含改名前 counter 键的旧断点存档正常进入不崩(崩溃面已由 V13 自动化覆盖,此处目检手感) |
|
||||
@@ -695,6 +695,8 @@
|
||||
|
||||
需求卡片:reports/需求卡片-代码注释禁用词清扫批-2026-10-20.md(v1.3)。
|
||||
|
||||
反哺写入与代拍板追认结果见本清单「迭代 32 卡① 反哺点写入」条目(2026-10-21 文档批)。
|
||||
|
||||
**归属**:game/ 代码与数据表(代码域,走独立 worktree 批;`AGENTS.md` 与 `design/` 依流水线红线本批禁碰,S11 规则说明自持于 `game/tests/static_scan.sh` 头注与 `game/tests/README.md`)
|
||||
|
||||
**状态**:已写卡+已编迭代 32
|
||||
@@ -703,13 +705,13 @@
|
||||
|
||||
#### 效果引擎「系统无状态」原则缺架构文档条目(2026-10-20 登记,来源=会话提及,设计面=文档轨)
|
||||
|
||||
**现状**:用户 2026-10-19 会话裁定的 ECS 架构依据(系统无状态——效果引擎这类系统零运行时可变状态、数据由宿主对象持有并随宿主生灭、状态按参数传入系统、系统只做判定)是「效果引擎无状态化」重构批的立项判据(上游条目=本清单「计数器寿命域未统一」,提案=design/research/提案-效果引擎无状态化-2026-10-19.md §7.9 #1),但 `design/engineering/architecture/architecture.md`「架构原则」节(现行 7 条)无「系统无状态」条目——立项判据暂无权威文档出处(2026-10-19 全仓检索「无状态/纯计算」零命中,提案 §10.3 实查;原 `design/registry/` 两 yaml 已随 2026-10-19 用户裁注销删除,无可迁凭据)。重构批是代码批、禁写 `design/`,文档级补条只能另立文档批。
|
||||
**现状**:用户 2026-10-19 会话裁定的 ECS 架构依据(系统无状态——效果引擎这类系统零运行时可变状态、数据由宿主对象持有并随宿主生灭、状态按参数传入系统、系统只做判定)是「效果引擎无状态化」重构批的立项判据(上游条目=本清单「计数器寿命域未统一」,提案=design/research/提案-效果引擎无状态化-2026-10-19.md v1.3 §7.9 #1),但 `design/engineering/architecture/architecture.md`「架构原则」节(原 7 条)无「系统无状态」条目——立项判据暂无权威文档出处(2026-10-19 全仓检索「无状态/纯计算」零命中,提案 §10.3 实查;原 `design/registry/` 两 yaml 已随 2026-10-19 用户裁注销删除,无可迁凭据)。重构批是代码批、禁写 `design/`,文档级补条只能另立文档批。
|
||||
|
||||
**缺口**:一次文档设计讨论——「系统无状态」原则的条文表述(与现行 7 条架构原则的交叉与序位:核心层纯逻辑/fail-fast 两原则与之相邻但不等同)+写入 architecture.md 的批次编排。
|
||||
**现状换代(2026-10-21 文档批写入完成)**:architecture.md「架构原则」节已补第 8 条「系统无状态」(条文序位=呈现层契约成文条之后,与条 1 核心层纯逻辑、条 5 fail-fast 交叉核过无冲突),effect_engine 模块行与战斗域装配节同步改写为 ctx 形态描述——design/engineering/architecture/architecture.md v1.9(2026-10-21 用户裁写入)。
|
||||
|
||||
**归属**:design/engineering/architecture/architecture.md(架构原则节)
|
||||
|
||||
**状态**:待文档设计
|
||||
**状态**:文档设计已闭合
|
||||
|
||||
---
|
||||
|
||||
@@ -720,3 +722,57 @@
|
||||
**归属**:`game/presentation/` 与 `game/data/tables/settlement.tres`(走独立 worktree 批;⑤ 连带渲染基线)
|
||||
|
||||
**状态**:待写卡
|
||||
|
||||
---
|
||||
|
||||
#### 迭代 32 卡① 反哺点写入(2026-10-21 登记,来源=批次移交,设计面=反哺点)
|
||||
|
||||
**现状**:清单=reports/iter32-卡①反哺点-2026-10-20.md(16 项);关联文档:
|
||||
- 术语表:design/gdd/术语表.md(「退役词对照」新增「完美排雷→完美封印」行,2026-10-21 写入)
|
||||
- 措辞换代八件:design/gdd/systems/战斗循环/战斗结算.md、地图战斗资源.md、战斗表现.md、design/gdd/systems/表现与支撑/HUD框架.md、design/gdd/systems/冒险循环/难度曲线与Boss.md、design/gdd/ux/battle.md、design/gdd/ux/interaction-patterns.md、design/art/art-bible.md(v3.17)
|
||||
- 文档域禁词闸:tools/doc_term_audit.py(词表加「完美排雷」+扫描域扩 design/art,2026-10-21 用户裁;变异验证=注入见红、还原回绿)
|
||||
- 目检入册:体验验证清单.md ㉚ 节(2026-10-21)
|
||||
- 代拍板追认:reports/iter32-卡①代拍板-2026-10-20.md 七条,2026-10-21 用户全部追认
|
||||
- 遗留去向:#11 门票三处随「2026-10-18 冒记案遗留待裁两项」②另批(用户裁);#12 巢穴换代与单字「旗」清理待用户裁后另立批;#13 A 表词不纳 S11 词表(用户裁维持现状);#15 重锚见本清单「结算明细日志行序重锚批」条目;#16 状态推进已执行(见「代码注释禁用词清扫批」条目)
|
||||
|
||||
**归属**:design/gdd/ 八件+design/art/art-bible.md+tools/doc_term_audit.py(文档域)
|
||||
|
||||
**状态**:已写入
|
||||
|
||||
---
|
||||
|
||||
#### 迭代 32 卡② 反哺点写入(2026-10-21 登记,来源=批次移交,设计面=反哺点)
|
||||
|
||||
**现状**:清单=reports/iter32-卡②反哺点-2026-10-20.md(13 项);关联文档:
|
||||
- 架构三处:design/engineering/architecture/architecture.md v1.9(effect_engine 行与 battle_orchestrator 行改 ctx 形态、战斗域装配节去 export/seed 语义、架构原则补第 8 条「系统无状态」;同批订正旧事件名 flag_missed→seal_missed 两处)
|
||||
- 立项条闭合:本清单「效果引擎系统无状态原则缺架构文档条目」状态已推进(v1.9 凭据在册)
|
||||
- 寿命域条目:本清单「计数器寿命域未统一」整条删除归收尾批执行(其证据面缺口=V1 变异红已闭,见实现报告 §9 补漏记录)
|
||||
- 提案订正三处:design/research/提案-效果引擎无状态化-2026-10-19.md v1.3(§7.7 零采集改批内重采、§7.10.3 前缀判据采松版、§7.10.12 字段面 33+三组判读,依卡片 §12 裁①②)
|
||||
- 目检入册:体验验证清单.md ㉚ 节(V14 锋/守限次观感)
|
||||
- 代拍板追认:reports/iter32-卡②代拍板-2026-10-20.md 七条,2026-10-21 用户全部追认
|
||||
- 偏差注记:#12 S 编号以 S12=旧件零残留为准、#13 V12 基线哈希以重采值为准(均随卡片与实现报告退役消亡)
|
||||
- 采集纪律例外:sim-data/README.md 配套纪律③⑦批次例外登记(2026-10-21 写入;现行锚与读数文件未动)
|
||||
|
||||
**归属**:design/engineering/architecture/+design/research/提案+sim-data/README.md+本清单(文档域)
|
||||
|
||||
**状态**:已写入
|
||||
|
||||
---
|
||||
|
||||
#### 结算明细日志行序重锚批(2026-10-21 登记,来源=批次移交,设计面=反哺点)
|
||||
|
||||
**现状**:迭代 32 卡① N7 改动互换 `seal_miss`/`insurance_used` 两行日志顺序并改写豁免态 highlight(依据与预期漂移两例见 reports/iter32-卡①实现报告-2026-10-20.md「已记档差异」节);与基线数据逐项比对的 JSONL sha256 校验必红,实现批按规未发起、11 号闸落 skip。**用户 2026-10-21 裁=批准另立重锚批,发起时点另定**(重锚批只能由用户发起)。
|
||||
|
||||
**归属**:`sim-data/` 锚与 `tools/parity_anchor.py`(重锚执行归用户发令批)
|
||||
|
||||
**状态**:待裁决
|
||||
|
||||
---
|
||||
|
||||
#### `game/` 域文档两处措辞订正欠账(2026-10-21 登记,来源=批次移交,设计面=工程直入)
|
||||
|
||||
**现状**:两处 `game/` 内文本与现实不符,改 `game/` 任何路径都会触发代码域全量测试(2026-10-20 用户裁「零代码批不改该行、登记欠账」),故不入本写入批:①`game/tests/static_scan.sh:100` S11 注释仍称「完美排雷」不在退役词对照表里——2026-10-21 起该词已入表(术语表退役词对照行在册),注释与 `:122` 追加行按「S11 权威=术语表解析」口径可一并订正;②`game/tests/README.md:58` 记「manifest 已登记实跑 26 套件」——迭代 32 卡② 后现况为 35 套件(含 counter_prefix_fatal 负面套件),以 `run_all.gd` 现况为准更新。
|
||||
|
||||
**归属**:`game/tests/`(代码域,随下一个触碰 game/ 的批次顺带清)
|
||||
|
||||
**状态**:待写卡
|
||||
Reference in new issue
Block a user