diff --git a/design/gdd/02-系统清单.md b/design/gdd/02-系统清单.md index ad0e25ff..dc3ba99d 100644 --- a/design/gdd/02-系统清单.md +++ b/design/gdd/02-系统清单.md @@ -45,7 +45,7 @@ | `关卡节点图生成.md` | 单关节点图的逐局随机来源:图模板池、抽签与实例化(实施排队 ADR-0007 裁决后) | 设计草案·拍板点全落文 | | `冒险结构.md` | 整局冒险的关卡序列、失败与大奖励 | 已定稿·自旧体系迁移 | | `难度曲线与Boss.md` | 难度曲线、期望值带与 Boss 设计 | 已定稿·自旧体系迁移 | -| `特性.md` | 一次冒险内角色自身得到的提升(规则改写型 / 属性加成型两种形态) | 已实现·2026-10-05 新立定义 | +| `特性.md` | 一次冒险内角色自身得到的提升(属性提升 / 专长两类) | 已实现·2026-10-05 新立定义·v1.1 分类重构 | ### 跨局循环(`systems/跨局循环/`) @@ -129,3 +129,4 @@ | v1.1 | 2026-09-27 | 关卡画面 UX spec 建档(关卡画面 UX 批):`ux/` 表补 `level-map.md` 行——选路枢纽三停点布局、GP 常驻徽章、交互映射与 AC 成文,三项设计提案挂 06 待拍板 | | v1.2 | 2026-10-03 | R3 清账批(gdd_lint 分域随批):四处状态单元格日期批注迁出——敌人系统行事件见敌人系统.md 版本历史 v0.5(技能池批);元进度行见本表 v0.8;camp/shop 行=两文 v1.0 落文(2026-09-30 三裁决执行批);语义零变更 | | v1.3 | 2026-10-05 | 立《特性》:一次冒险内角色自身得到的提升——此前按内部分类被叫成三个名字(规则类称"流派件"、属性类称"数值件"、界面称"本关强化"),现收敛为一个对象的两种形态枚举;文档树冒险循环补行 + 命名对照表补 `ADVENTURE_FEATURE` 行 | +| v1.4 | 2026-10-05 | 《特性》v1.1 分类重构:两类由"规则改写型 / 属性加成型"改为"属性提升(ASI)/ 专长(Feat)",属性提升内部再分纯属性组与特殊组;获取途径由两口共用池改为三条分工渠道(专长走特定节点、属性提升走奖励节点与商店)+罕见旁路"专长获取" | diff --git a/design/gdd/06-待办清单.md b/design/gdd/06-待办清单.md index cd018c3e..1a47dd10 100644 --- a/design/gdd/06-待办清单.md +++ b/design/gdd/06-待办清单.md @@ -25,15 +25,29 @@ **设计知识存续口径**:七流派完整件表/逐项反例条件表/天赋树后备语言(哈迪斯 2 预算制扩容/邻接树改型/GP 价格通胀防线)存整合定稿,随实施批文档吸收迁入各 GDD 正主(元进度/node-reward/战斗结算/地形变异/行动经济/魔法道具边界句/商店 spec)——**吸收完成前定稿不删**;喂雷流待办见上条遗留登记。 -#### 冒险 BD 两类加强物品获取同渠道、纯概率差(用户口径:获取途径须区分开,2026-10-04 提问登记) +#### 冒险 BD 两类获取同渠道、纯概率差——渠道分工目标态(2026-10-04 提问登记;2026-10-05 用户定分工) -**现状**:BD 分层口径(用户定):基础 BD(账号级,局外天赋树+同调装配)与冒险 BD(局内一次冒险的构筑)两层;冒险 BD 的加强物 = **特性**(2026-10-05 定名,定义见 [特性](systems/冒险循环/特性.md)):规则改写型(改规则、带流派标签与档位激活,构筑核心)与属性加成型(属性加成,写统一加算区;账本实为冒险域、关间不清零)两种形态。旧称「流派件 / 数值件 / 本关强化」一律作废。现行两类**共用同一获取渠道**:三选一(奖励节点+通关)+ 商店货架 + 格面令牌同属 98 张固定配额池(普通 70/稀有 25/罕见 3),规则改写型只占稀有/罕见档(与属性大件混编),商店仅「货架零规则改写型挤掉一张普通卡」保底——获取途径与条件完全相同、仅概率不同,构筑核心的获取节奏纯看脸。 +**现状**:BD 分层口径(用户定):基础 BD(账号级,局外天赋树+同调装配)与冒险 BD(局内一次冒险的构筑)两层;冒险 BD 的加强物 = **特性**(2026-10-05 定名,定义见 [特性](systems/冒险循环/特性.md)):**专长**(改规则、带流派标签与档位激活,构筑核心)与**属性提升**(抬属性,写统一加算区;账本实为冒险域、关间不清零)两类。旧称「流派件 / 数值件 / 本关强化」一律作废;v1.0 的「规则改写型 / 属性加成型」亦作废。现行两类**共用同一获取渠道**:三选一(奖励节点+通关)+ 商店货架 + 格面令牌同属 98 张固定配额池(普通 70/稀有 25/罕见 3),专长只占稀有/罕见档(与属性大件混编),商店仅「货架零专长挤掉一张普通卡」保底——获取途径与条件完全相同、仅概率不同,构筑核心的获取节奏纯看脸。 -**用户期望改动**:将两种形态的获取途径区分开(规则改写型走战场奖励、属性加成型走商店训练),规则改写型的获取节奏不依赖纯概率。已呈四备选(均未拍板):① Boss/精英击杀后规则改写型**专属三选一**,规则改写型整体退出共享池〔我方推荐:确定性最高,杀戮尖塔/以撒/哈迪斯参照系全支持,与钥石逐杀 Boss 节奏同构;代价=令牌池配额回收+商店保底改向+MC 锚换代〕;② 行为条件投放(累计玩法行为定向出件,防滚雪球工程量大);③ 计步保底(每 N 奖励面必含规则改写型,改动最小只缓解不根除);④ 双池分离(每面必见规则改写型,决策密度过强,不推荐)。 +**用户定案(2026-10-05)**:三条渠道分工——**专长走关底 Boss 击败后**(专属三选一,时机确定,构筑节奏可预期);**属性提升走奖励节点与商店训练**(商店口径仍为「训练」)。在属性提升的通用渠道里嵌一个**罕见且全局限量**的「专长获取」项,小概率出现、拿到立刻开一次专长 N 选一,为确定性主渠道加一层赌博感。用户原话:"我在获取特性的时候,可以有些比较罕见的道具,让我立马得到一个专长,就给它一点不确定性,一点随机性"。**确定性优先**:专长不因没 roll 到就构筑不起来。 -**归属**:[node-reward](ux/node-reward.md)(令牌池与奖励面)+ [冒险结构](systems/冒险循环/冒险结构.md)(商店货架保底);与上条「双层 BD 延期与备选内容总登记」二期件组相关但不同面。 +原四备选(① 专长专属三选一 ② 行为条件投放 ③ 计步保底 ④ 双池分离)已被上述定案覆盖——定案≈备选①的确定性路线,余三备选不再单独推进。**节点类型不扩类**:专长挂在 Boss 节点兑付面上(击败后追加一次专长三选一),[关卡节点地图](systems/冒险循环/关卡节点地图.md) 的节点类型仍为封闭枚举五种——此前的"是否新增节点类型"悬案由此收口。 -**状态**:待讨论(2026-10-04 用户提问登记,后续展开) +**待拍板/待观察三项**:① **属性提升池里的 gp(金币袋)与 heal(恢复)两项**,按「角色自身得到的提升」的定义是否仍属本类——两者都不进持有集、不持续生效,**没有"获得→持有→清零"的生命周期**。甲案=移出特性另立「即时兑付/补给」类(代价:档位配额 70/25/3 是结构锚,动总量须重裁非调参);乙案=放宽特性定义容纳它们(代价:判据句「带在自己身上的是特性」失效,与魔法道具边界软化)。② **最终关 Boss 后是否也兑付专长**(现行奖励口径是最终关不给——没有后续关卡可消费)。③ **专长总量与档位阈值的匹配**:确定性渠道一局只兑付两次(若最终关不给),而档位阈值是同标签 2 件档一 / 4 件档二——档二须靠罕见旁路补齐,是否合预期归曲线调参批观察。 + +**归属**:[特性](systems/冒险循环/特性.md)(定义与目标分工)+ [node-reward](ux/node-reward.md)(令牌池与奖励面)+ [冒险结构](systems/冒险循环/冒险结构.md)(商店货架保底)+ [关卡节点地图](systems/冒险循环/关卡节点地图.md)(节点类型词表);与上条「双层 BD 延期与备选内容总登记」二期件组相关但不同面。 + +**状态**:分工已定,**实施待排批**;两项待拍板(2026-10-05 更新) + +#### 属性提升两个新种类入池——刷新次数、专长获取(2026-10-05 立) + +**现状**:[特性](systems/冒险循环/特性.md) v1.1 立了属性提升的特殊组三项,其中**行动点上限**已在池(罕见档),**刷新次数与专长获取两项尚未入表**。注意与既有「商店独立刷新机制」条分清:那条是进店后的免费次数 + GP 刷新(商店自身的服务),本条指的是**作为特性授予的**重抽次数,两者不是一回事,入池前须先划清边界。 + +**连带约束**:`FEATURE_KINDS` 词表封闭(断点附随件与牌库剔除态依赖它),扩种类须走 `adventure_table.gd` + registry 同步修订;档位配额是**结构锚**(普通 70 / 稀有 25 / 罕见 3 = 98 张,入 schema validate 硬断言),新种类入池要占配额——**改总量须重裁而非调参**。专长获取须带全局限量(一局内可获得次数上限)。 + +**归属**:[特性](systems/冒险循环/特性.md) 调参表 + [冒险结构](systems/冒险循环/冒险结构.md) 共享池账本节;数值所有权归 [难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md) + +**状态**:待排批——须在可跑冒烟的迭代批次内完成 #### 内部分类禁写入玩家可见面——特性呈现三处违规待改(2026-10-04 用户立意登记) diff --git a/design/gdd/systems/冒险循环/特性.md b/design/gdd/systems/冒险循环/特性.md index 013fe5db..61a2f783 100644 --- a/design/gdd/systems/冒险循环/特性.md +++ b/design/gdd/systems/冒险循环/特性.md @@ -2,7 +2,7 @@ > 一次冒险之内,角色**自身得到提升**的载体。它不是包里的东西,而是角色本人的变化——这点决定了它和持有物是两类完全不同的概念,下面的「关联与边界」一节写了怎么区分。 > -> 同一个概念下有**两种形态**:改写规则的,和抬高属性的。它们是同一个对象的形态枚举值(`form`:规则改写型 / 属性加成型),不是两类东西。 +> 同一个概念下有**两类**:抬高数字的(**属性提升**),和改规则的(**专长**)。它们是同一个对象的两个分类,不是两个系统。 > > 状态:**已实现**(2026-10-04 双层 BD 实施批落地)。本文件是特性的唯一定义文档。 > @@ -20,7 +20,7 @@ | 负责 | 不负责 | |---|---| -| 特性的定义与形态枚举 | 每件效果怎么接入结算——归挂点所属文档([战斗结算](../战斗循环/战斗结算.md)、[行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md)) | +| 特性的定义与两个分类 | 每件效果怎么接入结算——归挂点所属文档([战斗结算](../战斗循环/战斗结算.md)、[行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md)) | | 生命周期边界:何时出现、何时生效、何时清零 | 卡面排版与界面呈现细则——见 [HUD框架](../表现与支撑/HUD框架.md) | | 获取途径的口径与约束 | 魔法道具与元进度——归上表两份文档 | | 与相邻概念的边界 | 格面资源、关卡节点、商店本身的规则——归各自所属文档 | @@ -30,30 +30,69 @@ ``` 【关内】排雷推理 → 战斗结算 → 通关 ──┐ ├─→ 得到一项特性 ─→ 后续关卡带着它继续 - 奖励节点・商店 ┘ + 奖励节点・商店・Boss 击败后 ┘ ``` -特性处在「一次冒险」这一层:它不是一场战斗里的临时状态,也不跨冒险留存。上游是两个获取口,下游是之后所有关卡的排雷与结算——拿到了,下一关就开始生效。 +特性处在「一次冒险」这一层:它不是一场战斗里的临时状态,也不跨冒险留存。上游是三条获取渠道,下游是之后所有关卡的排雷与结算——拿到了,下一关就开始生效。 ## 核心规则 -### 1. 形态枚举(form) +### 1. 两类:属性提升(ASI)与专长(Feat) -特性只有一个名词;需要区分时才描述它的形态,不给形态另起名字。 +特性只有一个名词;需要区分时才说它属于哪一类,不给类别另起名字。 -| 形态 | 它改的是什么 | 落在哪里 | 事实源 | +| 分类 | 它改的是什么 | 落点 | 事实源 | |---|---|---|---| -| `rule` 规则改写型 | 改规则本身:在结算管线的某个挂点上给自己加一条规则;同一标签的持有件数达到阈值时发生质变 | 各结算段挂点;标签与档位由求值服务统一算 | `relics.tres`(逐项定义) | -| `stat` 属性加成型 | 改数值:把自己某项属性抬高,直接改写角色的基础数字 | 冒险加算区(攻击 / 生命上限 / 护甲 / 行动点四轴)、钱包与即时恢复 | `adventure.tres`(配额与值) | +| **属性提升** ASI | 改数字。把角色某项基础值抬高,或给他多一次选择的机会 | 冒险加算区(生命上限 / AC / 攻击三轴、行动点)、钱包、三选一界面 | `adventure.tres`(种类配额与值) | +| **专长** Feat | 改规则本身。在结算管线的某个挂点上给自己加一条规则;同一标签的持有件数达到阈值时发生质变 | 各结算段挂点;标签与档位由求值服务统一算 | `relics.tres`(逐项定义) | -两种形态的共性:都在当局获得、当局携带、当局失效;都不写账号进度——出现与否由抽取决定,玩家的账号强弱不影响它出现在哪一局。 +两类的共性:都在当局获得、当局携带、当局失效;都不写账号进度——出现与否由抽取决定,玩家的账号强弱不影响它出现在哪一局。 -**为什么是同一个对象的两种枚举而不是两个东西**:它们共用一份获取流程、一份持有集、一份生命周期。分成两个名字只会让读者以为有两套系统,而实际上代码里只有一个持有集。 +**为什么是同一个对象的两个分类而不是两个东西**:它们共用一份获取流程、一份持有集、一份生命周期。分成两个系统只会让读者以为有两套账,而实际上代码里只有一个持有集。 + +#### 1.1 属性提升:纯属性组与特殊组 + +属性提升内部按"改的是不是角色身上的数字"分成两组。 + +**纯属性组**——三项,各改一条基础属性轴: + +| 项 | 改什么 | +|---|---| +| 生命上限 | 抬高角色的生命上限 | +| AC(护甲) | 抬高角色的护甲 | +| 攻击 | 抬高角色的攻击 | + +**特殊组**——三项,改的不是基础属性,而是能力上限与机会: + +| 项 | 改什么 | 备注 | +|---|---|---| +| 行动点上限 | 抬高每场战斗首轮的行动点基线 | 罕见档 | +| 刷新次数 | 增加三选一界面的重抽次数 | **作用对象不是角色,是选择界面**——见第 2 节的例外说明;可在奖励节点与商店两个渠道出现 | +| 专长获取 | 拿到时立刻开一次专长三选一 | **罕见且全局限量**;它是跨两类的桥梁——本体属属性提升,产出是专长。见第 4.2 节 | + +三轴的分类边界:纯属性组的三项直接进冒险加算区,跨关携带且关间不清零;特殊组的三项各有各的落点,其中刷新次数不进加算区。 + +#### 1.2 专长:机制增加 + +专长改的是规则而不是数字——它给自己加一条"在某种条件下,本来不会发生的事现在会发生"的规则,因此它不是任何一条属性轴的延伸,玩家也无法用"加了多少"来衡量它。 + +专长带流派标签,同一标签的持有件数达到阈值时发生质变(档位机制归所属结算文档,本文件不展开)。这是它和属性提升最直观的体感差别:属性提升是"我更耐打了",专长是"我现在会一件以前不会的事"。 + +#### 1.3 一句判据 + +**改数字的是属性提升,改规则的是专长。** + +拿不准的项按这条判:如果把它去掉,角色是"某个数字少了一截",那就是属性提升;如果角色是"某件事做不到了",那就是专长。 + +#### 1.4 命名出处 + +两类都取自 DND 规则书的既有名词,不是本项目自造:属性提升对应 Ability Score Improvement(ASI,属性值提升),专长对应 Feat(专长)。玩家可见文案只写效果,不出现这两类名。 ### 2. 作用对象与范围 - **作用对象**:角色本人,以及角色参与的结算过程。特性不改敌人、不改棋盘生成、不改关卡内容。 -- **时间范围**:整局冒险。两种形态都自获得起对本局剩余所有关卡生效;属性加成型写入加算区后,关与关之间不清零。 +- **刷新次数的例外**:它作用在三选一界面上,改的是"这一局里你能重选几次",而不是角色身上的任何数字。它是特殊组里唯一一条作用对象不是角色的项——留在特性内是因为它满足另外三条:当局获得、当局有效、进同一份持有账本。这条例外在此显式登记,避免后续把它当成角色属性去结算。 +- **时间范围**:整局冒险。两类都自获得起对本局剩余所有关卡生效;属性提升写入加算区后,关与关之间不清零。 - **归属范围**:不进账号永久进度,不带到下一次冒险。 ### 3. 生命周期 @@ -66,23 +105,48 @@ | 阶段 | 说明 | |---|---| -| 候选池构建 | 冒险开局时一次建成。两种形态的候选**现同处一个令牌池**:属性加成型按配额铺开,规则改写型按定义表的有效行铺开。 | -| 出现 | 玩家在两个获取口之一看到若干候选(三选一的形式),看不到整个池。 | -| 选定 | 玩家选定一项后,它从池中剔除,此后任何获取口都不会再见。 | -| 持有与生效 | 进入持有集后立即生效,跨关携带。规则改写型按同一标签的持有项数决定处于哪一档。 | +| 候选池构建 | 冒险开局时一次建成。两类的候选**现同处一个令牌池**:属性提升按配额铺开,专长按定义表的有效行铺开。 | +| 出现 | 玩家在获取口看到若干候选(三选一的形式),看不到整个池。 | +| 选定 | 玩家选定一项后,它从池中剔除,此后任何获取口都不会再见。选到「专长获取」时,立刻再开一次专长三选一——这次选择走专长的渠道语义,不占用原本的获取口。 | +| 持有与生效 | 进入持有集后立即生效,跨关携带。专长按同一标签的持有项数决定处于哪一档。 | | 清零 | 冒险以任一结局收束时整集清空;下次开局重建。 | | 断点恢复 | 进行中的冒险把持有集与剩余候选池一并写入断点,续玩后恢复到同一状态(断点里的键名沿用历史形态,不随本次改名变动)。 | ### 4. 获取途径 -| 获取口 | 说明 | 目标渠道分工(尚未实施) | +#### 4.1 三条渠道的分工 + +| 渠道 | 出哪一类 | 说明 | |---|---|---| -| 战场奖励 | 每关通关给一次三选一(最终关不给——提升只对后续关卡有意义,最终关没有后续);关卡节点图上的奖励节点同样给一次三选一,与之共用同一个候选池。 | 规则改写型今后主要从这里出 | -| 商店 | 花局内金币购买在架的特性;同一种至多一张,买走即从在架令牌移除。 | 属性加成型今后主要从这里出,口径是**训练** | +| **关底 Boss 击败后** | 专长 | 专长的专属渠道,时机确定——打赢就有,不需要看脸。构筑的节奏由此可预期:玩家能规划"第几关拿到第一个专长"。 | +| **奖励节点** | 属性提升 | 每关通关给一次三选一(最终关不给——提升只对后续关卡有意义,最终关没有后续);关卡节点图上的奖励节点同样给一次三选一,与之共用同一个候选池。 | +| **商店** | 属性提升 | 花局内金币购买在架的特性;同一种至多一张,买走即从在架令牌移除。口径是**训练**(见 4.3)。 | -**关于商店口径的说明**:商店这一侧走的叙事是「**训练**」——花代价向某位师父学习、借某种卷轴修炼、或把战斗攒下的钱换成一身本领。它不是买一个东西回来,而是把钱换成自己的本领,所以落到命名空间上和奖励那一侧完全相同:都是往同一个持有集里加一项特性。 +**确定性是这条分工的核心**:专长走专属渠道,是为了让"这一局的构筑往哪个方向走"由玩家决定,而不是由抽取决定。属性提升走通用渠道,数量稳定、每局可预期,负责把角色垫厚。品类原型是杀戮尖塔(每层 Boss 后必给遗物)与哈迪斯(Boss 后必给恩赐)——打赢了一定拿到东西,是这类游戏的通例。 -**在册事项**:现行两个获取口完全共用同一个候选池,两种形态出现条件一样、只有出现概率不同。用户已决定把两种形态按渠道分开(规则改写型走战场奖励,属性加成型走商店训练),四个备选方案与执行批次登记在 [06-待办清单](../../06-待办清单.md) 的 BD 分层条目下,本文件不复制。**本文件 4 节表格里的渠道分工写的是目标状态,尚未实施。** +**在册事项**:现行实现里奖励节点与商店完全共用同一个候选池,两类出现条件一样、只有出现概率不同,专长也走同一个池——上表的渠道分工是**目标状态,尚未实施**。相关的实施批次登记在 [06-待办清单](../../06-待办清单.md) 的 BD 分层条目下,本文件不复制。 + +**与节点类型词表的关系(已定)**:专长走关底 Boss 击败后兑付,**不新增节点类型**——[关卡节点地图](关卡节点地图.md) 的节点类型仍是封闭枚举五种(战斗 / Boss / 奖励 / 恢复 / 商店),改动落在 Boss 节点的兑付面上(击败后追加一次专长三选一),词表零扩类。 + +**专长总量与档位阈值的匹配(待观察,不拍板)**:专长的档位激活是同标签 2 件档一 / 4 件档二(阈值归 [战斗结算](../战斗循环/战斗结算.md),本文件不展开)。三关结构下,若最终关 Boss 后不给(没有后续关卡可消费),确定性渠道一局只兑付两次专长——刚好够档一,档二要靠罕见旁路补齐。最终关给不给、以及这个总量与阈值是否匹配,属曲线调参批的观察项,登记在 [06-待办清单](../../06-待办清单.md),本文件不预设结论。 + +#### 4.2 罕见旁路:专长获取 + +在属性提升的两个通用渠道里,嵌着一个罕见项——**专长获取**。它小概率出现在奖励节点或商店的候选里,效果是立刻开一次专长 N 选一(N 与专长主渠道的候选数同源)。 + +它的作用是在确定性之上加一层赌博感: + +- **不推翻确定性**:专长的主渠道仍然是关底 Boss,玩家不会因为没 roll 到就构筑不起来; +- **只在旁路制造兴奋**:它不常来,来了就是"这一局走运了",让人有记忆点; +- **罕见且全局限量**:配额极小,且一局内的总量有上限——防止它变成第二条专长渠道,也防止它把 4.1 里说的档位阈值冲垮。 + +玩家视角它长这样:在普通的三选一奖励里,偶尔会冒出一张不一样的卡——选它,立刻再开一次专长选择。它是奖励面里的惊喜,不是奖励面的常态。 + +品类原型是以撒的恶魔房/天使房(Boss 战后概率开启,强力内容不走普通池)与哈迪斯的混沌门(概率出现、强力带代价)。 + +#### 4.3 商店口径:训练 + +商店这一侧走的叙事是「**训练**」——花代价向某位师父学习、借某种卷轴修炼、或把战斗攒下的钱换成一身本领。它不是买一个东西回来,而是把钱换成自己的本领,所以落到命名空间上和奖励那一侧完全相同:都是往同一个持有集里加一项特性。 ### 5. 关联与边界 @@ -90,25 +154,25 @@ |---|---| | [魔法道具](../排雷循环/魔法道具.md) | 最需要分清的一对:**魔法道具是拿在手里的物品,特性是角色自身的变化**。两者互不相通——特性永不进同调位,魔法道具永不进当局随机渠道。魔法道具跨冒险保留,特性当局清零。 | | [元进度](../跨局循环/元进度.md)(树) | 树管账号永久的规则与容量,特性管当局构筑,两层互不代替。 | -| [战斗结算](../战斗循环/战斗结算.md) | 规则改写型的挂点位于结算管线的各段;挂点清单与语义归结算文档。 | +| [战斗结算](../战斗循环/战斗结算.md) | 专长的挂点位于结算管线的各段;挂点清单与语义归结算文档。 | | [行动经济](../排雷循环/行动经济.md)、[地形变异](../排雷循环/地形变异.md) | 部分挂点落在行动点结转与地形处理上,语义归各自文档。 | +| [关卡节点地图](关卡节点地图.md) | 是获取口的载体,不是特性的属性。专长专属渠道涉及节点类型词表的封闭枚举,影响面登记在 06。 | | [地图战斗资源](../战斗循环/地图战斗资源.md)(格面资源) | 无关:格面资源是单格的一次性产出,不进持有集。 | -| [关卡节点地图](关卡节点地图.md)、商店 | 是获取口的载体,不是特性的属性。 | | [存档序列化](../表现与支撑/存档序列化.md) | 断点负载记录持有集与剩余候选池;键名与版本迁移策略归存档文档。 | ## 依赖与输出 | 类型 | 内容 | |---|---| -| 依赖(概念) | 角色、结算管线、行动点、地形、关卡节点地图、局内金币钱包 | -| 依赖(数据) | `relics.tres`(规则改写型定义行)、`adventure.tres`(属性加成型配额与值)、`shop.tres`(货架取舍) | -| 输出(对外) | 持有集、生效中的形态投影、剩余候选池、档位求值结果 | +| 依赖(概念) | 角色、结算管线、行动点、地形、关卡节点地图、局内金币钱包、三选一界面 | +| 依赖(数据) | `relics.tres`(专长定义行)、`adventure.tres`(属性提升种类配额与值)、`shop.tres`(货架取舍) | +| 输出(对外) | 持有集、生效中的分类投影、剩余候选池、档位求值结果、可用重抽次数 | | 明确边界 | 不写账号进度、不改敌人与关卡内容、不承载具体数值 | ## P0 最小闭环 / P1・P2 后置 -- **P0(已实现)**:两种形态可定义 → 进入候选池 → 在两个获取口之一被选中 → 当局生效 → 收束清零。 -- **P1 后置**:两种形态按渠道分开(见第 4 节的在册事项);两项合成高阶项;同一标签收集到四项以上的后期表达。 +- **P0(已实现)**:两类可定义 → 进入候选池 → 在获取口被选中 → 当局生效 → 收束清零。 +- **P1 后置**:三类渠道按 4.1 分工(含专长专属节点的设立方式,待拍板);专长获取项入池;刷新次数入池;两项合成高阶项;同一标签收集到四项以上的后期表达。 - **P2 后置**:商店里的攻击类型转换服务;喂雷流派是否保留(尚未拍板,登记在 [06-待办清单](../../06-待办清单.md))。 ## 调参表 @@ -117,27 +181,37 @@ | 参数 | 取值域 | 事实源 | |---|---|---| -| 规则改写型定义行(标识 / 显示名 / 稀有度 / 标签 / 挂点 / 效果字典) | 各字段封闭枚举,行键白名单封闭 | `game/data/tables/relics.tres` | -| 属性加成型种类 | 封闭词表:攻击 / 生命上限 / 护甲 / 金币 / 行动点 / 恢复 | `game/data/schemas/adventure_table.gd` | -| 属性加成型稀有度档位 | 封闭三档(普通 / 稀有 / 罕见);三档配额是结构锚,改总量须重新拍板而非调参 | 同上 | -| 各形态种类 × 档位的配额与值 | 整数 | `game/data/tables/adventure.tres` | +| 专长定义行(标识 / 显示名 / 稀有度 / 标签 / 挂点 / 效果字典) | 各字段封闭枚举,行键白名单封闭 | `game/data/tables/relics.tres` | +| 属性提升种类 | 封闭词表:攻击 / 生命上限 / 护甲 / 金币 / 行动点 / 恢复(**刷新次数、专长获取两项尚未入表**,见待办) | `game/data/schemas/adventure_table.gd` | +| 属性提升稀有度档位 | 封闭三档(普通 / 稀有 / 罕见);三档配额是结构锚,改总量须重新拍板而非调参 | 同上 | +| 各属性提升种类 × 档位的配额与值 | 整数 | `game/data/tables/adventure.tres` | +| 专长获取的全局限量 | 整数(一局内可获得的次数上限) | 同上 | | 一次三选一的候选展示数 | [1,6] | 同上 | ## 验收标准 -1. 两种形态走同一套获取流程,代码里只有一个表示"已持有特性"的集合。 +1. 两类走同一套获取流程,代码里只有一个表示"已持有特性"的集合。 2. 一次冒险内获得的特性在之后任何关卡都生效;开新冒险后持有集为空。 3. 一项被选定的特性不再出现在任何后续获取口。 -4. 每个标签至少有一项挂在排雷侧的结算触发点上(防止规则改写型沦为纯战斗数值)。 -5. 玩家可见的文案不出现形态名与内部分类标签——只写效果,归类让玩家自己推断。 -6. 文档与代码里提到它时只有"特性"这一个名字;需要区分形态时用"规则改写型/属性加成型"描述,不得另造称呼。 +4. 每个标签至少有一项挂在排雷侧的结算触发点上(防止专长沦为纯战斗数值)。 +5. 玩家可见的文案不出现分类名与内部分组标签——只写效果,归类让玩家自己推断。 +6. 文档与代码里提到它时只有"特性"这一个名字;需要区分类别时用"属性提升/专长"描述,不得另造称呼。 +7. 刷新次数不进角色加算区——它只改三选一界面的可用重抽次数。 ## 待办 -全部待办单点登记于 [06-待办清单](../../06-待办清单.md)(BD 分层条目、呈现三处待改条目),本节不复制。 +全部待办单点登记于 [06-待办清单](../../06-待办清单.md)(BD 分层条目、命名统一后续条目),本节不复制。 + +本节只点出三条由本版新立、尚未登记的判断来源: + +- **金币与恢复的归属待拍板(本版最要紧的一条)**:现行属性提升池里有金币袋与恢复两项,按本版定义它们都不算"角色自身得到的提升"——金币进钱包、恢复是即时兑付,**两者都不进持有集、不持续生效,因此没有"获得→持有→清零"的生命周期**,与特性不共享生命周期。选项:甲=移出特性,另立一类(即时兑付/补给,不进持有集),"特性=自身提升"由此名副其实,**但档位配额 70/25/3 是结构锚,动总量须重裁而非调参**;乙=放宽特性定义为"一次冒险内抽到的增益",GP 与回复也算,代价是判据句「带在自己身上的是特性」失效、与魔法道具的边界软化。尚未拍板,本版不动数据。 +- **专长总量与档位阈值的匹配**:见 4.1 末段(确定性渠道一局两次 vs 档二需同标签 4 件)。 +- **顶层命名待确认**:「特性」这个名是否保留,取决于上一条怎么判——若 GP 与回复移出,则"特性=自身提升"成立、名不必改;若留下,则需换一个能容纳即时兑付的中性名。用户在 2026-10-05 会话中对顶层名提出质疑,尚未收口。 ## 版本历史 | 版本 | 日期 | 变更 | |---|---|---| -| v1.0 | 2026-10-05 | 首次为本概念立定义文档。此前它按内部分类被叫成三个名字,各处互相冲突的定义以本文档为准:统一名词"特性",把原先分开称呼的两类收敛为形态枚举;把性质定为「角色自身得到提升」而非「获得物品」,以此与魔法道具(持有物)划清。 | +| v1.0 | 2026-10-05 | 首次为本概念立定义文档。此前它按内部分类被叫成三个名字,各处互相冲突的定义以本文档为准:统一名词"特性",把原先分开称呼的两类收敛为一个对象下的分类;把性质定为「角色自身得到提升」而非「获得物品」,以此与魔法道具(持有物)划清。 | +| v1.1 | 2026-10-05 | 分类重构(用户拍板):两类由「规则改写型 / 属性加成型」改为「**属性提升**(ASI)/ **专长**(Feat)」,属性提升内部再分纯属性组(生命上限 / AC / 攻击)与特殊组(行动点上限 / 刷新次数 / 专长获取)。获取途径由两个共用池改为三条分工渠道(专长走特定节点、属性提升走奖励节点与商店),并在通用渠道内嵌罕见旁路「专长获取」以提供概率性惊喜。新增:刷新次数作用对象的例外登记、金币与恢复归属的待拍板项、专长专属节点对节点类型封闭枚举的影响面。 | +| v1.2 | 2026-10-05 | 专长渠道落定(用户拍板):专长的专属渠道定为**关底 Boss 击败后**兑付——不新增节点类型,节点类型仍为封闭枚举五种,改动落在 Boss 节点兑付面(此前的"是否扩类"悬案由此收口)。罕见旁路明确为"普通奖励里的专长 N 选一"。新增:专长总量与档位阈值(2 件档一 / 4 件档二)的匹配观察项、最终关是否兑付的待确认点;金币与恢复的处置补上生命周期判据与甲乙两案。 | diff --git a/design/registry/entities.yaml b/design/registry/entities.yaml index 385a1614..40a70f08 100644 --- a/design/registry/entities.yaml +++ b/design/registry/entities.yaml @@ -579,13 +579,14 @@ entities: owner: design/gdd/systems/冒险循环/特性.md attributes: definition: 一次冒险之内角色自身得到的提升。它不是持有物——带在自己身上的是特性,拿在手里的是魔法道具;两者由此分开 - form: 封闭枚举 {rule, stat}。rule 规则改写型——在结算管线的某个挂点上给自己加一条规则,同标签持有项数达阈值时质变;stat 属性加成型——抬自己的某项属性数值,写入冒险加算区。两者同属一个对象、共用一份持有集与一份生命周期,是形态枚举而非两个系统 - scope: 作用对象 = 角色本人与其参与的结算(不改敌人、不改棋盘生成、不改关卡内容);时间范围 = 整局冒险,跨关携带、关间不清零;归属范围 = 不进账号永久进度,不带到下一次冒险 - lifecycle: 候选池构建(冒险开局一次)→ 在两个获取口之一出现(三选一形式)→ 选定(自池中剔除不再复现)→ 持有生效(跨关携带)→ 冒险以任一结局收束时整集清零;断点记录持有集与剩余候选池 - acquisition: 两个获取口——战场奖励(每关通关一次,最终关不给;关卡节点图奖励节点共用同一候选池)与商店(花局内金币,口径为「训练」)。**现行两口共用同一候选池**,两形态按渠道分离已定尚未实施,登记于 06-待办清单 BD 分层条目 + categories: 封闭两类 {属性提升 ASI, 专长 Feat}(v1.1 起;v1.0 曾用 {rule, stat} 形态枚举,已作废)。属性提升——抬角色某项基础值或给他多一次选择的机会,内分纯属性组〔生命上限 / AC / 攻击〕与特殊组〔行动点上限 / 刷新次数 / 专长获取〕,落冒险加算区与钱包;专长——在结算管线的某个挂点上给自己加一条规则,同标签持有项数达阈值时质变。两者同属一个对象、共用一份持有集与一份生命周期,是分类而非两个系统 + scope: 作用对象 = 角色本人与其参与的结算(不改敌人、不改棋盘生成、不改关卡内容);**例外**——刷新次数作用在三选一界面而非角色身上,不进加算区;时间范围 = 整局冒险,跨关携带、关间不清零;归属范围 = 不进账号永久进度,不带到下一次冒险 + lifecycle: 候选池构建(冒险开局一次)→ 在获取口出现(三选一形式)→ 选定(自池中剔除不再复现;选到「专长获取」时立刻再开一次专长三选一,不占原本获取口)→ 持有生效(跨关携带)→ 冒险以任一结局收束时整集清零;断点记录持有集与剩余候选池 + acquisition: 三条渠道的**目标分工**——专长走关底 Boss 击败后(专属三选一、时机确定;**不新增节点类型**,挂在 Boss 节点兑付面上);属性提升走奖励节点(每关通关一次,最终关不给)与商店(花局内金币,口径为「训练」)。罕见旁路:属性提升的通用渠道里嵌一个罕见且全局限量的「专长获取」项,拿到立刻开一次专长 N 选一。**现行实现三渠道共用同一候选池、两类混编**,分工尚未实施,登记于 06-待办清单 BD 分层条目 boundary: 特性永不进同调位,魔法道具永不进当局随机渠道;与元进度天赋树两层互不代位 - data_sources: relics.tres(rule 形态逐项定义)/ adventure.tres(stat 形态配额与值)/ shop.tres(货架取舍) - naming_note: 2026-10-05 命名统一——此前按内部分类被叫成三个名字(规则类称「流派件」、属性类称「数值件」、界面称「本关强化」),现统一为「特性」,需要区分时以形态修饰语描述,不另造称呼 + data_sources: relics.tres(专长逐项定义)/ adventure.tres(属性提升种类配额与值)/ shop.tres(货架取舍) + open_questions: ①gp(金币袋)与 heal(恢复)两项现行在属性提升池内,但都不进持有集、不持续生效、**没有生命周期**,按「自身得到提升」的定义是否仍属本类待拍板(甲案移出另立「即时兑付」类、乙案放宽定义;动池须重裁档位结构锚);②刷新次数可同时出现在奖励节点与商店两个渠道——这是渠道白名单问题,不产生第三个分类;③最终关 Boss 后是否也兑付专长待确认;④确定性渠道一局两次专长 vs 档位阈值(同标签 2 件档一 / 4 件档二)是否匹配,归曲线调参批观察 + naming_note: 2026-10-05 命名统一 + 分类重构——此前按内部分类被叫成三个名字(规则类称「流派件」、属性类称「数值件」、界面称「本关强化」),现统一为「特性」,需要区分时用「属性提升 / 专长」描述,不另造称呼 referenced_by: [冒险结构, 关卡节点地图, 战斗结算, 行动经济, 地形变异, HUD框架, 魔法道具, 元进度, 数据配置] - name: adventure_table diff --git a/game/data/schemas/adventure_table.gd b/game/data/schemas/adventure_table.gd index 508c5be5..544263e0 100644 --- a/game/data/schemas/adventure_table.gd +++ b/game/data/schemas/adventure_table.gd @@ -13,10 +13,13 @@ class_name AdventureTable extends Resource -## 概念指路:本表的属性加成型特性,与 relics.tres 的规则改写型特性,同属一个对象—— +## 概念指路:本表的属性提升,与 relics.tres 的专长,同属一个对象—— ## 「特性」(一次冒险内角色自身得到的提升)。定义见 design/gdd/systems/冒险循环/特性.md。 -## 两者是它的形态枚举(form = rule / stat),不是两个系统;本表承载 stat 形态的配额与值。 -## (2026-10-05 命名统一:旧称「数值件」→ 属性加成型特性;常量与字段随之前缀 feature_*。) +## 两者是它的两个分类(属性提升 ASI / 专长 Feat),不是两个系统;本表承载「属性提升」类的种类配额与件值。 +## (2026-10-05 命名统一:旧称「数值件」→ 属性提升;常量与字段随之前缀 feature_*。 +## 2026-10-05 分类重构:属性提升内部分纯属性组〔生命上限 / AC / 攻击〕与特殊组 +## 〔行动点上限 / 刷新次数 / 专长获取〕;刷新次数与专长获取两项尚未入表——见 06-待办清单。 +## gp 与 heal 两项是否仍属本类待拍板,见特性文档「待办」节。) ## 三选一提升池 kind 词表(封闭——断点附随件与牌库剔除态依赖它;扩件走本表+registry 修订)。 ## aux_item 池种退役(迭代 11 第①批 T7——同调批出池);heal 恢复件新入池(v2.2 令牌池追认 b)。 const FEATURE_KINDS: Array[String] = ["attack", "max_hp", "armor", "gp", "ap", "heal"] diff --git a/game/data/schemas/relic_table.gd b/game/data/schemas/relic_table.gd index f8881546..cadf3a03 100644 --- a/game/data/schemas/relic_table.gd +++ b/game/data/schemas/relic_table.gd @@ -1,13 +1,14 @@ # VERTICAL SLICE - NOT FOR PRODUCTION # Validation Question: 七核心流派各 ≥3 件入局内随机渠道后,标签+档位激活引擎能否机械判「成型」、 -# 规则改写型特性带能否挂进令牌池稀有/罕见档随机投放(P0——迭代 12 双层 BD 实施批 T1) +# 专长带能否挂进令牌池稀有/罕见档随机投放(P0——迭代 12 双层 BD 实施批 T1) # Date: 2026-10-04(双层 BD 实施批 T1——任务书五裁定稿;设计权威 双层BD体系-整合定稿-2026-10-03 v3) -# 概念指路:本表的规则改写型特性,与 adventure.tres 的属性加成型特性,同属一个对象—— +# 概念指路:本表的专长,与 adventure.tres 的属性提升,同属一个对象—— # 「特性」(一次冒险内角色自身得到的提升)。定义见 design/gdd/systems/冒险循环/特性.md。 -# 两者是它的形态枚举(form = rule / stat),不是两个系统;本表承载 rule 形态的逐项定义。 -# (2026-10-05 命名统一:旧称「流派件」→ 规则改写型特性;表名与 relic_id 沿用历史命名, -# 与统一词族对齐归后续批次——见 06-待办清单「命名统一」条目。) -# 数据配置 RelicTable schema(特性·规则改写型定义表;行 = Dictionary 键 relic_id,Rule 4 豁免 +# 两者是它的两个分类(专长 Feat / 属性提升 ASI),不是两个系统;本表承载「专长」类的逐项定义。 +# (2026-10-05 命名统一 + 分类重构:旧称「流派件」→「规则改写型特性」→ 现定名「专长」; +# 表名与 relic_id 沿用历史命名,与统一词族对齐归后续批次——见 06-待办清单「命名统一」条目。 +# 目标渠道:专长走关底 Boss 击败后专属三选一(不新增节点类型),见特性文档 4.1 节。) +# 数据配置 RelicTable schema(特性·专长定义表;行 = Dictionary 键 relic_id,Rule 4 豁免 # 定义表——AuxItemTable 先例)。 # 行字段:relic_id 主键 / display_name / rarity ∈ {common, rare, rarest}(对齐令牌池三档命名—— # 投放档映射:common/rare→稀有令牌档、rarest→罕见令牌档;relic 令牌永不入普通档=「挂稀有/罕见档」 @@ -17,7 +18,7 @@ # 仅校验键域不禁纯增益(专项论证件以 positive_only 批注登记,人工清单呈报)。 # 档位激活(整合定稿 设计工具 1——以撒套装/小骨铭文):同标签计数 ≥2→档一(流派核心规则)/≥4→档二 # (完全体);散件单体保底=每件效果独立生效,档位只做质变(反例 B-2)——引擎纯函数 RelicsEngine。 -# 🔴 层级纪律(任务书红线 2):规则改写型特性只走局内随机渠道(三选一/商店/格面)——本表行永不入同调位 +# 🔴 层级纪律(任务书红线 2):专长只走局内随机渠道(三选一/商店/格面)——本表行永不入同调位 # (aux_items 表)/局外树(T8 节点表);扫雷触发点铁律:每流派 ≥1 行 hook ∈ MINE_HOOKS(加载校验, # 违反=红线①触碰面)。 class_name RelicTable