diff --git a/design/gdd/01-核心循环.md b/design/gdd/01-核心循环.md index ffa1246b..5b859476 100644 --- a/design/gdd/01-核心循环.md +++ b/design/gdd/01-核心循环.md @@ -26,14 +26,14 @@ ``` 开始冒险(一条命) → 关卡:节点链逐节点推进(战斗 / 奖励 / 恢复 / 商店 → 关底 Boss) - → Boss 倒下 → 关卡大奖励(血回满、上限提升)→ 下一关 + → Boss 倒下 → 关底 Boss 掉钥石 → 通关回血 + 提升三选一 → 下一关 → 打穿全部关卡 → 冒险完成 → 任意一场战斗倒下 → 冒险结束 ``` 路上的商店房是关底 Boss 前一位的补给点:战斗掉落的金币(GP)在这花掉,换攻击、生命上限或护甲的提升——打完仗钱到账,进店花掉,带着变强去见关底 Boss。 -一条血走完整场冒险:战后剩多少血就带多少进下一场,恢复点回一部分,通关一关血回满还加上限。所以越往后,你越在意"这局已经走到第几层"。 +一条血走完整场冒险:战后剩多少血就带多少进下一场,恢复点回一部分,通关一关回一部分血、再从三选一里挑一件提升带走。所以越往后,你越在意"这局已经走到第几层"。 ## 死了之后:为什么想再开一局 diff --git a/design/gdd/03-内容规模.md b/design/gdd/03-内容规模.md index 0311df2c..0c587bfe 100644 --- a/design/gdd/03-内容规模.md +++ b/design/gdd/03-内容规模.md @@ -63,7 +63,7 @@ MVP 不加新状态;扩容走 status_effects.tres 加行 + registry 登记。 垂直切片阶段明确砍掉或推迟的内容,写在这里防止回潮: - 更多关卡(N>3)——第三关已按扩展批流程落地(行集);三关正式序列已生效(冒险结构实现批 2026-09-21),唯一试玩入口 = 完整冒险(单关测试直入口退役,2026-09-23 用户拍板) -- 精英节点与词缀系统——只预留了字段位,不定义语义 +- 精英节点与词缀系统——只预留了字段位,不定义语义(精英怪**设定**已登记预留:迭代 10 奖励重构批——同立绘+附加特征标记+数值更强、钥石掉 1 个预留;实装仍随怪物批) - 地形变异扩展内容——首批四类型已落地,反制道具与全局作用域排 Alpha(2026-09-20 用户拍板) - 道具/增益之间的组合协同(遗物式联动) - 战后自动回复——回复只有道具与恢复点两个来源 diff --git a/design/gdd/06-待办清单.md b/design/gdd/06-待办清单.md index 5ebdbc7d..2de13c2c 100644 --- a/design/gdd/06-待办清单.md +++ b/design/gdd/06-待办清单.md @@ -258,6 +258,14 @@ **状态**:已部分收口(2026-09-28 M-3 迭代 5 换算率锚复验履行——6/9/1 campaign 段驱动正常无断链;U2 后 L2 难度再变〔C1+v1〕,重标判读改道归迭代 5 返工批 T-A 读数到账后,见 design/qa/m3-iter5-u2-gate-2026-09-29.md) +#### 迭代 10 奖励重构联动欠账(2026-10-01 登记) + +**现状**:迭代 10 奖励重构批(worktree 分支 m3-iter10-20261001,不合入 master、渲染层验证冻结,待用户批准合并)落地面产生三条后续义务——①钥石产出重标:渠道改「Boss/精英击杀掉落」(大奖励 keystone_per_level 退役、boss_keystone 重锚首杀 3/复杀 2 provisional),现行元进度产出结构作废,标定义务重开;②通关率带重扫:通关回血 20%(血回满→部分回血,难度上压方向)+ 三选一件值/权重/次数上限 knob(AP 件 = 每场战斗首轮 +1 AP 强度敏感轴)——难度曲线与Boss P1 行已登记;③同调位读数源切换:本批挂过渡键 transitional_sync_slots(provisional 1),同调实施批落地后切换为 attunement_growth.tres 谓词表实时求值,切换注记随该批。 + +**归属**:①元进度设计批 + 曲线调参批 ②曲线调参批(现行窗) ③魔法道具同调实施批 + +**状态**:已登记(2026-10-01,迭代 10 批随批) + #### 关卡内结构随机生成(哈迪斯 / 哥布林弹珠式布局变化) **现状**:用户 2026-09-20 方向性提及布局随机变化(哈迪斯 / 哥布林弹珠式)。**2026-09-27 拍板立项**,设计文档 [关卡节点图生成](systems/冒险循环/关卡节点图生成.md) v0.3:图模板池逐局抽签+三级台阶+测量对账;五拍板点全部裁决落文——①首关参与抽签仅首次冒险固定脚本④池每关 5 张⑤逐关抽确认②统一用一个流(rng 架构批先行,ADR-0007)③机制先行骨架随后。实施排队架构批裁决后。 diff --git a/design/gdd/systems/冒险循环/关卡节点地图.md b/design/gdd/systems/冒险循环/关卡节点地图.md index 2b4034dc..e1151fc0 100644 --- a/design/gdd/systems/冒险循环/关卡节点地图.md +++ b/design/gdd/systems/冒险循环/关卡节点地图.md @@ -153,7 +153,7 @@ Boss 兑付(胜利或英雄死亡)触发关卡收束点,此后不再有选 | 优先级 | 内容 | 后置原因 | |---|---|---| | P1 | 分支节点图内容与实现批 | 图结构行集(节点+连线)、切片行进代码的图版实现、跨文档"节点深度/节点链"措辞对齐——随第二关内容批同批落;落地前单链特例运行(合法态) | -| P2 | 精英节点与精英遭遇 | 不设编码位——精英以内容方式承载(某编号节点配强敌行集);与难度曲线、战斗侧批联动设计 | +| P2 | 精英节点与精英遭遇 | 不设编码位——精英以内容方式承载(某编号节点配强敌行集);与难度曲线、战斗侧批联动设计。精英怪设定已登记预留(迭代 10 奖励重构批:同立绘+附加特征标记+数值更强、钥石掉 1 个预留——实装随怪物批,本文件行集零改动) | | P2 | 事件类节点候选 | 商店房已随 2026-09-20 GP+商店房批落地(v1.1),"商人类撞抽象货币红线"的旧注记由[不做清单](../../05-不做清单.md)的现行条款替代;事件类节点仍无内容系统承载;扩类一律走文档修订 | ## 调参表 diff --git a/design/gdd/systems/冒险循环/冒险结构.md b/design/gdd/systems/冒险循环/冒险结构.md index c15ad7c8..140f62f6 100644 --- a/design/gdd/systems/冒险循环/冒险结构.md +++ b/design/gdd/systems/冒险循环/冒险结构.md @@ -22,7 +22,7 @@ | 关卡序列 | 关卡表(逐关一行的配置表)行集内容的责任方;推进规则:线性、无跳关 | | 生命账本 | 跨战斗生命持久性的冒险侧账本:每战交出、战后收回、两个恢复口 | | GP 冒险账本 | 战斗掉落货币的局内账本(显示名「金币」):战斗完成统一入账、商店购买出账、冒险收束清零;统一冒险加算区(商店购买与大奖励同账) | -| 关卡大奖励 | 通关一关固定发放的三件套的兑付 | +| 关卡大奖励 | 非末关通关的两层兑付:提升三选一(选择型)+ 部分回血(固定型);钥石退役出大奖励,改 Boss/精英击杀战斗掉落 | | 失败重开与放弃 | 倒下即冒险终;重开等于全新一轮;放弃与失败同型结算 | | 主种子接线 | 一场冒险一个主种子,冒险内一切随机数派生自它 | @@ -50,11 +50,11 @@ ### 冒险的一生:开始、推进与三种结局 -"冒险"在本文是一个计量单位:玩家从开始新冒险到出局结算的一段完整游玩,由若干关卡串成,全程只有一条命。冒险任何时刻恰处三种状态之一:待机(还没开始,或上一局已结算完毕)、进行中(某一关正在推进)、结算中(一关刚宣布结束,正在算大奖励与结局)。 +"冒险"在本文是一个计量单位:玩家从开始新冒险到出局结算的一段完整游玩,由若干关卡串成,全程只有一条命。冒险任何时刻恰处三种状态之一:待机(还没开始,或上一局已结算完毕)、进行中(某一关正在推进)、结算中(一关刚宣布结束,正在算通关兑付与结局)。 ``` 待机 ──(开始新冒险:注入主种子、生命回满、进第 1 关)──▶ 进行中 -进行中 ──(非末关通关)──▶ 兑付大奖励 ──▶ 进下一关(仍在进行中) +进行中 ──(非末关通关)──▶ 部分回血 + 提升三选一停点 ──(玩家点选兑付)──▶ 进下一关(仍在进行中) 进行中 ──(末关通关 / 任意战斗倒下 / 玩家放弃)──▶ 结算中 ──(产出冒险摘要)──▶ 待机 ``` @@ -92,7 +92,7 @@ MVP 的序列是三关线性:地精洞窟→幽暗地域→灰矮人矿城(2 ### 生命账本:一条血走完整场冒险 -主角在一场冒险里只有一条血。战斗里扣的、恢复点回的、大奖励回满的,记的是同一本账;战后剩多少血,就带多少进下一场。关卡切换不做任何生命结算——换的是地图,不是血条。 +主角在一场冒险里只有一条血。战斗里扣的、恢复点回的、通关部分回血回的,记的是同一本账;战后剩多少血,就带多少进下一场。关卡切换不做任何生命结算——换的是地图,不是血条。 账本只有四个收支口: @@ -101,24 +101,24 @@ MVP 的序列是三关线性:地精洞窟→幽暗地域→灰矮人矿城(2 | 冒险开始 | 入 | 生命置满(基础上限读英雄表) | | 每场战斗开始 | 出 | 账本当前值作为主角生命入参交给这一战 | | 每场战斗结束 | 入 | 收回战后生命终值并回写(胜负皆报;倒下记 0,冒险终) | -| 恢复点与大奖励 | 入 | 全冒险仅有的两个恢复口 | +| 恢复点与通关部分回血 | 入 | 全冒险仅有的两个恢复口 | -战斗开始的生命交接走主角战斗入参覆盖值通道(每战以显式入参传入生命与上限、不改全局表——契约见[战斗结算](../战斗循环/战斗结算.md))。恢复口之一是恢复点节点(关卡节点链上回血的一类节点;节点类型分类学归[关卡节点地图](关卡节点地图.md),本文只写它兑付时账本怎么变):按比例回血并封顶上限,满血时回复 0,是合法状态。另一个恢复口是通关大奖励(见下一节)。 +战斗开始的生命交接走主角战斗入参覆盖值通道(每战以显式入参传入生命与上限、不改全局表——契约见[战斗结算](../战斗循环/战斗结算.md))。恢复口之一是恢复点节点(关卡节点链上回血的一类节点;节点类型分类学归[关卡节点地图](关卡节点地图.md),本文只写它兑付时账本怎么变):按比例回血并封顶上限,满血时回复 0,是合法状态。另一个恢复口是通关部分回血(见「关卡大奖励」节)。 **结论**:账本三处写入口一律封顶在 [0, 生效上限];血条跨关只降不自动回。 ``` 战后回写: 生命 = 战斗上报的生命终值(倒下记 0,冒险终) 恢复点: 生命 = min( 生命 + floor( 生效上限 × 恢复比例 ÷ 100 ), 生效上限 ) -大奖励: 生效上限 = 生效上限 + 上限提升;生命 = 生效上限 +通关回血: 生命 = min( 生命 + floor( 生效上限 × 回血比例 ÷ 100 ), 生效上限 ) 战斗入参: 每战交给战斗的上参 = 当前生命、生效上限 ``` | 变量 | 含义 | 行值出处 | |---|---|---| -| 生效上限 | 基础上限 + 统一冒险加算区累加(大奖励 + 商店购买,见 GP 冒险账本节) | 基础上限读英雄表 | +| 生效上限 | 基础上限 + 统一冒险加算区累加(三选一属性件 + 商店购买,见 GP 冒险账本节) | 基础上限读英雄表 | | 恢复比例 | 恢复点回复生效上限的百分比,逐关配置 | 读关卡表 rest_heal_pct(provisional) | -| 上限提升 | 每次大奖励的生命上限加成 | 读配置表(provisional) | +| 回血比例 | 通关部分回血回复生效上限的百分比,全局 | 读冒险表 clear_heal_pct(provisional) | 示例轨迹(纯符号示例、不代具体数值;现行行值读英雄表、关卡表与冒险表,registry 为准): @@ -127,8 +127,9 @@ MVP 的序列是三关线性:地精洞窟→幽暗地域→灰矮人矿城(2 | 冒险开始 | 满血 H₀ / 上限 H₀ | | 逐场战后 | 递减序列 H₁ > H₂ > …(示例不代数) | | 恢复点 | min(H₂ + floor(H₀ × 恢复比例 ÷ 100), H₀) | -| 关底 Boss 胜后,兑大奖励 | 上限 H₀+Δ、生命 = H₀+Δ | -| 下一关开局 | (H₀+Δ) / (H₀+Δ) 满血 | +| 关底 Boss 胜后,通关回血 | min(H₃ + floor(上限 × 回血比例 ÷ 100), 上限)(满血回 0 合法) | +| 三选一选上限提升件 | 上限 H₀+Δ 记加算区(对后续每战生效);生命账本不变 | +| 下一关开局 | 账本当前生命 / 生效上限按原值入战(不再自动回满) | 冒险内没有其他跨关遗留物:增益随战斗结束清空(归战斗结算)、道具库存随关卡结束清空(由关卡节点地图在收束点编排)、储备行动点随战斗结束清零(归[行动经济](../排雷循环/行动经济.md))。冒险层真正跨关留下的,只有这本生命账与冒险摘要。 @@ -146,23 +147,42 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 **战斗内缓冲隔离**:战斗进行中从格面兑付拿到的 GP(金币袋正向、破财负向——字典归[地图战斗资源](../战斗循环/地图战斗资源.md))不直接进钱包,而是记入战斗域的中间态缓冲;战斗完成时缓冲随掉落掷定与关级加值一并折进 gp_dropped 统一到账。钱包只在战斗边界变动,战斗域自身零钱包状态——这条隔离让战斗结算保持"折算归我、账本归冒险结构"的既有边界。 -**统一冒险加算区**:商店购买的属性提升与关卡大奖励的上限提升记**同一本账**——加算区三轴 {攻击, 生命上限, 护甲等级},入战参数 = 基础表值 + 加算区累加,经战斗开始入参的覆盖值通道生效(与生命账本的上参同一条通道)。购买生命上限时,当前生命与上限同步 +Δ(生命账本的连带写入口)。攻击轴现行只有商店一个累加源——MVP 大奖励不含攻击件。 +**统一冒险加算区**:商店购买的属性提升与提升三选一的属性件记**同一本账**——加算区四轴 {攻击, 生命上限, 护甲等级, 行动点},入战参数 = 基础表值 + 加算区累加,经战斗开始入参的覆盖值通道生效(与生命账本的上参同一条通道)。购买生命上限时,当前生命与上限同步 +Δ(生命账本的连带写入口)。属性轴累加源 = 商店购买与三选一属性件两类;行动点轴累加源 = 三选一 AP 件一类(每场战斗开始的首轮行动点基线 +1,语义细节归[行动经济](../排雷循环/行动经济.md)跨冒险加成轴节;全冒险获取次数上限最紧,provisional 2 次)。 掉落掷定消费 gp_drop 封闭随机流(主种子派生、可回放)。掉落与价格的现行行值读商店表(registry 为准),数值所有权归[难度曲线与Boss](难度曲线与Boss.md)曲线调参批——本批骨架先行,全部数值 provisional。 -### 关卡大奖励:通关一关发三件 +### 关卡大奖励:通关回血 + 提升三选一(钥石退役出大奖励) -关卡大奖励(本文含义:通关一关时固定发放的三件套)是非末关通关的固定兑付。它不进任何背包、不占任何库存域,收益面只朝"下一战"生效。兑付时点固定:关卡节点地图先调战斗结算的关卡收束接口清空关卡域库存,再向本文宣布关卡结束——大奖励在这之后、下一关开始之前兑付,顺序不可换。上限已有加成时,后续大奖励累加;非末关每关各兑付一次(现行三关下至多两次,末关不兑付)。 +关卡大奖励(本文含义:非末关通关时的固定+选择兑付)自 2026-09-30 用户拍板重构——原「固定发三件」(上限提升/血回满/钥石入账)退役,改两层兑付;钥石挪为 Boss/精英击杀的战斗掉落。兑付时点固定:关卡节点地图先调战斗结算的关卡收束接口清空关卡域库存,再向本文宣布关卡结束——大奖励在这之后、下一关开始之前兑付,顺序不可换。非末关每关各兑付一次(现行三关下至多两次,末关不兑付)。 -| 件 | 内容 | 生效方式 | -|---|---|---| -| 生命上限提升(行值读表) | 生效上限累加提升(记入统一冒险加算区——与商店购买同一本账) | 经战斗开始入参的覆盖值通道,对后续每战生效 | -| 血回满 | 生命 = 提升后的生效上限 | 直接写生命账本 | -| 钥石入账(行值读表) | 在冒险摘要里记一笔 | 数值进摘要,消费方归元进度 | +**三层奖励框架**: -最后一关通关不发大奖励:没有下一战可受益——只做冒险完成结算,钥石照记。设计意图:清库之后才兑付、末关不兑付,都是从"奖励只朝下一战生效"这一条推出来的。 +| 层 | 触发时刻 | 类型 | 内容 | +|---|---|---|---| +| 提升三选一 | 关卡通关(非末关) | 玩家选择型 | 从提升池加权抽 3 个选项呈现,玩家点选 1 件兑付,另 2 件丢弃不可反悔 | +| 钥石掉落 | Boss / 精英怪击杀 | 战斗掉落型 | Boss 掉 2–3 个钥石(首杀/复杀两档读表)、精英怪掉 1 个(精英怪未实装,设定登记预留) | +| 部分回血 | 关卡通关(非末关) | 固定兑付型 | 回复生效上限 × 回血比例(provisional 20%,参考恢复节点量级),封顶上限、不回满;满血回 0 合法 | -三件数值为 provisional,行值读冒险表 level_clear_hp_bonus / keystone_per_level(registry 为准)。上限提升的值锚与上调约束(换算率估算见 registry / 调参日志,上调须重扫第二关通关率带)归[难度曲线与Boss](难度曲线与Boss.md);钥石入账的消费归[元进度](../跨局循环/元进度.md)。2026-09-17 用户拍板:本件与元进度钥石为**同一资源**(原「代币」概念退役)——钥石渠道有二:关卡大奖励入账与关底 Boss 掉落;产出细则与量级配比归[元进度](../跨局循环/元进度.md)设计批。 +兑付次序:部分回血先行(按当刻账本与上限结算),随后呈现三选一**选择停点**——零自动推进,必须玩家点选才兑付,重复兑付被拒(结算受理只算一次语义同族)。选择停点可中断:断点附随件扩「奖励选择态 + 件获取次数计数」,续玩不重抽、不静默丢失(见「冒险断点」节)。 + +**提升池六种**(件值/权重/次数上限全读冒险表,provisional 归[难度曲线与Boss](难度曲线与Boss.md)曲线调参批): + +| 件 | 兑付 | 生效方式 | 权重 | 次数上限 | +|---|---|---|---|---| +| 攻击力提升(flat) | 加算区攻击轴累加 | 覆盖值通道,对后续每战生效 | 3 | 3 次 | +| 生命上限提升(flat) | 加算区生命上限轴累加 | 覆盖值通道(不连带当前生命) | 3 | 3 次 | +| 护甲等级提升(flat) | 加算区护甲轴累加 | 覆盖值通道 | 3 | 3 次 | +| GP 袋(定额入钱包) | GP 冒险账本入账 | 钱包收口扩「奖励入账」入口 | 3 | 无次数上限 | +| 魔法道具件(随机一件入库存) | 道具授予既有路由入库存 | 受同调位约束(见下) | 1 | 无次数上限(受同调位) | +| 行动点件(AP +1/战) | 加算区行动点轴累加 | 每场战斗开始首轮行动点基线 +1 | 1 | 2 次(全冒险最紧) | + +**抽取机制 = 加权洗牌不放回**(禁等概率真随机):weight-key 洗牌(每件 key = U(0,1)^(1/权重) 取前 3,Efraimidis-Spirakis),单次三选一零重复、逐件按权重出概率;消费 reward_pick 封闭随机流(主种子派生、[数据配置](../表现与支撑/数据配置.md)口径),同种子同操作序列同三选项可复放。达任何次数上限的件**先剔出牌库再洗牌**(AP 用尽 2 次、属性件达 3 次后永不再现)——防「三选项全不可选」死角(GP/道具件无次数上限,牌库恒非空)。 + +**魔法道具件受同调位约束**:道具持有上限 = 同调位数。本批挂过渡读数源 transitional_sync_slots(provisional 初始 1——首次冒险即可持 1 件道具,L1 通关大奖励即可体验道具件);正主 = 同调位里程碑谓词表([proposal-magic-item-attunement-2026-09-22](../../../research/proposal-magic-item-attunement-2026-09-22.md):0 起步、硬上限 3、增长 = 通关次数 + Boss 击杀数走 attunement_growth.tres),同调实施批落地后切换读数源为谓词表实时求值。任何渠道获取道具致超同调位时触发**替换交互**:现有件与新件共 N+1 选 N——可丢任一原有件腾位收新,也可放弃新件不获取;终态恒 ≤ 同调位数。停点渠道(三选一/奖励节点)触发替换交互;战斗内渠道遇满位沉没不入(战斗域零交互纪律)。奖励节点等既有获取渠道同受约束。 + +最后一关通关不发三选一与部分回血:没有下一战可受益——只做冒险完成结算,末关 Boss 钥石照常入账。设计意图:清库之后才兑付、末关不兑付,都是从「奖励只朝下一战生效」这一条推出来的。 + +**钥石掉落(退役出大奖励)**:钥石渠道自本批起 = Boss 击杀掉落 + 精英怪击杀掉落(精英怪未实装,掉 1 个预留)——「每通关一关固定入账 keystone_per_level」退役。Boss 掉落**逐杀实时入账**:行值读 meta.tres boss_keystone(首杀 3 / 复杀 2,provisional——2026-09-30 拍板贴近「2–3 个」示例量级,保持首杀 ≥ 复杀结构);末关 Boss 击杀照常入账(钥石为战斗掉落,不受「末关不兑付」约束)。钥石为跨局持久资源,消费归[元进度](../跨局循环/元进度.md)(2026-09-17 拍板同一资源语义维持);产出细则与量级配比归元进度设计批。属性件/AP 件值锚与上调约束(换算率估算见 registry / 调参日志,上调须重扫第二关通关率带)归[难度曲线与Boss](难度曲线与Boss.md)。 ### 失败重开与主种子:倒下即终,重开即全新一轮 @@ -170,7 +190,7 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 重开 = 全新一轮冒险:注入新主种子、从第一关、满血、空手——不是"重打刚才那一关"。上一局清零的是生命账本、库存与种子;唯一保留面是冒险摘要,它给每次死亡一个可对照的坐标("这局到第二层"),重开因此是新局面而不是复读。 -主动放弃按与失败同型结算:已获得的大奖励不追回、已到手的保留,摘要标记未打穿。放弃请求只在非战斗期受理,战斗进行中一律拒绝(战斗域单事务在飞)。放弃的界面入口挂在[关卡节点地图](关卡节点地图.md)的选路覆盖层上——选路停点天然是非战斗期,按钮只在冒险模式开放(选路覆盖层只在冒险模式出现);战斗进行中没有选路停点,入口因此天然不可达,拒绝分支仅作防御兜底。 +主动放弃按与失败同型结算:已兑付的三选一件与回血不追回、已到手的保留,摘要标记未打穿。放弃请求只在非战斗期受理,战斗进行中一律拒绝(战斗域单事务在飞)。放弃的界面入口挂在[关卡节点地图](关卡节点地图.md)的选路覆盖层上——选路停点天然是非战斗期,按钮只在冒险模式开放(选路覆盖层只在冒险模式出现);战斗进行中没有选路停点,入口因此天然不可达,拒绝分支仅作防御兜底。 主种子(本文含义:冒险开始时注入的一个随机种子,本局全部随机性都派生自它)在冒险开始时注入恰一次。冒险内的雷图生成、奖励抽取、遭遇掷骰与 GP 掉落掷定(消费 gp_drop 封闭流)全部派生自它,冒险内不重置、不逐关播种——早期切片"每关开局各自播种"是没有冒险层时的历史简化,已改写为全冒险单一种子。冒险的可复现域 = 主种子 + 全局取数计数器(统一随机流口径——ADR-0007 裁丙 2026-09-27 七流并一,语义权威归[数据配置](../表现与支撑/数据配置.md)),供复盘与快照(见[存档序列化](../表现与支撑/存档序列化.md))。重开抽到的种子与上一局相同是允许的(随机源范围小,撞种子不算错误),但生成新种子不得复用玩法里的随机数。 @@ -179,7 +199,7 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 冒险进行中随时关游戏走人(**中断**),下次启动可从最近停点继续——承载 = 存档 `breakpoint` 域(格式归[存档序列化](../表现与支撑/存档序列化.md),内容口径归本文)。 - **停点粒度**:快照只挂选路停点(入口呈现/战斗胜利后/兑付确认后的选路态)——这是唯一可恢复停点形态。战斗进行中不写快照:中断恢复后**当场战斗从头打**,棋盘中局不入档。 -- **七字段拍板面**:关卡序号 / 节点位 / 生命 / 本关加成区 / GP 钱包 / 商店已购档 / 已抽模板。附随件(续玩正确性必需,随批登记):主种子 + 取数计数器(rng 快照契约回填——续玩从断点号位精确续接原随机时间线,已抽模板零重抽)、钥石累计(大奖励中途值,终局摘要不失真)、已到节点序(关卡画面图条重建)、魔法道具库存(奖励节点已选件防静默丢失)。 +- **七字段拍板面**:关卡序号 / 节点位 / 生命 / 本关加成区 / GP 钱包 / 商店已购档 / 已抽模板。附随件(续玩正确性必需,随批登记):主种子 + 取数计数器(rng 快照契约回填——续玩从断点号位精确续接原随机时间线,已抽模板零重抽)、钥石累计(Boss 掉落逐杀入账的中途值,终局摘要不失真)、已到节点序(关卡画面图条重建)、魔法道具库存(奖励节点已选件防静默丢失)、**奖励选择态**(三选一停点中断:已抽候选 / 已选件 / 同调位替换在途——续玩不重抽、不静默丢失,迭代 10 扩)、**件获取次数计数**(攻击/生命上限/护甲/行动点四件各自已获取次数——次数上限判定不可由加算区累加值反推,牌库剔除态依赖它,迭代 10 扩)。 - **中断与退出两口径分离**(2026-09-29 用户裁决):中断(关游戏)= 留断点可续;**退出冒险**(放弃流程)= 失败同型结算 + **清除断点**——退出后「继续上局」不再出现。 - **续玩**:自断点重建到最近停点(账面逐字段回填 + 随机流回填),停点处玩家重新选路。三结局(通关/失败/放弃)一律清断点——断点只活在一个进行中的冒险上。 - 与测量面的关系:断点面只在注入存档承载的正式冒险路径生效;模拟/冒烟不注入 = 整面静默,MC 对拍零扰动。 @@ -194,7 +214,7 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 关卡收束点(关底 Boss 被击杀,或主角倒下) ├─ 第一步:关卡节点地图调[战斗结算](../战斗循环/战斗结算.md)的关卡收束接口——清空关卡域库存,返回清空前计数 └─ 第二步:关卡节点地图向冒险结构宣布关卡结束(通关 / 倒下) - ├─ 通关且非末关 → 兑付大奖励 → 开始下一关 + ├─ 通关且非末关 → 部分回血 + 提升三选一停点 →(玩家点选兑付)开始下一关 ├─ 通关且是末关 → 冒险完成结算 └─ 倒下 → 冒险失败结算 ``` @@ -210,7 +230,7 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 | 治疗封顶回报 | 关卡节点地图 → 本文 | 恢复点节点兑付时 | 恢复比例(读该关配置行);本文按比例回血并封顶 | | 关卡结束 | 关卡节点地图 → 本文 | 关卡收束点(已先清库) | 结果(通关 / 倒下)、生命终值、节点位置 | -至于一场战斗在哪个节点开打、打谁,组装编排归关卡节点地图;它组装战斗开始调用时,主角生命与上限取自本文下放的值,攻击力走表值通道(MVP 冒险内不提升攻击)。 +至于一场战斗在哪个节点开打、打谁,组装编排归关卡节点地图;它组装战斗开始调用时,主角生命与上限取自本文下放的值,攻防属性 = 基础表值 + 统一冒险加算区累加(覆盖值通道)。 ## 依赖与输出 @@ -233,14 +253,13 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 3. 每场战斗结束:战斗结果上报到达,账本回写生命终值;上报为 0(倒下)直接走失败结算。 4. 恢复点节点:治疗封顶回报到达,按比例回血并封顶。 5. 关底 Boss 被击杀 = 收束点:关卡节点地图先调战斗结算清库,再向本文宣布关卡结束(通关)。 -6. 非末关通关:兑付大奖励三件,开始下一关;末关通关:只做冒险完成结算。 +6. 非末关通关:部分回血兑付 + 呈现提升三选一停点(玩家点选兑付恰一件),随后开始下一关;末关通关:只做冒险完成结算(Boss 钥石照常逐杀入账)。 7. 冒险结算(完成 / 失败 / 放弃)产出冒险摘要,回到待机;重开即全新一轮,回到第 1 步。 ## P1 / P2 后置 | 优先级 | 内容 | 后置原因 | |---|---|---| -| P2 | 大奖励形态扩展(三选一 / 攻击型 / 通关加成) | 冒险表扩列结构位已留;设计随元进度定稿 | | P2 | 冒险开始参数面消费 | 预留给未来跨局加成注入(MVP 空参数,结构同覆盖值通道);归元进度 | | P2 | 冒险长度扩展(多于三关) | MVP 两关对比愿景单局 20–40 分钟;扩关 = 内容批,节奏按真人单关时长数据定 | @@ -252,24 +271,32 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 |---|---|---|---| | 关卡行集(关数与节点链模板) | 关卡表逐关行 | 第一关现行,第二关随扩展批 | 加关 = 内容批(链行 + 敌我数值 + 新元素同批);MVP 链模板 = 两战 → 奖励 → 两战 → 恢复 → 关底 Boss(7 节点,战斗深度 5) | | 恢复比例 | int [0,100],逐关行 | 见 level.tres rest_heal_pct(provisional) | 恢复点回复生效上限的百分比;随上限加成同步放大;100 = 恢复点变全满泉,0 = 死节点 | -| 上限提升 | int [0,999],冒险表单行全局 | 见 adventure_table level_clear_hp_bonus(provisional) | 大奖励的生命上限加成;值锚与上调约束归难度曲线与Boss | -| 每关钥石入账 | int [0,999],冒险表单行全局 | 见 adventure_table keystone_per_level(provisional) | 每通关一关在摘要记的值;消费方归元进度 | +| 上限提升 | int [0,999],冒险表逐件列 | adventure_table bonus_attack_flat / bonus_max_hp_flat / bonus_armor_flat(provisional) | 三选一属性件各自兑付值;值锚与上调约束归难度曲线与Boss | +| 三选一件值(其余) | int [0,999],冒险表逐件列 | adventure_table bonus_gp_amount / bonus_ap_flat / bonus_aux_item_count(provisional) | GP 袋定额 / AP 件每战增量 / 道具件授予件数 | +| 三选一权重 | int [1,99],冒险表逐件键 | adventure_table bonus_weight_attack / _max_hp / _armor / _gp(各 3)/ bonus_weight_aux / _ap(各 1)(provisional) | 加权洗牌不放回抽样权重(E-S weight-key) | +| 件次数上限 | int [0,99],冒险表逐件键 | adventure_table bonus_cap_attack / _max_hp / _armor(各 3)/ bonus_cap_ap(2)(provisional) | 达上限件先剔出牌库永不再现;GP/道具件无次数上限 | +| 通关回血比例 | int [0,100],冒险表单行全局 | adventure_table clear_heal_pct(provisional 20) | 通关部分回血回复生效上限的百分比;封顶上限不回满 | +| 同调位过渡键 | int [0,9],冒险表单行全局 | adventure_table transitional_sync_slots(provisional 1) | 道具持有上限过渡读数源;正主 = 同调位里程碑谓词表(同调实施批,切换义务在册) | +| Boss 钥石掉落 | int [0,999],meta 表逐关行 | meta.tres boss_keystone 首杀 3 / 复杀 2(provisional) | 逐杀实时入账;精英怪掉 1 预留;消费方归元进度 | | GP 经济参数 | 商店表逐行 | 见 shop.tres gp_drops / level_gp_bonus / products / price_level_bonus(provisional,registry 为准) | 掉落均值与区间(普通/精英/Boss)、关级掉落加值、商品首价与步长、关级价格加成;公式语义归本文,数值所有权归难度曲线与Boss曲线调参批 | -结构冻结(非调参项):序列线性无跳关、关底 Boss 恒为末节点、倒下即冒险终、大奖励三件构成、一冒险一主种子、收束点先清库后宣布的次序。 +结构冻结(非调参项):序列线性无跳关、关底 Boss 恒为末节点、倒下即冒险终、大奖励构成 = 通关部分回血 + 提升三选一(钥石退役出大奖励,改 Boss/精英击杀掉落——2026-09-30 拍板重构)、一冒险一主种子、收束点先清库后宣布的次序。 -参数联动:恢复比例越厚通关越有余量(对冲杠杆语义归难度曲线与Boss);上限提升抬高下一关开局强度,上调须按难度曲线与Boss的口径重扫通关率带。 +参数联动:恢复比例与通关回血比例越厚通关越有余量(对冲杠杆语义归难度曲线与Boss);三选一属性件/AP 件抬高后续战斗强度,件值/权重/上限改值须按难度曲线与Boss的口径重扫通关率带(回血比例自「血回满」改 20% 系难度上压方向,带判定随批呈报)。 ## 验收标准 - 开始新冒险:主种子注入恰一次,生命账本置满,从第 1 关起步,关卡行集加载零诊断。 -- 通关推进:非末关宣布通关后,大奖励恰兑付一次(上限累加、血回满、钥石入账),随后开始下一关。 -- 末关通关:只做完成结算——不发上限提升、无下一关;摘要标记已打穿,钥石 = 通关数 × 每关入账值。 +- 通关推进:非末关宣布通关后,部分回血恰兑付一次(封顶上限、满血回 0 合法)且三选一恰呈现一次;点选后恰兑付选中一件、未选项零生效;随后开始下一关。 +- 末关通关:只做完成结算——不发三选一与回血、无下一关;摘要标记已打穿;钥石 = 逐杀 Boss 掉落合计(末关 Boss 击杀照常入账)。 - 任意战斗倒下:冒险失败结算;摘要记通关数与止步关卡;账本封闭。 - 重开:全状态重置(账本、序列位置、库存域空、摘要新生成)并注入新主种子。 - 生命一致性:每战开始的上参 = 账本当前生命与生效上限;战后账本 = 上报终值;三处写入口均封顶在 [0, 生效上限]。 - 恢复点:回复 = floor(生效上限 × 恢复比例 ÷ 100) 后封顶;满血腿回复 0 合法。 -- 大奖励覆盖:大奖励后首战的上限入参 = 旧上限 + 上限提升(覆盖值通道);攻击力恒走表值通道。 +- 大奖励覆盖:三选一兑付后首战的入参 = 基础表值 + 加算区累加含选中件(覆盖值通道);AP 件兑付后每场战斗开始首轮行动点基线 +1。 +- 抽签封闭:三选一掷 3 消费 reward_pick 封闭流,同种子同操作序列同三选项;单次零重复;达上限件(AP 用尽 2 次 / 属性件达 3 次)先剔牌库不出现在候选。 +- 同调位约束:道具终态持有恒 ≤ 同调位过渡键;超位时停点渠道触发替换交互(丢旧收新 / 放弃新件两路),战斗内渠道沉没不入;奖励节点渠道同受约束。 +- 钥石逐杀:Boss 击杀后钥石累计增量 = boss_keystone 行值(首杀/复杀两档);大奖励面钥石入账零残留。 - 收束次序:通关宣布到达时库存已被关卡节点地图先行清空;重复的关卡结束宣布被拒绝,账本与摘要零变化。 - 覆盖义务:冒烟断言——行集内每个战斗与关底节点(关、深)在敌人与棋盘生成的数值表中有精确行;序列关数 = 行集关数。 - 生效前提未兑现(第二关行缺行):以单关冒险运行(合法态),越界关断言显式跳过而非失败。 @@ -277,7 +304,7 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 - 种子域:冒险内零随机流自开,一切随机派生自主种子(含 GP 掉落掷定的 gp_drop 封闭流);同种子同操作序列两局逐位可复现。 - GP 账本封闭:钱包只有三个收口——战斗完成入账恰一次(掉落掷定 + 关级加值 + 战斗内缓冲合计)、商店购买出账、冒险收束清零;战斗内缓冲与钱包隔离,战斗进行中钱包零变动。 - GP 不留痕:GP 不入 meta 永久进度域、不入冒险摘要;重开后钱包从零开始(唯一豁免 = 断点域瞬态快照,见「冒险断点」节)。 -- 加算区同账:商店购买与大奖励上限提升读同一本统一冒险加算区;购买生命上限后当前生命与上限同步增加等量;入战参数 = 基础表值 + 加算区累加(覆盖值通道)。 +- 加算区同账:商店购买与三选一属性件读同一本统一冒险加算区(四轴);购买生命上限后当前生命与上限同步增加等量;入战参数 = 基础表值 + 加算区累加(覆盖值通道)。 ## 待办 @@ -298,3 +325,4 @@ GP(显示名「金币」)是冒险内的一次性属性提升货币:战斗 | v0.9 | 2026-09-23 | **停点前移批流程口径对齐(用户 2026-09-23 拍板冒险入口流程倒置修复——与 HUD框架 / 关卡节点地图 / battle.md / `../../../dev/architecture/adr-0006-board-node2d-rendering.md` 同批)**:P0 闭环「开始关卡」条改新流程口径——关卡节点地图加载节点图后停在入口选路停点(关卡画面,选路覆盖层常驻形态),行进自玩家首次选路开始;通读复核其余章节——「通关自动进下一关」属关卡序列层语义(进入下一关后仍出图选路,零矛盾)、接口契约四件套、收束点先清库后宣布、放弃入口(选路停点 = 天然非战斗期)等既有裁决零改动。**批内代拍板三项已追认(2026-09-24 用户确认)**(字母不重编 / 28px 归 C/D 底行 / 进度呈现由选路覆盖层节点态承载)不落本文修订面,登记见 HUD框架 v0.8 | | v0.10 | 2026-09-27 | **统一随机流批口径对齐(ADR-0007 裁丙——rng 架构批随批)**:主种子节「可复现域 = 主种子 + 各随机流计数器」改「主种子 + 全局取数计数器」(语义权威指数据配置);本文规则面零改动——主种子恰一次注入、重开即全新一轮、摘要五件事均不变。代码实证与七消费点迁移见数据配置 v0.5 | | v0.11 | 2026-09-29 | **冒险断点批(迭代 8 卡①③——中断可续玩/退出即结算两口径分离)**:核心规则新增「冒险断点」节(停点粒度/七字段拍板面+附随件/中断退出两口径/续玩语义/测量面静默);依赖表存档序列化行补断点域 owner 登记;验收标准 GP 不留痕条补断点域豁免口径。实现落点 = AdventureRunner 快照/清除/续玩 + SaveManager breakpoint 域 + rng restore_adventure | +| v0.12 | 2026-10-01 | **关卡大奖励重构批(迭代 10——用户 2026-09-30 拍板案丙 + P-A~P-E 全裁毕;冒险表扩列 / meta.tres 重锚 / registry / 行动经济 / 元进度 / 01-核心循环 / 03-内容规模 / 难度曲线与Boss / 关卡节点地图 / 06 同批落文)**:①大奖励「固定三件套」退役改两层兑付——非末关通关 = 部分回血(clear_heal_pct 20 provisional)+ 提升三选一(池六种:攻击/生命上限/护甲/GP 袋/魔法道具/行动点件;加权洗牌不放回 E-S weight-key 消费 reward_pick 封闭流;属性件上限各 3、AP 件上限 2,达上限先剔牌库);②统一冒险加算区三轴扩四轴 +行动点(AP 件 = 每场战斗开始首轮基线 +1);③钥石退役出大奖励改 Boss/精英击杀逐杀掉落(boss_keystone 重锚首杀 3/复杀 2,末关照常入账,精英掉 1 预留);④魔法道具件受同调位约束(过渡键 transitional_sync_slots=1 provisional,正主 = 同调实施批谓词表;超位替换交互 N+1 选 N、战斗内渠道沉没不入);⑤断点附随件扩奖励选择态 + 件获取次数计数;⑥选择停点零自动推进/可中断。渲染层验证冻结(用户 2026-10-01 提前开工拍板——不合入 master、目检待批),目检清单随批交付 | diff --git a/design/gdd/systems/冒险循环/难度曲线与Boss.md b/design/gdd/systems/冒险循环/难度曲线与Boss.md index c3295d31..22849354 100644 --- a/design/gdd/systems/冒险循环/难度曲线与Boss.md +++ b/design/gdd/systems/冒险循环/难度曲线与Boss.md @@ -56,7 +56,7 @@ |---|---|---| | 关间台阶(关卡序号) | 每关至少投放一项新内容(新敌种或既有池新技能),加基准数值跳升 | 台阶必须能归因到看得见的变化,不是纯数字膨胀;投放断档是内容生产缺口,调参修补不了(技能池批措辞修订 2026-09-16:行为环段 → 既有池新技能) | | 关内坡度(节点深度) | 同敌种数值平缓上移,深度也可表达为敌人成群 | 数量是比单体质变更优先的深度表达:保持技能池 EV 读数不变(权重即旋钮、EV 重锚随批登记)、总量受控 | -| Boss 与精英修饰(预留第三轴) | Boss 走最深深度直填行;精英只有字段命名空间预留 | Boss 不走修饰表;修饰乘数表 MVP 为空表、零行为,首个使用场景 = 精英节点(随[关卡节点地图](关卡节点地图.md)定稿联动);数值所有权在本系统,[棋盘生成](../排雷循环/棋盘生成.md)只按表生成 | +| Boss 与精英修饰(预留第三轴) | Boss 走最深深度直填行;精英只有字段命名空间预留 | Boss 不走修饰表;修饰乘数表 MVP 为空表、零行为,首个使用场景 = 精英节点(随[关卡节点地图](关卡节点地图.md)定稿联动);数值所有权在本系统,[棋盘生成](../排雷循环/棋盘生成.md)只按表生成。精英怪设定已登记预留(迭代 10 奖励重构批——与其他普通小怪同一立绘 + 附加特征标记 + 数值更强;视觉特征三件 = 名称前后缀「精英·」+ 底座光环 + 描边变色,色板合规与样张闸义务随怪物设定批实装) | **结论**:关内坡度 = 每深一档同敌种基准上移,或按"深度也可表达为敌人成群"改由数量承载——单体生命随深度的具体走向以 `enemy.tres` 行值为准(数量优先于单体;s_hp 线性式为建模工具,现行行值不承诺随深度单调上移);关间台阶 = 相邻关同敌种基准乘 1.3–1.6(域语义如上;s_hp / k_L 现行行值读 `enemy.tres`,域登记见 registry)。 @@ -131,7 +131,7 @@ MVP 行值并不逐式现算,而是按此式量级直填经切片验证过的 1. **实现缺陷检查(AC 档位边界)**——先查双重乘算、档位映射反向等缺陷,对照掷点面 EV 减免读数定位,再谈调参; 2. **AC 档位值**——掷点折扣/暴击档位行值(读 `settlement.tres`); 3. **难度曲线行值加难**——本系统行值(血量锚走廊、变异 effect_value/percent_of_cells/per_level_bonus、群战数量、注入衰减等已登记杠杆位); -4. **行动点 6→4**——量程最大、爆炸半径最大(AP 已于压速批落 6,第四级启用即推翻压速批拍板,须用户裁决)。 +4. **行动点表值级调降**——量程最大、爆炸半径最大(AP 现行表值 = 8〔Package B 2026-09-22 批 6→8 回调;历史「压速批落 6」口径已被回调取代〕,第四级启用即推翻现行配置拍板,须用户裁决)。 四条边界:①「承伤偏高(减免过度)」败向先查实现缺陷再谈调参;②动用行值级或行动点级均使同种子历史坐标整体作废,须重立基线、另起验收批;③敌方 AC 正式值不进本链(归怪物设定批——M-3 迭代 5 T4 通道);④每次调参后全量重跑验收并在调参日志留联动检算记录(禁独立调参网络纪律)。 @@ -238,8 +238,9 @@ Boss 战的棋盘用本关最大板形(板形行值读棋盘参数表),板 | P1 | 加难杠杆扫描落带 | 候选杠杆已登记(血量锚走廊、群战上探、注入衰减上调候选),扫描未执行;护甲等级换装点锚定(基准护甲等级自带敌方输出期望的结构性削减 + 减伤墙退役 + 伤害下限)的方向性偏移并入本扫描一并调带(带宽补扫含暴击档与折扣档);落带前现行行值维持 provisional-pending-scan。第二关行集随分支节点图批落地后并入本扫描(L2 读数基线/加成档已随批实测,见 v0.7) | | P1 | 挖掘风险不等式与清图支配性对账重跑 | 两条对账:清图支配性已于 2026-09-19 按现行值链重跑(裁决②"非支配设计态"维持——缺口收窄主读数 L1≈24/L2≈45 当量〔u=1〕,设计权威 design/research/audit-clear-dominance-2026-09-19.md,重跑入口 tools/clear_dominance_audit.py);调参批执行时按当期行值随批重跑。挖掘风险不等式现行破线,义务仍落本文调参批(现状见[战斗结算](../战斗循环/战斗结算.md)「待办」) | | P1 | 真人通关率修正系数标定 | 带按模拟口径定义;试玩批次实测真人显著强于模拟者,系数待后续试玩批次定量 | +| P1 | 迭代 10 奖励重构带重扫义务 | 恢复经济收紧(通关血回满→部分回血 20%,难度上压方向)+ 局内成长节奏变动(三选一件值/权重/次数上限 knob 全读冒险表;AP 件 = 每场战斗开始首轮 +1 AP 的强度敏感轴)——通关率带重扫随曲线调参批现行窗执行;Boss 钥石掉落重锚(首杀 3/复杀 2)连带元进度产出标定义务重开(归元进度设计批) | | P1 | 完美策略档的结构性加难杠杆 | 数值杠杆对完美档已被实测证伪,结构候选未裁决(见「待办」) | -| P2 | 精英节点完整语义与修饰乘数表首行 | 随[关卡节点地图](关卡节点地图.md)定稿联动;首个使用场景 = 精英节点 | +| P2 | 精英节点完整语义与修饰乘数表首行 | 随[关卡节点地图](关卡节点地图.md)定稿联动;首个使用场景 = 精英节点;精英怪设定三特征已登记(迭代 10 批,见「曲线雕刻」表注),钥石掉 1 个预留挂钩 meta.tres boss_keystone 精英行(随实装批落) | | P2 | 区间平移换算率定稿 | 接口启用形态已定稿(2026-09-18 元进度定稿批);剩余面 = 首版三行折算数值随[元进度](../跨局循环/元进度.md)设计批模拟读数标定 | | P2 | 全局作用域变异的投放计划 | 机制框架归[地形变异](../排雷循环/地形变异.md),投放计划归本文,随关卡扩展 | diff --git a/design/gdd/systems/排雷循环/行动经济.md b/design/gdd/systems/排雷循环/行动经济.md index 0f2dedec..6769efc1 100644 --- a/design/gdd/systems/排雷循环/行动经济.md +++ b/design/gdd/systems/排雷循环/行动经济.md @@ -96,6 +96,17 @@ 跨轮携带量口径随之改写:RAP 仍是唯一显式携带资源(停手转存、玩家可见可花),行动点修正队列是第二携带量——一次性、自动清零、不可主动消费。 +### 跨冒险行动点加成轴(迭代 10 奖励重构批) + +统一冒险加算区(归[冒险结构](../冒险循环/冒险结构.md))自迭代 10 起扩第四轴「行动点」:三选一 AP 件兑付后,加算区行动点轴累加(值读冒险表 bonus_ap_flat,全冒险获取至多 bonus_cap_ap 次)。加成经战斗开始入参的覆盖值通道传入战斗域(与生命/攻防上参同族),账本侧兑现口径: + +``` +开轮(第 1 轮)行动点 = max(0, ap_per_round + 加成轴值 + 当轮排队净值) +后续轮次行动点 = max(0, ap_per_round + 当轮排队净值) (加成轴不跨轮重复兑现) +``` + +加成轴是战斗开始的一次性基线抬升,不是逐轮增税;修正队列(上节)与加成轴在开轮时相加兑现,互不挤占。「每战 +1 AP」的强度评估与通关率带重扫义务归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)调参批。 + ### 标中旗的兑付约束 插旗标中了巢穴,收益在当轮结算兑付(标中 = 巢穴被控制、里面怪物被削弱)。兑付受五条硬约束,核心思想是"认雷不认旗": @@ -189,6 +200,7 @@ | move_ap_cost | int | 表值(冻结 0) | 移动免费——冻结,非调参项 | | chain_ap_cost | int | 表值(冻结 0) | 连锁免费——冻结,非调参项 | | refresh_cap_per_round | int | 表值(provisional,结构位预留) | 每轮刷新上限,开轮重置计数 | +| (跨表)跨冒险行动点加成 | int [0,10] / int [0,99],冒险表 | adventure_table bonus_ap_flat / bonus_cap_ap(provisional) | 三选一 AP 件兑现值与全冒险次数上限;加成轴语义见「跨冒险行动点加成轴」节 | 字段名注记:2026-09-18 措辞收口批已全链对齐正式名——表字段与本文行名统一为 `refresh_cap_per_round`,账本入口统一为 `request_refresh`(registry naming_unification 兑现,切片临时名零残留)。 @@ -220,3 +232,4 @@ | v0.3 | 2026-09-17 | 数值纪律收口批:正文与调参表 knob 现行值改指路存根(事实源 data/tables/*.tres 与 registry),0 处失同步修正——价目改「统一价目 / 标准价(见 action_economy.tres)」口径,每轮点数与刷新门槛改表值指路;调参表「现行值」列整列指路化;注记 refresh_cap_per_round 与表字段 refresh_max_per_round 命名不一致(字段名对齐待批)。顺带:P0 闭环「扣 1 点」改「按价扣费」;终扫补两处漏网——巢穴约束例句「每轮花 2 点重插」改「重复计费重插」、P0 闭环「每轮至多 2 次」改刷新上限读表 | | v0.4 | 2026-09-19 | 插旗不可逆批(用户拍板全套落地):拔旗动作退役——设计目的/统一价目/价目表/布尔入口清单/P0 闭环/调参表六处删"拔旗",flag_pull_ap_cost 字段随 schema 与 data 表同批删除;插旗行补"旗 = 一次性承诺、纠错 = 直接挖开"口径 | | v0.5 | 2026-09-20 | **格面资源八型批同步(用户拍板——与敌人系统 / 战斗结算 / 地图战斗资源 / registry / 切片代码同批)**:① F1 条款 3 改写——原"敌方伏击暴露不等式"随伏击机制退役作废,惩罚当量对账模型归难度曲线与Boss 调参批重立;② 新增「下轮行动点修正」节——action 型格面资源经 queue_ap_delta 排队、下一轮开始兑现(基线 ap_per_round + 净值、下限 0、兑现后清零),跨轮携带量口径改写(RAP 唯一显式携带资源 + 一次性修正队列);③ 节拍不变式(满停一轮 = 恰好一刷)补扰动注记 | +| v0.6 | 2026-10-01 | **失同步清偿 + 跨冒险行动点加成轴节(迭代 10 奖励重构批——与冒险结构 / registry 同批)**:①失同步欠账清偿——ap_per_round 真实配置 = **8**(action_economy.tres,Package B 2026-09-22 批 6→8 回调,表内批注在案);v0.2 批 8→6 系最后一次文档面记录,此后配置面单独回调未回写本文,本批补记(rap_refresh_cost 与 ap_per_round 的「满预算停手 = 恰好一刷」节拍耦合以现行 8/8 维持);②新增「跨冒险行动点加成轴」节——统一冒险加算区扩第四轴(行动点),经战斗开始入参覆盖值通道、只在每场战斗开轮首轮兑现一次;价值锚 = 冒险表 bonus_ap_flat / bonus_cap_ap(迭代 10 三选一 AP 件,全冒险 2 次上限),调参表补跨表行 | diff --git a/design/gdd/systems/跨局循环/元进度.md b/design/gdd/systems/跨局循环/元进度.md index 92fb335a..c5b0b756 100644 --- a/design/gdd/systems/跨局循环/元进度.md +++ b/design/gdd/systems/跨局循环/元进度.md @@ -48,7 +48,7 @@ ### 钥石:入账渠道与重复获取 -钥石是玩家在局内夺得、在局外消费的永久资源,2026-09-14 拍板定名。渠道有二(2026-09-17 拍板统一):关卡大奖励入账(每通关一关兑付,行值读冒险表 keystone_per_level)、关底 Boss 掉落。钥石存进存档、永不丢失,就算之后倒下也不收回。 +钥石是玩家在局内夺得、在局外消费的永久资源,2026-09-14 拍板定名。渠道自迭代 10 起改一(2026-09-30 用户拍板奖励重构——原「关卡大奖励入账」渠道随大奖励三件套退役,keystone_per_level 行值退役):**Boss / 精英怪击杀掉落**(逐杀实时入账,行值读 meta.tres boss_keystone 首杀/复杀两档;精英怪未实装,掉 1 个预留)。钥石存进存档、永不丢失,就算之后倒下也不收回。 **与 GP 的分工(2026-09-20 GP+商店房批注记,知会性质)**:钥石 = 跨局持久的解锁资源(入存档永不丢失);GP(显示名「金币」)= 冒险内一次性的属性提升货币——局内清零、不入存档,钱包账本归[冒险结构](../冒险循环/冒险结构.md)。两币记账与生命周期完全分离,永不互兑。 @@ -161,3 +161,4 @@ MVP 不要求本系统的闭环([不做清单](../../05-不做清单.md)整体 | v1.2 | 2026-09-20 | GP+商店房批注记(知会性质——与冒险结构 v0.5 同批):钥石节新增与 GP 的分工一行——钥石 = 跨局持久解锁、GP(「金币」)= 冒险内一次性属性提升、局内清零不入存档,双币生命周期切分成文、永不互兑。机制零改动 | | v1.3 | 2026-09-21 | **元进度实现批(与切片代码 / registry / 02 / 03 / 05 / 06 同批)**:本批 = 本文的实现批——MetaTable 四行族建表(`data/tables/meta.tres`,数值全 provisional 归设计批配读数);MetaProgression 账本服务(余额/几何定价/购买/工坊解锁/Boss 两档入账/注入计算,Core 层零 UI 零信号);注入通道落地(start_adventure params.hero_override → LevelRunner base_override,叠加序 = 表值+永久强化 flat+加算区 flat × 测试面板 pct);呈现面(营地覆盖层三柜台+主菜单入口+A 区顶栏钥石余额+结算屏入账明细,ui_kit 程序占位——视觉终稿归 HUD 协作批)。正文零改动(实现面不回流正文——正文零历史叙述纪律) | | v1.4 | 2026-09-23 | **换算率标定批(用户指令「现在标定」;与切片代码 / registry / 06-待办清单 / 判定端工具同批)**:换算率节回填现行表值(生命 6 / 攻击 9 / 护甲 1 点每级——OFAT 冒险注入档与白板同种子配对的逐关条件通关率差实测,冒险条件口径;同日单关直入口口径退役使首轮直入口面读数作废重测);护甲行强条目重测履行并暴露修复护甲断链(begin_battle hero_armor_class 参数零消费→_defender_ac 接线);判定端带平移表值驱动接线(带重锚后随换算率平移判);排期表 P1 行销项 | +| v1.5 | 2026-10-01 | **钥石渠道改一批(迭代 10 奖励重构——用户 2026-09-30 拍板;与冒险结构 v0.12 / registry 同批)**:钥石渠道自二改一——「关卡大奖励入账(keystone_per_level)」随大奖励三件套退役,渠道 = Boss/精英怪击杀掉落(逐杀实时入账,行值读 meta.tres boss_keystone 首杀/复杀两档;精英掉 1 预留);首杀大额/复杀小额规则不变。**产出重标义务重开**:现行两关冒险产出结构从「大奖励 10×2 + Boss 首杀 5」改「Boss 掉落 ×N(精英未实装零贡献)」,标定随元进度设计批/调参批重开(06 登记) | diff --git a/design/gdd/ux/battle.md b/design/gdd/ux/battle.md index 3e50129d..8d5e0128 100644 --- a/design/gdd/ux/battle.md +++ b/design/gdd/ux/battle.md @@ -111,7 +111,7 @@ - **RAP 读数(点阵+数字)**——自 C 区迁入,置于弃图刷新按钮旁(2026-09-26 拍板:RAP 唯一消费口 = 弃图刷新,资源数字贴消费按钮) - **战斗屏不承载(迁出,2026-09-26 二轮拍板定去向)** - GP(中循环资源——商店房消费):**关卡画面常驻总量** + **战斗总结结算(总量+增量)**(呈现 spec:[settlement-summary.md](settlement-summary.md) v1.0,2026-09-30) - - 钥石(大循环永久资源):**冒险总结结算 + 营地**(同上归位) + - 钥石(大循环永久资源):**战斗总结结算(Boss/精英击杀增量行,迭代 10 起)+ 冒险总结结算(收束明细)+ 营地**(归位口径扩面见 [settlement-summary.md](settlement-summary.md) v1.1) ### Layout Zones diff --git a/design/gdd/ux/level-clear.md b/design/gdd/ux/level-clear.md index 40166a84..39adc21f 100644 --- a/design/gdd/ux/level-clear.md +++ b/design/gdd/ux/level-clear.md @@ -1,91 +1,100 @@ -# UX Spec: 关卡结算屏(Level Clear) +# UX Spec: 关卡结算屏(Level Clear)——提升三选一选择面 -> **Status**: 新立——义务锁定版(呈现形态随实装批定,视觉终稿以表现层样张为前置,见 P1/OQ4) -> **Author**: user + ZCode(UX 文档欠账处置批) -> **Last Updated**: 2026-09-27 +> **Status**: v2 义务锁定版(2026-10-01 迭代 10 奖励重构批重写——三件套快照展示退役,改三选一选择交互;呈现形态随实装批定,视觉终稿以表现层样张为前置,见 P1/OQ4;**本批渲染层验证冻结——目检清单随批交付、实机目检待用户批准**) +> **Author**: user + ZCode(UX 文档欠账处置批;迭代 10 重写) +> **Last Updated**: 2026-10-01 > **Platform Target**: PC (Steam)——Keyboard/Mouse 主,全部操作纯鼠标可完成(同 battle.md) > **Template**: UX Spec -> **来源**: battle.md OQ8 欠账处置(2026-09-27 用户拍板建档)+ 2026-09-26 GP/钥石去向拍板(battle.md OQ14、06 待办「GP/钥石迁出战斗屏后的展示面接线」) +> **来源**: battle.md OQ8 欠账处置(2026-09-27 用户拍板建档)+ 迭代 10 奖励重构批(2026-09-30 用户拍板案丙——三选一/部分回血/钥石挪转,计划书 m3-iter10-loop-plan-2026-09-30.md) --- ## Purpose & Player Need -关卡结算屏是关卡收束时刻的清算面:末节点 Boss 倒下、本关结束,玩家在这里领到这一关的账——大奖励三件套的兑现、钥石入账的「存档变厚」反馈——然后确认进入下一关。 +关卡结算屏是关卡收束时刻的清算与**选择**面:末节点 Boss 倒下、本关结束,玩家在这里看到这一关的账(部分回血的兑付反馈),然后从三个提升选项里**挑一件带走**——本作第一个选择型奖励面。 -一句话目的:**让「打穿了一关」的收束感落在一笔算得清的账上,并让钥石入账成为驱动下一次冒险的可见钩子。** +一句话目的:**让「打穿了一关」的收束感落在一笔算得清的账上,并把「这关带我变强」变成玩家自己做的决定。** -- 大奖励三件套承载 P2(规划的延迟兑现)的收尾一拍:属性提升看得见、血回满体感直接 -- 钥石入账承载元进度驱动力([01-核心循环](../01-核心循环.md)「存档在变厚」——每杀一个 Boss 都能看到进账) +- 提升三选一承载局内成长的选择权:池六种加权抽三、点选一件兑付、另两件丢弃不可反悔 +- 部分回血承载收束反馈:通关不再自动回满,回血量一眼可读(满血回 0 合法) +- 钥石增量**不在本屏**(迭代 10 起):Boss 击杀进账时刻的钥石增量行已迁战斗总结结算([settlement-summary.md](settlement-summary.md) v1.1)——单一展示面原则,本屏不重复 -若此屏缺失或难用:关卡切换沦为无声的场景跳转(收束感缺失);钥石入账不可见(元进度驱动力的呈现链断在最后一环)。 +若此屏缺失或难用:奖励选择沦为无声的自动发放(选择权缺失);三选一停点不可中断则续玩丢选择。 ## 现行载体与目标形态(重要边界) 本屏**没有独立新屏**:现行与 MVP 目标载体都是关卡收束时刻的覆盖层反馈([HUD框架](../systems/表现与支撑/HUD框架.md) P1 行「相邻域屏完整屏形态:MVP 以覆盖层反馈承载」)。本 spec 锁义务与数据锚,不锁视觉形态;完整屏形态归 P1 实装批。 -| 时刻 | 现行载体(已实装,代码锚) | 呈现内容 | +| 时刻 | 载体(目标形态,迭代 10 实装) | 呈现内容 | |---|---|---| -| 非末关通关 | 中场确认覆盖层(_inter_overlay,main.gd `_on_big_reward`) | 大奖励文案一行:第 N 层通过 + 生命上限提升(新上限)+ 血回满 + 钥石增量(累计) | -| 末关通关 / 失败 / 放弃 | 冒险结算(复用战斗终局 overlay,main.gd `_on_adventure_finished`) | 冒险摘要五件事 + 钥石入账明细——**相邻域**(冒险终结面,非本屏职责) | +| Boss 战胜利(非末关) | 战斗总结结算([settlement-summary.md](settlement-summary.md))→ 确认后进**本屏** | 战利品行含钥石增量行 → 本屏:部分回血反馈 + 三选一三卡 | +| 非末关通关(本屏默认态) | 中场覆盖层改三选一选择交互(_inter_overlay 位置复用) | 部分回血兑付行 + 三张提升选项卡(点选+确认+兑付反馈) | +| 末关通关 / 失败 / 放弃 | 冒险结算(复用战斗终局 overlay) | 冒险摘要五件事 + 钥石入账明细——**相邻域**(冒险终结面,非本屏职责) | ## Navigation Position ``` -战斗屏 ──胜利(末节点 Boss)──▶ 【关卡结算(level_clear)】 - ├─ 非末关:确认 → 大奖励兑付 → 下一关开始(→ 关卡画面选路) - └─ 末关通关:→ 冒险结算(冒险摘要,相邻域)→ 返回存档/营地 +战斗屏 ──胜利(末节点 Boss)──▶ 战斗总结结算(GP/钥石增量行)──确认──▶ 【关卡结算(level_clear)】 + ├─ 非末关:回血反馈 + 三选一点选兑付 → 下一关开始(→ 关卡画面选路) + └─ 末关通关:直通冒险结算(相邻域)→ 返回存档/营地 失败不经本屏(战斗屏失败分支直达冒险终结)。 ``` -- 上游屏:战斗屏(胜利终局 overlay「下一节点」确认——battle.md Exit 表) -- 下游屏:关卡画面(下一关开始,选路枢纽——屏级 spec:[level-map.md](level-map.md),2026-09-27 建档);末关时改接冒险结算(相邻域屏) +- 上游屏:战斗总结结算(Boss 胜利确认——settlement-summary.md v1.1) +- 下游屏:关卡画面(下一关开始,选路枢纽——屏级 spec:[level-map.md](level-map.md));末关时改接冒险结算(相邻域屏) ## Entry & Exit Points | 方向 | 触发 | 携带语境 | |---|---|---| -| 进入 | 战斗屏胜利终局确认 → LevelRunner 判定末节点 Boss 战胜利(level_clear) | 大奖励兑付快照(上限/回满/钥石);GP 账本余额(跨关延续,冒险收束才清零) | -| 离开 | 确认按钮(唯一出口) | 非末关 → 下一关开始;末关 → 冒险结算 | +| 进入 | 战斗总结结算确认 → 关卡收束(先清库后宣布)→ 非末关兑付部分回血 → 三选一候选呈现(bonus_pick 信号) | 三候选(件 id + 名称 + 效果行值);部分回血前后生命读数;GP 账本余额(跨关延续) | +| 离开 | 三选一确认兑付 → 继续钮(唯一出口) | 兑付反馈载荷 → 下一关开始 | -零自动推进的冒险级停点(main.gd 实装口径):确认前玩家不被推着走,大奖励兑付恰一次(重复宣布被拒——冒险结构 结算受理只算一次)。 +零自动推进(冒险结构 契约 4):三选一呈现后必须玩家点选才兑付,确认前玩家不被推着走;重复兑付被拒。选择停点可中断:断点附随件扩「奖励选择态」,续玩回到本屏同一候选(不重抽)。 ## Information Hierarchy(义务锁定) 按 2026-09-26 信息归属两铁律(循环口径 + 单一展示面)过闸后的准入清单: -1. **大奖励三件套**(第一注视点):生命上限提升(含新上限读数)、生命回满、钥石入账(增量 + 累计)——中循环边界事件的兑付账,本屏是它唯一消费口。钥石入账与营地的钥石存量不同义(进账瞬间 vs 存量可用),不构成重复展示 -2. **GP 结算呈现——归属已收口(2026-09-27 用户拍板)**:GP 不进本屏。战斗总结结算展示获得的资源(目前 = GP),GP 增量+总量归战斗总结结算承载(battle.md OQ14 口径为准;呈现 spec:[settlement-summary.md](settlement-summary.md) v1.0——本屏旧用「战斗胜利总结结算」系四字变体,随 spec 命名收口退役);关卡画面另设常驻总量。本屏维持现行大奖励文案无 GP -3. **清库反馈**(呈现待批):关卡收束清库义务载体 = 魔法道具背包;库存已随迭代 7 落地(C 区四槽+关卡域库存),义务挂账、本批不设计呈现(battle.md Exit 表同源) +1. **三张提升选项卡**(第一注视点):件名称 + 一行效果读数(值读冒险表)——选择型奖励的本体;已达次数上限的件不出现(剔牌库在先) +2. **部分回血兑付行**:回血量(前后生命读数,如「生命 34 → 42」);满血回 0 时呈「生命已满」反馈而非 0 字样 +3. **兑付反馈**(确认后):选中件效果一行(如「攻击 +1」)+ 另两件已丢弃提示 +4. **同调位替换子交互**(条件呈现):选魔法道具件且库存满位时——现有件 + 新件共 N+1 选 N 的子面板:每件「丢弃换新」钮 +「放弃新件」钮;终态恒 ≤ 同调位 -**禁入清单**(两铁律推导):战斗小循环数据(结算明细、状态效果——留在战斗屏);GP(呈现位已拍板 = 战斗总结结算 + 关卡画面常驻,见 06);营地柜台全量(解锁清单/定价——不陈列);冒险摘要五件事(末关时由相邻域冒险结算屏承载,本屏不重复)。 +**禁入清单**(两铁律推导):战斗小循环数据(结算明细、状态效果——留在战斗屏);GP(呈现位已拍板 = 战斗总结结算 + 关卡画面常驻);**钥石增量与累计**(迭代 10 起归战斗总结结算增量行 + 冒险总结结算收束明细——本屏零钥石元素);营地柜台全量;冒险摘要五件事(末关时由相邻域冒险结算屏承载);已达上限件(不出现在候选)。 ## States & Variants | State | Trigger | What Changes | |---|---|---| -| 非末关通关(默认态) | level_clear 且非末关 | 大奖励兑付呈现 → 确认 → 下一关开始 | -| 末关通关 | level_clear 且末关 | 直通冒险结算(摘要 + 钥石入账明细)——本屏收缩为过场确认与否随实装批定(OQ2;现行 = 直通) | -| Boss 入口语境 | 击杀 Boss(恒为本屏入口时刻) | 入口演出归战斗屏(紫赤影子族,battle.md §States);本屏不另设 Boss 演出 | +| 三选一选择态(默认) | 非末关通关,候选已抽定 | 三卡呈现(零自动推进)→ 点选 → 确认 → 兑付反馈 → 继续 | +| 同调位替换子态 | 点选魔法道具件且库存满位 | 子面板 N+1 选 N;两路出口(丢旧收新 / 放弃新件)后回主态兑付 | +| 兑付反馈态 | 确认兑付后 | 选中件效果一行 + 丢弃提示 → 继续钮点亮 | +| 末关通关 | level_clear 且末关 | 直通冒险结算——不发三选一与回血(奖励只朝下一战生效);本屏不出现 | +| Boss 入口语境 | 击杀 Boss(恒为本屏入口前置) | 入口演出归战斗屏;钥石增量行归战斗总结结算——本屏不另设 | ## Interaction Map | 组件 | 动作 | 输入 | 即时反馈 | 结果(经组合根) | |---|---|---|---|---| -| 确认按钮 | 接受结算、推进 | 左键 | 按钮下压 | 非末关:AdventureRunner 推进下一关;末关:转冒险结算 | -| 结算文案 | 只读 | — | — | 读数 = big_reward_paid 载荷快照(despawn 前捕获纪律,同 battle.md 数据锚) | +| 提升选项卡 ×3 | 点选(单选高亮) | 左键 | 选中卡高亮、确认钮点亮 | 选中态暂存(未确认可改选);点选魔法道具件遇满位 → 替换子面板 | +| 确认钮 | 兑付选中件 | 左键 | 兑付反馈(效果一行) | AdventureRunner 兑付恰一件(重复兑付被拒);另两件丢弃不可反悔 | +| 继续钮 | 接受结算、推进 | 左键 | 按钮下压 | 下一关开始(AdventureRunner.continue_to_next_level——兑付后受理) | +| 替换子面板钮 ×N+1 | 丢旧收新 / 放弃新件 | 左键 | 子面板关闭 | 库存终态恒 ≤ 同调位;原三选一兑付继续 | -零新增交互范式:复用 label + 确认按钮(现行 _inter_overlay 即此形态)。 +复用既有交互范式,零新增原语:三卡点选 = 奖励节点 choice_box 按钮数组同族(node_overlay.show_reward_items 先例)+ 选路覆盖层点选确认两段式(level_map_screen 先例);覆盖层容器 = 中场确认覆盖层位置复用。 ## Data Requirements | Data | Source System | Read / Write | Notes | |---|---|---|---| -| 大奖励兑付快照(hp_bonus / new_max_hp / keystone_gained / keystone_total) | 冒险结构 big_reward_paid 载荷 | Read | 载荷自包含、despawn 前捕获(战斗结算 快照纪律同族) | +| 三候选(件 id/名称/效果行值) | 冒险结构 bonus_pick 信号(加权洗牌掷 3,reward_pick 封闭流) | Read | 载荷自包含、despawn 前捕获;同种子同三候选(可复放) | +| 部分回血读数(回血前后生命) | 冒险结构生命账本(clear_heal_pct 兑付) | Read | 满血回 0 合法态文案化 | +| 兑付反馈载荷 | 冒险结构 bonus_resolved 信号 | Read | 选中件 id + 生效值 | +| 同调位库存(现有件清单) | 魔法道具库存(关卡域) | Read | 替换子态数据源;上限 = transitional_sync_slots(过渡键) | | 冒险摘要(五件事) | 冒险结构 adventure_finished 载荷 | Read | 末关分支数据锚(相邻域冒险结算屏消费) | -| GP 账本 | 冒险结构 GP 冒险账本 | — | 不进本屏(2026-09-27 拍板:GP 呈现归战斗总结结算〔增量+总量,spec:settlement-summary.md〕与关卡画面〔常驻总量〕,接线登记 06);账本本身跨关延续、冒险收束清零 | -| 钥石入账 | 元进度 settle_adventure | Write(相邻域) | 唯一写档点不变(冒险收束时结算,main.gd `_on_adventure_finished`)——本屏只呈现进账读数,不写账 | -| 清库反馈 | 魔法道具(P0 后) | Read | 预留——载体 = 魔法道具背包,随 P0 落地补设计 | +| GP 账本 | 冒险结构 GP 冒险账本 | — | 不进本屏(维持 2026-09-27 拍板) | +| 钥石入账 | 元进度 settle_adventure | Write(相邻域) | 唯一写档点不变;**本屏零钥石元素**(迭代 10 起,增量行迁战斗总结结算) | ## Accessibility @@ -93,20 +102,22 @@ ## Acceptance Criteria -- [ ] 非末关通关必经本屏确认,零自动推进;大奖励兑付恰一次(重复宣布被拒) -- [ ] 大奖励三件套读数可见且与载荷一致(上限提升/新上限/血回满/钥石增量+累计) -- [ ] 末关通关分支正确转接冒险结算,冒险摘要五件事完整 -- [ ] 确认前冒险状态冻结(无后台推进、无战斗事件串扰) -- [ ] 呈现遵循 HUD框架 可访问性基线(对比 ≥4.5:1、字号下限、纯鼠标可完成) -- [ ] 清库反馈:库存已随迭代 7 落地(C 区四槽+关卡域库存),清库反馈呈现待批——随呈现落地补验收(义务挂账) +- [ ] 非末关通关必经本屏:三选一恰呈现一次(零自动推进)、点选后恰兑付一件(重复兑付被拒)、未选项零生效 +- [ ] 三候选读数可见且与 bonus_pick 载荷一致(件名称 + 效果行值);同种子同三候选 +- [ ] 部分回血兑付行可见且封顶上限;满血回 0 呈合法态文案 +- [ ] 同调位替换子交互:满位收新触发 N+1 选 N,丢旧收新与放弃新件两路终态恒 ≤ 同调位 +- [ ] 末关通关分支正确直通冒险结算(不发三选一与回血),冒险摘要五件事完整 +- [ ] 确认前冒险状态冻结(无后台推进、无战斗事件串扰);选择停点中断 → 续玩候选不重抽、已选不丢失 +- [ ] 呈现遵循 HUD框架 可访问性基线(对比 ≥4.5:1、字号下限、纯鼠标可完成;减动效 = 静态化) +- [ ] 本屏零钥石元素、零 GP 元素(禁入清单机检随冒烟断言) ## Open Questions -1. **GP 增量展示面归属——已收口(2026-09-27 用户拍板)**:战斗胜利出现战斗总结结算、展示获得的资源(目前只有 GP);战斗失败出现冒险总结结算、确认后回存档首页——GP 总量+增量归战斗胜利总结结算(battle.md OQ14 口径为准);06 归属行「结算画面批 GP 增量」系登记偏差已同批修正。本屏不承载 GP,无遗留。两面呈现 spec 已出生:[settlement-summary.md](settlement-summary.md) v1.0(2026-09-30) -2. **末关分支形态**:末关通关时本屏收缩为过场确认 vs 直通冒险结算(现行 = 直通)——随完整屏形态实装批一并定 -3. **「结算画面」口径——已收口(2026-09-27,随 GP 拍板一并落定)**:「钥石 = 结算画面 + 营地」中「结算画面」= 冒险总结结算(冒险摘要 + 钥石入账明细);大奖励屏的钥石增量+累计 = Boss 层进账呈现——两处并存系「进账时刻 vs 收束明细」不同义,不构成重复展示,维持现状。「结算画面」单用为两义词(battle.md 旧语境指战斗面),已随 [settlement-summary.md](settlement-summary.md) 命名收口退役,叙述用全称 -4. **视觉终稿**:以表现层样张过审为前置(06 待办登记);本 spec 的 AC 为功能性判据,不含视觉终稿判据 -5. **清库反馈呈现**:载体 = 魔法道具背包,随魔法道具 P0 落地设计(义务挂账,本批不设计) +1. **GP 增量展示面归属——已收口(2026-09-27 用户拍板)**:战斗胜利出现战斗总结结算、展示获得的资源(GP 增量+总量;迭代 10 起追加 Boss/精英钥石增量行);战斗失败出现冒险总结结算、确认后回存档首页。本屏不承载 GP 与钥石,无遗留。两面呈现 spec:[settlement-summary.md](settlement-summary.md) v1.1 +2. **末关分支形态**:末关通关时直通冒险结算(现行维持)——随完整屏形态实装批一并定 +3. **钥石呈现三面化——已收口(迭代 10 契约 6 推荐案)**:战斗总结结算(Boss/精英击杀增量行)+ 冒险总结结算(收束明细)+ 营地存量——「进账时刻 / 收束明细 / 存量可用」不同义不构成重复展示;本屏旧「钥石增量+累计」呈现随大奖励重构退役 +4. **视觉终稿**:以表现层样张过审为前置(06 待办登记);本 spec 的 AC 为功能性判据,不含视觉终稿判据。**本批渲染层验证冻结(用户 2026-10-01)**——实装后目检清单随批交付,实机目检待用户批准后补闸 +5. **替换子交互视觉形态**:本批锁定功能性判据(N+1 选 N、两路出口、终态 ≤ 上限);卡面/面板布局视觉归样张批 --- @@ -117,3 +128,4 @@ | 2026-09-27 | 初稿(UX 文档欠账处置批,用户拍板建档):义务锁定版——大奖励三件套/钥石入账/清库反馈预留成文;现行载体(_inter_overlay 与 BattleEndOverlay 复用)与代码锚如实登记;GP 归属两处登记不一致挂 OQ1,拍板前不新增 GP 呈现义务 | | 2026-09-27 | GP 归属拍板对齐批(用户口径:战斗胜利→战斗总结结算展示获得资源〔目前 GP〕;战斗失败→冒险总结结算→确认回存档首页):OQ1 收口——GP 总量+增量归战斗胜利总结结算(battle.md OQ14 为准),本屏不承载 GP;OQ3 收口——「结算画面」指认 = 冒险总结结算,大奖励屏钥石进账 + 冒险总结结算明细两处并存维持;信息归属 GP 移入禁入清单;Data Requirements GP 行改零访问;06 归属行同步修正 | | 2026-09-27 | 关卡画面 UX spec 建档联动:§Navigation Position 下游屏行挂 level-map.md 屏级 spec 指针。零机制改动 | +| 2026-10-01 | **三选一选择交互重写(迭代 10 奖励重构批——用户 2026-09-30 拍板案丙;T2 UX spec 卡)**:①Purpose/载体/导航/进出/层级/状态/交互/数据全节重写——「大奖励三件套快照展示」退役,改「部分回血反馈 + 提升三选一三卡点选 + 确认兑付 + 同调位替换子交互」;②钥石元素全屏退役(增量行迁战斗总结结算,禁入清单机检化);③交互范式 = choice_box 按钮族 + 选路两段式复用,零新增原语;④AC 五条改写 + 断点中断/减动效/禁入机检三条新增;⑤OQ3 改钥石三面化收口、OQ5 改替换子交互视觉归样张批 | diff --git a/design/gdd/ux/settlement-summary.md b/design/gdd/ux/settlement-summary.md index 1d1d402f..e2d2783f 100644 --- a/design/gdd/ux/settlement-summary.md +++ b/design/gdd/ux/settlement-summary.md @@ -15,9 +15,9 @@ ## 战斗总结结算(战斗胜利面) -- 触发:冒险模式非 Boss 战斗胜利(verdict=win,`level_runner._on_battle_finished` 非 Boss 分支挂停点,2026-09-29 迭代 8 卡⑥接线)。Boss 胜利走[关卡结算屏](level-clear.md)大奖励面,不经本面。 +- 触发:冒险模式战斗胜利(verdict=win)含 Boss 胜利——迭代 10 起 Boss 胜利也经本面(钥石逐杀掉落增量在此呈现,确认后进[关卡结算屏](level-clear.md)三选一面;原「Boss 胜利走大奖励面不经本面」口径随大奖励重构退役)。非 Boss 接线 2026-09-29 迭代 8 卡⑥。 - 载体:battle_end_overlay 胜利形态(金蜡封)。 -- 呈现内容(2026-09-27 拍板面):金蜡封 + 判定行 + 战利品行(GP 增量 + 总量)+「下一节点」钮 + 明细回看入口。 +- 呈现内容(2026-09-27 拍板面 + 迭代 10 扩):金蜡封 + 判定行 + 战利品行(GP 增量 + 总量;Boss/精英击杀追加**钥石增量行**——首杀/复杀档位读 meta.tres boss_keystone)+「下一节点」钮 + 明细回看入口。 - 数据锚:增量 = `battle_finished` 载荷 `gp_dropped`;总量 = runner.gp 现值(LevelRunner 入账先于呈现连接——次序依赖在案,M-1 迭代 2 T5 接线)。 - 出口:「下一节点」→ 关卡画面选路(零自动推进)。 @@ -25,13 +25,13 @@ - 触发:主角倒下(verdict=lose)/ 末关通关 / 玩家放弃——三结局同面(`adventure_finished` 收束)。 - 载体:与战斗面同一个 battle_end_overlay(2026-09-29 迭代 6 T7 接线)——末关通关走 `open_victory`(金蜡封 +「本局 GP 入账 · 合计 N」行,GP 收束清零前的呈现侧影子账);倒下 / 放弃走 `open_defeat`(暮蓝)。无独立「冒险终局面板」实体,06 台账旧称随本条收口。 -- 呈现内容:冒险摘要五件事(定义归[冒险结构](../systems/冒险循环/冒险结构.md))+ 钥石入账明细(消费归[元进度](../systems/跨局循环/元进度.md) settle_adventure)+ GP 合计行。 +- 呈现内容:冒险摘要五件事(定义归[冒险结构](../systems/冒险循环/冒险结构.md))+ 钥石入账明细(= 本局逐杀 Boss 掉落合计;消费归[元进度](../systems/跨局循环/元进度.md) settle_adventure——迭代 10 起大奖励面不再产钥石)+ GP 合计行。 - 出口:确认 → 回存档首页。 ## 口径 - **命名(2026-09-27 拍板文本口径)**:战斗总结结算 / 冒险总结结算。历史变体收口清单(正文一律改用正名,变体退役):①「战斗结算画面」——battle.md 旧口径(06 归属行已判登记偏差);②「结算画面」单用——两义词(level-clear 语境=冒险面、battle 旧语境=战斗面),禁用;③「战斗胜利总结结算」——level-clear 与 06 台账旧用四字变体;④「摘要结算画面」——冒险结构 旧称(冒险总结结算的摘要呈现位);⑤「冒险终局面板」——06 台账对同一 overlay 冒险面打开形态的俗称,无独立实体。06-待办清单 现状段按其「措辞不改」体例保留历史原文,以本清单为命名准绳。 -- **GP / 钥石呈现分工**(battle.md OQ14 收口口径):GP = 本 spec 战斗面(增量+总量)+ 关卡画面常驻总量;钥石 = 本 spec 冒险面 + 营地存量。钥石多处并存系「进账时刻 / 收束明细 / 存量可用」不同义,不构成重复展示(level-clear.md OQ3 收口维持)。 +- **GP / 钥石呈现分工**(battle.md OQ14 收口口径 + 迭代 10 扩):GP = 本 spec 战斗面(增量+总量)+ 关卡画面常驻总量;钥石 = 本 spec 战斗面(Boss/精英击杀增量行,迭代 10 起)+ 冒险面(收束明细)+ 营地存量。钥石多处并存系「进账时刻 / 收束明细 / 存量可用」不同义,不构成重复展示(level-clear.md OQ3 收口维持)。 - **失败面不呈战利品**:冒险总结结算不呈现 GP 增量(倒下即终语义,失败侧恒不呈现)。 - **禁重复展示**:本面不呈状态效果、不呈结算明细正文(明细走回看 overlay)——[battle.md](battle.md) 信息归属两原则(循环限定 + 单一展示面)对面级呈现同样适用。 @@ -40,3 +40,4 @@ | 版本 | 日期 | 改动 | |---|---|---| | v1.0 | 2026-09-30 | 首版落文(审计拍板点 2 用户裁决:丙案两面分节 + 纯呈现轻量 spec——成文已实装显示规则,无新概念;命名三名并存收口为拍板文本口径) | +| v1.1 | 2026-10-01 | **钥石呈现接线批注记(迭代 10 奖励重构——呈现侧 spec 先行,实装随批)**:战斗面触发扩 Boss 胜利(钥石逐杀掉落增量行上战斗总结结算框——契约「钥石增量一面承载」推荐案)+ 呈现内容补钥石增量行;冒险面钥石明细口径改「本局逐杀 Boss 掉落合计」;GP/钥石分工口径三面化(战斗面增量/冒险面明细/营地存量)。原「Boss 胜利不经本面」退役 | diff --git a/design/registry/entities.yaml b/design/registry/entities.yaml index 3f9b0a5b..7de7bf68 100644 --- a/design/registry/entities.yaml +++ b/design/registry/entities.yaml @@ -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 内容承载(强敌行集) + 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);演化链与三版读数见 design/qa/m3-iter5-t4-ac-2026-09-28.md,裁断全录 design/qa/m3-iter5-u2-gate-2026-09-29.md;冒烟带宽断言随新形态更新(杂鱼 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 格面资源八型批):② 雷→伏击恰一次转化改 雷→警觉恰一次转化 @@ -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)· 库存关卡域(与 地图战斗资源 库存正交两容器、生命周期同构)· 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 恒达) @@ -557,13 +557,18 @@ entities: 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(两字段 10/10)+ ConfigDB 加载行"adventure",冒烟断言在案(冒险结构实现批 2026-09-21)) - fields: - level_clear_hp_bonus: int [0,999](knob 默认 10——关卡大奖励 HP 上限提升,冒险内生效经 begin_battle 覆盖值通道传入后续每战;值锚 = 难度曲线与Boss 区间平移换算率 +10hp ≈ +1 轮,上调须 难度曲线与Boss 重扫 L2 通关率带) - keystone_per_level: int [0,999](knob 默认 10——每通关一关的钥石入账值;消费方 元进度;2026-09-17 代币→钥石统一拍板改键〔原 token_per_level〕;AdventureTable 已建表——冒险结构实现批 2026-09-21,零代码影响注记随之失效) - mvp_content: 两字段默认值即 MVP 行(10 / 10,provisional) - extension_reserve: 大奖励形态扩列位(三选一 / 攻击型 / 通关加成——冒险结构 OQ2,随元进度设计) - referenced_by: [冒险结构, 元进度, 数据配置] + 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/精英击杀掉落)。 + clear_heal_pct: int [0,100](knob 默认 20——非末关通关部分回血回复生效上限的百分比,封顶上限不回满、满血回 0 合法;难度上压方向,带重扫义务归 难度曲线与Boss) + bonus_attack_flat / bonus_max_hp_flat / bonus_armor_flat: int [0,999](三选一属性件兑付值——加算区攻击/生命上限/护甲轴累加,经覆盖值通道;值锚与上调约束归 难度曲线与Boss) + bonus_gp_amount: int [0,999](GP 袋件定额入钱包);bonus_ap_flat: int [0,10](AP 件每场战斗首轮行动点基线增量);bonus_aux_item_count: int [1,9](魔法道具件授予件数) + bonus_weight_attack / bonus_weight_max_hp / bonus_weight_armor / bonus_weight_gp: int [1,99](加权洗牌抽样权重,默认各 3);bonus_weight_aux / bonus_weight_ap: int [1,99](默认 1) + bonus_cap_attack / bonus_cap_max_hp / bonus_cap_armor: int [0,99](属性件全冒险获取次数上限,默认各 3——达上限件先剔出牌库永不再现);bonus_cap_ap: int [0,99](AP 件上限,默认 2——全冒险最紧) + transitional_sync_slots: int [0,9](同调位过渡读数源,默认 1——道具持有上限;正主 = attunement_growth.tres 里程碑谓词表,同调实施批落地后切换读数源) + mvp_content: 单行全局默认值即 MVP 行(provisional 归 曲线调参批——迭代 10 扩列批注) + extension_reserve: 大奖励形态扩列位已消费(迭代 10 奖励重构批落地三选一/攻击型——本键使命完成退役;冒险结构 OQ2 收口) + referenced_by: [冒险结构, 元进度, 行动经济, 数据配置] - name: shop_table type: schema_data @@ -615,7 +620,7 @@ 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 两档 L1 5/1 · L2 8/2 · L3 12/3;工坊阈值 1/1/2/2/3/3(按总通关次数);换算率全 0 占位 + provisional: 数值全 provisional 归元进度设计批配读数(骨架先行先例 = GP+商店房批)——现行落表值:flat 血+3/攻+1/甲+1、base 10 ratio 150 三行同;Boss 两档 **首杀 3 / 复杀 2 三关统一**(**迭代 10 奖励重构批重锚**——原 L1 5/1 · L2 8/2 · L3 12/3 退役;P-B 乙拍板贴近「Boss 掉 2–3 个」示例量级,子选项「复杀统一 2」归代拍板白名单待追认;精英掉 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: [元进度, 存档序列化, 数据配置]