diff --git a/design/gdd/06-待办清单.md b/design/gdd/06-待办清单.md index 67ec6b38..0d7e9fc4 100644 --- a/design/gdd/06-待办清单.md +++ b/design/gdd/06-待办清单.md @@ -116,11 +116,11 @@ #### 锻造工坊实装批 — 待办(冻结:迭代规划冻结中,重启=用户发令)(2026-10-09 随成文批登记,时名「武器锻造系统实装批」;2026-10-11 随系统更名换代) -**内容**:按 [锻造工坊](systems/跨局循环/锻造工坊.md) **v0.5** 定案口径实装(需求卡片输入=其「裁决结果清单」+「工作间内容清单」两节)——迁移面八项:① `meta.tres` forge_products 攻击/护甲两行改造为武器与护甲独立等级路线(生命行清退归「天赋树实装批」旧柜台退役——生命唯一入口=树脊柱生命线,2026-10-11 A① 裁;同表其余四行族零触碰);② `hero.tres` 攻击类型/甲型两休眠轴启用(营地选中即写轴,既有预留位启用;一次冒险一个武器类型+一个甲型,营地免费切换、冒险开始后锁死);③ `feats.tres` magic_vs_magic 死条件行——复活案作废(2026-10-11 核结:所属件魔网织者在素材库表二 27 件退役删除名单),随专长退役删行批消解,本批零触碰;④ 存档域新增三武器+三甲型等级与当前选中标记(**不设特效域**——2026-10-12 裁 6;开发阶段无迁移——旧档废弃口径随批登记存档序列化文档与 registry);⑤ **满级特效本期不实装**(2026-10-12 裁 6:不开三条新参数位、不加效果类型词,扩展位留空,启用需另立项);⑥ **敌方攻击类型轴填值(3b 裁连带,跨系统汇合点)**——敌方攻击单据 `attack_type` 按「未设置=默认 normal」填值使其参与克制矩阵查表(现役为 `""` 恒不查矩阵;`enemy.tres:527` 轴未开、全部 normal 档):**执行面归敌人系统/战斗结算侧**,本批只登记需求与数值影响(全局平移主角受伤点数:穿重甲 −1、穿魔法护甲 +1,须进⑧配对读数验证);排期与敌人系统/战斗结算侧协商(可同批做,也可先行);⑦ 术语登记——三型甲统一命名(轻甲/重甲/魔法护甲;**「魔法甲」系笔误不登记别名**)+ 工作间两区定名(武器锻造区/护甲锻造区)登记 registry entities.yaml;⑧ 数值验证义务=改前/改后同随机种子配对读数验证难度影响,统一调整归 M4 数值批。**解锁通道**:四条待解锁路线(长枪/法杖/重甲/魔法护甲)均走并联双通道(练满前一档 OR 一次性解锁价,互不影响、玩家自选),不设串联门槛。**前置**:17 裁点用户逐点裁决——**已清零(2026-10-12 B 组 15 点逐裁落文 v0.5;2c/5a 于 v0.4 结案)**。**关联(2026-10-11 换代)**:锻造工坊钥匙节点改无前置直接可点亮(2026-10-11 用户裁,原等级阈值前置作废);树脊柱砍攻/护两线(攻防所有权切分——攻击唯一入口=武器路线、AC 唯一入口=甲路线,树侧落文归天赋树会话交接批)后本批=攻防数值唯一实装面;树结构换代(33→12)与本批④存档域共域,见「天赋树实装批」条,排期两批合并评估。**前置信息(2026-10-12 用户裁定:不在本批考虑)**:3b 后现行数据三型成纯序(重甲正向 > 轻甲中性 > 魔法护甲负向,敌方现行无魔法攻击故暂无优势窗口)——系**后续开发改造的前置事实**,敌方攻击类型差异化与魔法护甲的正当性归后续批次(含 M4 在基础 AC / 解锁价上的取值);本批只按统一伤害轴落结构与字段。 +**内容**:按 [锻造工坊](systems/跨局循环/锻造工坊.md) **v0.5** 定案口径实装(需求卡片输入=其「裁决结果清单」+「工作间内容清单」两节)——迁移面八项:① `meta.tres` forge_products 攻击/护甲两行改造为武器与护甲独立等级路线(生命行清退归「天赋树实装批」旧柜台退役——生命唯一入口=树脊柱生命线,2026-10-11 A① 裁;同表其余四行族零触碰);② `hero.tres` 攻击类型/甲型两休眠轴启用(营地选中即写轴,既有预留位启用;一次冒险一个武器类型+一个甲型,营地免费切换、冒险开始后锁死);③ `feats.tres` magic_vs_magic 死条件行——复活案作废(2026-10-11 核结:所属件魔网织者在素材库表二 27 件退役删除名单),随专长退役删行批消解,本批零触碰;④ 存档域新增三武器+三甲型等级与当前选中标记(**不设特效域**——2026-10-12 裁 6;开发阶段无迁移——旧档废弃口径随批登记存档序列化文档与 registry);⑤ **满级特效本期不实装**(2026-10-12 裁 6:不开三条新参数位、不加效果类型词,扩展位留空,启用需另立项);⑥ **敌方攻击类型轴填值(3b 裁连带,跨系统汇合点)**——敌方攻击单据 `attack_type` 按「未设置=默认 normal」填值使其参与克制矩阵查表(现役为 `""` 恒不查矩阵;`enemy.tres:527` 轴未开、全部 normal 档):**执行面归敌人系统/战斗结算侧**,本批只登记需求与数值影响(全局平移主角受伤点数:穿重甲 −1、穿魔法护甲 +1,须进⑧配对读数验证);排期与敌人系统/战斗结算侧协商(可同批做,也可先行);敌方 attack_type 为敌方定义数据(与敌种名字/血量同批同时读写、无独立时序),填值归敌人系统/战斗结算侧自然推进;本批只按 3b 裁落结构面(矩阵查表现役已支持)(2026-10-12 订正:原「两批排期协商(可同批做,也可先行)」句删除——用户裁:时序问题不存在);⑦ 术语登记——三型甲统一命名(轻甲/重甲/魔法护甲;**「魔法甲」系笔误不登记别名**)+ 工作间两区定名(武器锻造区/护甲锻造区)登记 registry entities.yaml;⑧ 数值验证义务=改前/改后同随机种子配对读数验证难度影响,统一调整归 M4 数值批。**解锁通道**:四条待解锁路线(长枪/法杖/重甲/魔法护甲)均走并联双通道(练满前一档 OR 一次性解锁价,互不影响、玩家自选),不设串联门槛。**前置**:17 裁点用户逐点裁决——**已清零(2026-10-12 B 组 15 点逐裁落文 v0.5;2c/5a 于 v0.4 结案)**。**关联(2026-10-11 换代)**:锻造工坊钥匙节点改无前置直接可点亮(2026-10-11 用户裁,原等级阈值前置作废);树脊柱砍攻/护两线(攻防所有权切分——攻击唯一入口=武器路线、AC 唯一入口=甲路线,树侧落文归天赋树会话交接批)后本批=攻防数值唯一实装面;树结构换代(33→12)已随迭代 21 入库——本批④存档域 forge_routes 独立成域(已预登记存档序列化.md v7 计划行),无共域冲突(2026-10-12 订正:原「排期两批合并评估」语境随树批入库消失——用户裁:非裁点)。**前置信息(2026-10-12 用户裁定:不在本批考虑)**:3b 后现行数据三型成纯序(重甲正向 > 轻甲中性 > 魔法护甲负向,敌方现行无魔法攻击故暂无优势窗口)——系**后续开发改造的前置事实**,敌方攻击类型差异化与魔法护甲的正当性归后续批次(含 M4 在基础 AC / 解锁价上的取值);本批只按统一伤害轴落结构与字段。 **归属**:[锻造工坊](systems/跨局循环/锻造工坊.md) 实装(跨 meta/hero/feats/存档/战斗开场参数五面) -**状态**:待办(冻结——2026-10-09 迭代 20/21/22 规划冻结令覆盖,重启=用户直接发令;**2026-10-12 更新:开工门「17 裁点清零」已满足,只剩用户发令**) +**状态**:**已编入迭代 23**(2026-10-12 用户令——开工门=U0 发令;设计面 v0.6:17 裁点清零+完备性检查批〔现役基线换代/两轴所有权移交/术语登记完毕〕,commit f5215c7) #### 玩家向显示名改名小批(局内三轴 + 临时 AC 状态)——跨循环名称冲突清偿(2026-10-12 用户逐裁,锻造工坊裁决会话续 8a 连带) @@ -164,7 +164,7 @@ **归属**:[天赋树](systems/跨局循环/天赋树.md) v0.8 实装(树结构换代+营地统一;跨 [锻造工坊](systems/跨局循环/锻造工坊.md)(工作间=其柜台改造对象,攻防数值唯一实装面在彼批)/ [元进度](systems/跨局循环/元进度.md)(注入通道与柜台退役面)/ [秘宝](systems/跨局循环/秘宝.md)(同调位求值与秘宝匣工作间)/ 数值批(命中值域与全部 provisional 数值)) -**状态**:✅ **已入库(2026-10-12,/goal+iter U0 开工——worktree g-plan2-iter21-tree 全量交付;T1-T6 代码批+T7 文档同步批,批末重闸全绿;实现报告=design/qa/iter21-实现报告-2026-10-12.md)**。R1 按卡片既定默认=裁撤案执行(schema 只保留点亮前置,未增设 requires_level),出口报告追认单列明。**登记欠账三条随批入册**:①AP 上限 clamp 缺位(树+AP 件+时沙同走 _pending_ap_delta 无上限——新叠加源使既有缺陷可观测化);②三选一刷新软上限(停点内倍率增长×停点间基础价随进度递增,另立待办);③Y(_attune_refresh_y)不入断点存档漏洞(用完退菜单再续玩满血复活——V15 仅验账本一致性,刷新链路可用性不受本批影响)。**需求卡片 v1.7(2026-10-12 完备性审查十一裁)**——在 v1.4→v1.6 三轮换代基础上新增裁决:①账号层攻/AC 空窗期**知情接受**(Alpha 开发阶段,不设过渡、不登记欠账);②**守侧=失误补偿**(契约 12:触发主语=当回合标错动作非在场标错旗;单格最多一次;末轮不返);③折扣(散)**只覆盖商品购买价格、不含刷新**,键名 `gp_cost_mult`(`cost_mult` 已被 `yield_mult` 占用),聚的乘算落**入账前**;④限次承载=`adventure_counters`+`domain:"adventure"`+关卡切换点清零(**不升 v7**);⑤**开发阶段无视任何文档层条款**,不为本批增设豁免/例外条款;⑥**生涯页三投影整行删**(`forge_level`/`workshop_status`/`tree_nodes`——生涯不统计天赋树与账号成长态);⑦三条登记欠账、本批不做=AP 上限 clamp / 三选一刷新软上限(另立待办)/ Y 不入断点;⑧§5 之外另查到的 42 处旧表述**不做清扫**(不做加法)。**需求卡片 v1.4→v1.6 连带换代(2026-10-11 攻防所有权切分+一线一节点+Fork一节点双态三轮)**:design/research/需求卡片-天赋树实装批-2026-10-11.md——结构目标 33→12 全卡换代(脊柱=生命/命中一线一节点×4 级、Fork=三节点双态〔购买解锁默认 A 态、零币切换、行持 a/b 双效果键〕)、锻造工坊钥匙前置改无、地脉共鸣条件效果换代、注入公式换代、营地呈现措辞对齐四柜台、行门槛平移节点等级(用户驳「合并破坏统计/门槛」之疑——节点等级可区分可计数,门槛主语=第 N 级);T 估时复核 ≈7.0-8.0d(T1 下修,其余不动);**开放待裁点 R1=schema「等级阈值前置」新形态去留(钥匙改无前置后现无消费者,推荐裁撤)**——裁决前不阻开工门(默认按裁撤案排程,用户推翻即先改文档);2026-10-11 用户令整卡编入迭代 21(不切分)不变。**历史落卡记录(v1.1→v1.3)**:grilling 五裁全落(Q1 刷新升级双入口并存·秘宝侧重复后续审查轮用户自办/Q2 槽位数量树说了算+旧条件作废删除随批清扫/Q3 开发阶段无迁移·旧存档废弃重置·迁移需求整体删除/Q4 本批程序占位重排/Q5 转排期规则默认先行);歧义扫描六裁(/grilling)已落 GDD v0.4:术语回归「危险格/安全格」/彩蛋三线/行门槛含全部节点/聚仅战斗掉落+散全消费面/限次生命周期/三处旧裁决换代(彩蛋三线后随 v0.6 攻防所有权切分换代为两线);架构面结论=现有分层承载得住零重构,三处小扩〔schema 阈值前置形态(去留=R1 待裁)/效果引擎关卡域状态/营地呈现重排〕随批 +**状态**:✅ **已入库(2026-10-12,/goal+iter U0 开工——worktree g-plan2-iter21-tree 全量交付;T1-T6 代码批+T7 文档同步批,批末重闸全绿;实现报告=design/qa/iter21-实现报告-2026-10-12.md)**。R1 按卡片既定默认=裁撤案执行(schema 只保留点亮前置,未增设 requires_level),出口报告追认单列明。**登记欠账三条随批入册**:①AP 上限 clamp 缺位(树+AP 件+时沙同走 _pending_ap_delta 无上限——新叠加源使既有缺陷可观测化);②三选一刷新软上限(停点内倍率增长×停点间基础价随进度递增,另立待办);③Y(_attune_refresh_y)不入断点存档漏洞(用完退菜单再续玩满血复活——V15 仅验账本一致性,刷新链路可用性不受本批影响)。**需求卡片 v1.7(2026-10-12 完备性审查十一裁)**——在 v1.4→v1.6 三轮换代基础上新增裁决:①账号层攻/AC 空窗期**知情接受**(Alpha 开发阶段,不设过渡、不登记欠账);②**守侧=失误补偿**(契约 12:触发主语=当回合标错动作非在场标错旗;单格最多一次;末轮不返);③折扣(散)**只覆盖商品购买价格、不含刷新**(实现=范围口径特判 `level_runner._spend_discounted`,不走效果引擎合成订阅、无效果键名;若改走合成订阅须避让已被 `yield_mult` 占用的 `cost_mult`),聚的乘算落**入账前**;④限次承载=`adventure_counters`+`domain:"adventure"`+关卡切换点清零(**不升 v7**);⑤**开发阶段无视任何文档层条款**,不为本批增设豁免/例外条款;⑥**生涯页三投影整行删**(`forge_level`/`workshop_status`/`tree_nodes`——生涯不统计天赋树与账号成长态);⑦三条登记欠账、本批不做=AP 上限 clamp / 三选一刷新软上限(另立待办)/ Y 不入断点;⑧§5 之外另查到的 42 处旧表述**不做清扫**(不做加法)。**需求卡片 v1.4→v1.6 连带换代(2026-10-11 攻防所有权切分+一线一节点+Fork一节点双态三轮)**:design/research/需求卡片-天赋树实装批-2026-10-11.md——结构目标 33→12 全卡换代(脊柱=生命/命中一线一节点×4 级、Fork=三节点双态〔购买解锁默认 A 态、零币切换、行持 a/b 双效果键〕)、锻造工坊钥匙前置改无、地脉共鸣条件效果换代、注入公式换代、营地呈现措辞对齐四柜台、行门槛平移节点等级(用户驳「合并破坏统计/门槛」之疑——节点等级可区分可计数,门槛主语=第 N 级);T 估时复核 ≈7.0-8.0d(T1 下修,其余不动);**开放待裁点 R1=schema「等级阈值前置」新形态去留(钥匙改无前置后现无消费者,推荐裁撤)**——裁决前不阻开工门(默认按裁撤案排程,用户推翻即先改文档);2026-10-11 用户令整卡编入迭代 21(不切分)不变。**历史落卡记录(v1.1→v1.3)**:grilling 五裁全落(Q1 刷新升级双入口并存·秘宝侧重复后续审查轮用户自办/Q2 槽位数量树说了算+旧条件作废删除随批清扫/Q3 开发阶段无迁移·旧存档废弃重置·迁移需求整体删除/Q4 本批程序占位重排/Q5 转排期规则默认先行);歧义扫描六裁(/grilling)已落 GDD v0.4:术语回归「危险格/安全格」/彩蛋三线/行门槛含全部节点/聚仅战斗掉落+散全消费面/限次生命周期/三处旧裁决换代(彩蛋三线后随 v0.6 攻防所有权切分换代为两线);架构面结论=现有分层承载得住零重构,三处小扩〔schema 阈值前置形态(去留=R1 待裁)/效果引擎关卡域状态/营地呈现重排〕随批 #### 秘宝体系实现重构落地批 — 已编入迭代 22(2026-10-11 用户令)(2026-10-10 用户令「文档层已改完,记录新设计的实现重构落地」登记) diff --git a/design/gdd/systems/表现与支撑/存档序列化.md b/design/gdd/systems/表现与支撑/存档序列化.md index 9cdbb8df..e673fa54 100644 --- a/design/gdd/systems/表现与支撑/存档序列化.md +++ b/design/gdd/systems/表现与支撑/存档序列化.md @@ -65,7 +65,6 @@ SaveManager 不依赖任何玩法系统就能工作:它是被动的承载方 "version": 6, "meta": { "keystone_balance": 0, - "forge_levels": {"max_hp": 0, "atk": 0, "armor_class": 0}, "item_unlocks": {}, "level_clear_counts": {"1": 0, "2": 0, "3": 0}, "boss_first_kill": {}, @@ -74,9 +73,11 @@ SaveManager 不依赖任何玩法系统就能工作:它是被动的承载方 "attune_refresh_level": 0, "tree_nodes": {}, "fork_sides": {}, + "tree_struct": 2, + "recent_summaries": [], + "first_adventure_done": false, "adventure_total": 0, - "adventure_cleared": 0, - "recent_summaries": [] + "adventure_cleared": 0 }, "breakpoint": {} } @@ -94,14 +95,18 @@ SaveManager 不依赖任何玩法系统就能工作:它是被动的承载方 | `attune_refresh_level` | 营地刷新升级(Y 源)等级(v4) | [秘宝](../跨局循环/秘宝.md)(三选一刷新双源) | | `tree_nodes` | 天赋树已购等级(node_id→int,v5) | [天赋树](../跨局循环/天赋树.md) | | `fork_sides` | Fork 组激活侧(fork_group→a/b,v5) | [天赋树](../跨局循环/天赋树.md) | +| `tree_struct` | 树结构版本标记(=TREE_STRUCT_VERSION,迭代 21 T5;缺失 = 换代前结构,加载废弃重置) | [天赋树](../跨局循环/天赋树.md) | +| `recent_summaries` | 最近冒险摘要副本,最新在前,最多 10 条 | [冒险结构](../冒险循环/冒险结构.md) | +| `first_adventure_done` | 首冒险完成标记(新档默认 false;旧档缺省按已完成兜底) | [元进度](../跨局循环/元进度.md) | | `adventure_total` | 冒险总局数终身计数(开局即计、含放弃与失败,v6) | [生涯](../跨局循环/生涯.md) | | `adventure_cleared` | 通关局数终身计数(三关全通才计 1,v6) | [生涯](../跨局循环/生涯.md) | -| `recent_summaries` | 最近冒险摘要副本,最新在前,最多 10 条 | [冒险结构](../冒险循环/冒险结构.md) | +| ~~`forge_levels`~~ | ~~属性锻造三档等级~~ | **已退役**(迭代 21 T5:行族/访问器/域随攻防所有权切分删除——`save_manager.gd:12-14/:399-401` 白名单收口;继任 = 锻造工坊路线等级域,见下行计划登记) | +| `forge_routes`(**计划新增**——锻造工坊实装批,v7;域名以实装批定名为准) | 三武器等级 + 三甲等级 + 当前武器/甲选中标记(各 1;无特效域;旧档破坏性废弃口径归该批) | [锻造工坊](../跨局循环/锻造工坊.md) | | `breakpoint` | 冒险断点快照(停点粒度续玩域;空字典 = 无断点合法态——「继续上局」隐藏) | [冒险结构](../冒险循环/冒险结构.md) | v4/v5/v6 各域缺键由读取方按默认值补齐(空集合/0),旧档零迁移损失;收束自增域(通关次数/Boss 计数/终身计数)的唯一入账点 = `apply_adventure_summary`。 -消费面纪律:其他系统只经 SaveManager 的类型化访问器(读余额/加钥石/花钥石、读写锻造等级等)与域更新原语(`apply_adventure_summary`)操作存档,不碰内部数据结构。 +消费面纪律:其他系统只经 SaveManager 的类型化访问器(读余额/加钥石/花钥石、读写树等级等)与域更新原语(`apply_adventure_summary`)操作存档,不碰内部数据结构。 ### 读写时机 @@ -123,7 +128,7 @@ v4/v5/v6 各域缺键由读取方按默认值补齐(空集合/0),旧档零 ### 版本与迁移 -存档带版本字段(`version`,当前 = **6**;版本沿革:v2 = 断点域出生〔迭代 8 卡①〕→ v3 = 断点附随件扩列 + 摘要 keystone_drops〔迭代 10 奖励重构〕→ v4 = 同调批扩域〔boss_kill_count / attunement_equipped / attune_refresh_level,迭代 11 第①批〕→ v5 = 天赋树域〔tree_nodes / fork_sides,迭代 12〕→ v6 = 生涯终身计数域〔adventure_total / adventure_cleared,迭代 18 卡④〕;与 registry `schema_version` 同源)。三条走向: +存档带版本字段(`version`,当前 = **6**;版本沿革:v2 = 断点域出生〔迭代 8 卡①〕→ v3 = 断点附随件扩列 + 摘要 keystone_drops〔迭代 10 奖励重构〕→ v4 = 同调批扩域〔boss_kill_count / attunement_equipped / attune_refresh_level,迭代 11 第①批〕→ v5 = 天赋树域〔tree_nodes / fork_sides,迭代 12〕→ v6 = 生涯终身计数域〔adventure_total / adventure_cleared,迭代 18 卡④〕;与 registry `schema_version` 同源)。**(计划)v7 = 锻造路线域**〔三武器/三甲等级 + 当前选中标记——锻造工坊实装批,2026-10-12 v1.5 预登记;届时旧档破坏性废弃口径归该批,禁迁移/折算〕。三条走向: | 情形 | 处置 | |---|---| @@ -131,7 +136,7 @@ v4/v5/v6 各域缺键由读取方按默认值补齐(空集合/0),旧档零 | 版本更高(未来版本的档) | **拒读且禁写**:不加载、后续写盘一律拒绝、内存以默认新档运行——保护未来版本的档不被当前版本覆写 | | 版本更低(旧档) | 读档时逐级迁移:从旧版本起逐个调用注册的迁移函数升到当前版本;任一步失败按损坏兜底处理 | -迁移函数经 `register_migration(旧版本号, 函数)` 注册:函数把数据从「旧版本」改写成「旧版本 + 1」。生产迁移链现行五件(v2 起自注册):v1→v2 = 断点域补空;v2→v3 = 断点附随件与摘要 keystone_drops 补键(读取方 .get 兜底);v3→v4 = 同调三域补键;v4→v5 = 树域两键补齐 + 三体系迁移(forge_levels→锻造脉节点等效点亮、工坊解锁→道具工坊节点、同调谓词→同调位节点——幂等、零亏损,迁移规则归[天赋树](../跨局循环/天赋树.md));v5→v6 = 生涯两终身计数域补零。任一步失败按损坏兜底处理。 +迁移函数经 `register_migration(旧版本号, 函数)` 注册:函数把数据从「旧版本」改写成「旧版本 + 1」。生产迁移链现行五件(v2 起自注册):v1→v2 = 断点域补空;v2→v3 = 断点附随件与摘要 keystone_drops 补键(读取方 .get 兜底);v3→v4 = 同调三域补键;v4→v5 = 树域两键补齐(原挂接的「三体系迁移」体已随迭代 21 T5 攻防所有权切分删除——`save_manager.gd:96-98`、`meta_progression.gd:294-295` 实证;forge_levels 旧域同批清退,加载时按默认模型键集白名单收口,`save_manager.gd:399-401`);v5→v6 = 生涯两终身计数域补零。任一步失败按损坏兜底处理。 ### 损坏兜底 @@ -186,3 +191,4 @@ MVP 不要求本系统的闭环([不做清单](../../05-不做清单.md)把单 | v1.2 | 2026-09-29 | **断点域出生(迭代 8 卡①,schema v1→v2)**:`breakpoint` 域登记(停点粒度续玩快照,内容 owner=冒险结构);反面清单收窄到 meta 域+断点域豁免条款;写盘时机+停点快照/三结局清除;生产迁移链 v1→v2 补空;P1 快照预挂号兑现(rng `restore_adventure` 回填面);域界验收口径随改 | | v1.3 | 2026-10-01 | **版本兼容口径批(迭代 10 追加批 g 裁——用户拍板:版本兼容对齐 semantic version 标准)**:①版本策略成文口径——本域版本号语义 = **向后兼容的次序版本**:升版只允许「旧档在新代码可读可玩可续玩」(缺新键=合法空态、内容零丢失、断点可续),禁「新档在旧代码可读」承诺(向前兼容不做);②v2→v3 迁移体=空迁移(断点附随件扩列〔bonus_taken/bonus_pending/bonus_result/bonus_aux_carry/keystone_drops + bonus.ap 轴〕与摘要 additive 键 keystone_drops 均由读取方 .get 兜底——兼容性由冒烟 v1→v3 与 v2→v3 断点续玩断言承载,2026-10-01 增);③中断节点兼容义务:每升版必须在冒烟断言「旧版断点→新版续玩受理」(现行三档 v1/v2/v3 齐) | | v1.4 | 2026-10-09 | **文档正确性审查批·独立复核(worktree docaudit-2026-10-09——版本滞后四代换代,全部代码实证 save_manager.gd SAVE_FORMAT_VERSION=6)**:①数据模型 JSON 与域清单表换代 v2→v6——补 v4 同调三域(boss_kill_count/attunement_equipped/attune_refresh_level,迭代 11①)、v5 树域(tree_nodes/fork_sides,迭代 12)、v6 生涯两终身计数域(adventure_total/adventure_cleared,迭代 18 卡④)逐域 owner 行;②版本与迁移节换代——当前=6、迁移链五件(v1→v2…v5→v6,含 v4→v5 三体系迁移指路天赋树);③调参表版本常量 2→6;④缺键补齐纪律句补记(读取方默认补零/空集合,收束自增唯一入账=apply_adventure_summary)。注:v3/v4/v5/v6 四次升版当时均未回写本文,本批一次性清偿 | +| v1.5 | 2026-10-12 | **锻造工坊完备性检查批随迁(用户令:新加内容现在补、不等实装批)**:①**预登记锻造路线域**(计划 v7):域清单表 + 版本沿革补 `forge_routes`(三武器等级+三甲等级+当前选中标记、无特效域、旧档破坏性废弃归锻造工坊实装批;域名以实装批定名为准);②**清偿 forge_levels 残留**——JSON 示例、域清单表删该域(代码侧已随迭代 21 T5 删除:`save_manager.gd:12-14/:399-401` 白名单收口);迁移链 v4→v5 的「三体系迁移」体改述为已删除(`save_manager.gd:96-98`、`meta_progression.gd:294-295`);③**补登两漏域**(代码实证 `save_manager.gd:119-139`):`tree_struct`(树结构版本标记,迭代 21 T5,缺失=换代前结构加载废弃重置,owner 天赋树)、`first_adventure_done`(首冒险完成标记,新档默认 false、旧档缺省按已完成兜底,`meta_progression.gd:100` 置位,owner 元进度);④消费面纪律句「读写锻造等级」→「读写树等级」(访问器已随行族退役删除)。版本号常量仍 =6(v7 未落地) | diff --git a/design/gdd/systems/跨局循环/元进度.md b/design/gdd/systems/跨局循环/元进度.md index 6b8f8ad5..7dac4742 100644 --- a/design/gdd/systems/跨局循环/元进度.md +++ b/design/gdd/systems/跨局循环/元进度.md @@ -67,7 +67,7 @@ 属性锻造的树形节点结构已随迭代 12 落地在役——**结构/节点/数值的现行事实源 = [天赋树](天赋树.md),本文不复制树侧内容、只作指路**;本柜台三档直线强化与树淬炼 flat 在注入面叠加生效(注入口径见下文「跨局注入」节)。 -属性锻造的攻击、护甲两档将按[锻造工坊](锻造工坊.md) v0.1〔成文时名「武器锻造」,2026-10-11 更名〕设计定案改造为武器与护甲的独立等级路线(实装待办在册 [06-待办清单](../../06-待办清单.md)「锻造工坊实装批」,冻结待排期;改造落地前本柜台三档直购维持现役)。 +属性锻造的攻击、护甲两档已按[锻造工坊](锻造工坊.md) v0.6(成文时名「武器锻造」,2026-10-11 更名)设计定案转为武器与护甲的独立等级路线——**行族本体随迭代 21 T5 退役、路线为新建行族**(实装待办在册 [06-待办清单](../../06-待办清单.md)「锻造工坊实装批」,17 裁点已清零、待用户发令;钥石定价历史考古参数 20 钥石/150% 公比见 `meta.tres:82-84` 退役批注,实装投值归 M4)。 **营地统一(2026-10-11 天赋树设计会话裁案甲)**:树=营地本体,本属性锻造柜台随 06「天赋树实装批」退役、其属性升级入口由树脊柱淬炼节点承接(落地前维持现役)。**完整模型(四柜台并排/钥匙工作间/图鉴常开)唯一事实源 = [天赋树](天赋树.md)「营地=树:统一模型」节——本文只登记本柜台在系统内的去留,不复制树侧内容。** @@ -97,7 +97,9 @@ 注入通道沿用两处预留位(2026-09-18 拍板确认):[冒险结构](../冒险循环/冒险结构.md)的**冒险开始参数面**(无解锁时为空参数)+ registry `hero_override_parameter_passing`(begin_battle 显式入参,-1 = 表值兜底)。 -执行口径:开始一次新冒险时,本系统按存档内的永久强化状态算好一份 override,逐字段显式传给战斗初始化——配置因此不是完全静态的,随游戏进程动态改变(用户拍板原话口径)。字段清单随柜台扩展:属性锻造三档是数值覆盖;道具池、遭遇权重、奖励格解锁是集合操作,参数面登记**追加 / 替换**两种语义。 +执行口径:开始一次新冒险时,本系统按存档内的永久强化状态算好一份 override,逐字段显式传给战斗初始化——配置因此不是完全静态的,随游戏进程动态改变(用户拍板原话口径)。字段清单随柜台扩展:道具池、遭遇权重、奖励格解锁是集合操作,参数面登记**追加 / 替换**两种语义。 + +**开局属性四层叠加(2026-10-12 v1.16 补登记——事实源=[锻造工坊](锻造工坊.md)「注入衔接」节 v0.6 / [天赋树](天赋树.md);原「属性锻造三档是数值覆盖」随迭代 21 T5 行族退役换代为下述分层)**:开局属性 = 角色基础值 + 树生命/命中淬炼 flat + 锻造路线加值(当前选中武器的攻击加值 + 当前甲的 AC 加值——默认值由锻造工坊配置常驻持有、与柜台解锁状态解耦,当前选中读存档域)+ 局内加算区 flat。入战 AC 三层可加 = 甲型基础 AC + 甲路线等级加值 + 局内加算区累加。 ### 解锁界面:双入口框架 @@ -180,3 +182,4 @@ MVP 不要求本系统的闭环([不做清单](../../05-不做清单.md)整体 | v1.13 | 2026-10-10 | **「道具工坊」改名「秘宝匣」(2026-10-10 天赋树设计会话裁——树上解锁节点与营地柜台同名)**:现行正文六处扫改(三柜台行 / 柜台行 / 柜台纪律 / 后续商品行 / 调参表 P1 / 定价表行);版本历史行一律不动;别名「道具工坊」登记 registry 术语条保留检索。机制零改动 | | v1.14 | 2026-10-11 | **营地统一案甲随迁(2026-10-11 天赋树设计会话终裁)**:三柜台节补「营地统一」段——树=营地本体、属性升级唯一入口=树脊柱淬炼节点、本属性锻造柜台随 06「天赋树实装批」退役吸收进脊柱(落地前维持现役)、锻造柜台与秘宝匣转工作间钥匙模型、图鉴常开;设计权威文档指路 = 天赋树.md v0.2。机制零改动(退役与公式换代随实装批) | | v1.15 | 2026-10-11 | 锻造工坊更名批随迁(机械扫):三柜台节指路句随系统更名「武器锻造→锻造工坊」换代链接与名称(06 实装批条名同步「锻造工坊实装批」;版本历史行内旧名按历史记载保留)。机制零改动 | +| v1.16 | 2026-10-12 | **完备性检查批随迁(用户令:有缺漏即补齐)**:①「跨局注入」节补开局属性四层叠加公式(角色基础值+树生命/命中 flat+锻造路线加值+局内加算区 flat;入战 AC 三层)——锻造工坊与天赋树两文档共指本节为「通道现行事实源」而公式缺位,本次落实;原「属性锻造三档是数值覆盖」随迭代 21 T5 行族退役换代;②锻造工坊 v0.6 引用版本号 v0.1→v0.5 连带校正(三柜台节)。机制零改动 | diff --git a/design/gdd/systems/跨局循环/锻造工坊.md b/design/gdd/systems/跨局循环/锻造工坊.md index 30f47a76..7096c5d8 100644 --- a/design/gdd/systems/跨局循环/锻造工坊.md +++ b/design/gdd/systems/跨局循环/锻造工坊.md @@ -1,7 +1,7 @@ # 锻造工坊 > 一句话:营地的武器与护甲成长——武器锻造区三条路线、护甲锻造区三条路线各练各的,钥石消费,一次冒险各选一件,满级特效留位本期不做 -> 状态:v0.5 B 组定案落文(2026-10-12 锻造工坊裁决会话续——**17 裁点全数清零**:1 丙 / 1a 一次冒险一件武器+一件甲 / 1b 营地可换·战斗禁换 / 1c 免费 / 2a 伪裁点消解 / 2b 随 3a 消解 / 3a 魔法护甲统一命名 / 3b 敌方攻击缺省普通·克制反向当下生效 / 3c 每型独立路线 / 4a 前缓后陡 / 4b 锻造内自闭环 / 4b-1 并联双通道 / 5b 纯钥石 / 5c 零材料 / 6 满级特效本期不做留扩展位 / 8a 工作间两区定名;2c、5a 已于 v0.4 结案)。**满级特效本期不做**(只留扩展位);全部数值 provisional,终值归 Alpha 收官 M4 数值批〔未排期〕;实装待办在册 [06-待办清单](../../06-待办清单.md)「锻造工坊实装批」条——**开工门 = 17 裁点清零 + 用户发令,裁点门已满足** +> 状态:v0.6 完备性检查批落文(承 v0.5 B 组定案——**17 裁点全数清零**:1 丙 / 1a 一次冒险一件武器+一件甲 / 1b 营地可换·战斗禁换 / 1c 免费 / 2a 伪裁点消解 / 2b 随 3a 消解 / 3a 魔法护甲统一命名 / 3b 敌方攻击缺省普通·克制反向当下生效 / 3c 每型独立路线 / 4a 前缓后陡 / 4b 锻造内自闭环 / 4b-1 并联双通道 / 5b 纯钥石 / 5c 零材料 / 6 满级特效本期不做留扩展位 / 8a 工作间两区定名;2c、5a 已于 v0.4 结案)。**v0.6 变更(2026-10-12 完备性检查批·grilling 用户逐条裁)**:现役事实基线换代(forge_products 行族已随迭代 21 T5 退役、定价参数改历史考古口径);**两根类型轴所有权移交**(默认值归锻造工坊配置常驻持有、hero.tres 静态表两轴删除、选中态写存档+参数面注入);「与秘宝混合制同构」与「激活穿刺系专长」两处无依据表述订正删除。**满级特效本期不做**(只留扩展位);全部数值 provisional,终值归 Alpha 收官 M4 数值批〔未排期〕;实装待办在册 [06-待办清单](../../06-待办清单.md)「锻造工坊实装批」条——**开工门 = 17 裁点清零 + 用户发令,裁点门已满足** > 成文底稿:`design/research/提案-武器锻造系统-2026-10-07.md`(提案过程稿——全部备选案与淘汰依据、用户原案逐条对照见彼;本文只收录定案口径;**未启用的满级特效候选池亦留彼 §八**,不进正文) ## 设计目的 @@ -55,18 +55,20 @@ **注入衔接(所有权切分,2026-10-11 裁)**:每根数值轴全游戏单一来源——生命/命中唯一入口=树脊柱;**攻击唯一入口=武器路线、AC 唯一入口=甲路线(本系统)**,树零攻防来源(红线)。锻造路线加值 = 当前武器攻击加值 + 当前甲路线 AC 加值,与树淬炼 flat、局内加算区在开局属性注入面分层相加(通道现行事实源 = [元进度](元进度.md)「跨局注入」节);锻造加值只按**当前选中**的武器/甲生效(长剑的练度在换带长枪后回家待命,不丢级、不生效)。 +**两根类型轴的所有权(2026-10-12 v0.6 订正,用户裁)**:`attack_type` / `armor_type` 的默认值由锻造工坊配置**常驻持有**(默认值 = 现役静态表现役值 normal / light),hero.tres 静态表两轴随实装删除——静态表不再存放这两项。冒险开始时参数面读「锻造工坊配置默认值 + 存档当前选中覆盖」注入。**默认值与柜台解锁状态解耦**:树钥匙节点未点亮时柜台为锁定态(玩家无交互入口),但配置表常驻可读、默认值照常注入——不存在「锻造工坊解锁前读不到默认值」的窗口。选中态写存档(与等级域同批新增),与现役「表运行期只读、永久强化写存档」纪律一致(`meta_progression.gd:12-13/119`)。 + ### 三件武器 | 武器 | 正式显示名 | 攻击类型 | 路线(行名) | |---|---|---|---| -| 剑 → **长剑**(8a 改名,见下) | **长剑锻造** | 普通 | 现役攻击锻造行的直接改造(吸收为长剑路线前身) | +| 剑 → **长剑**(8a 改名,见下) | **长剑锻造** | 普通 | 语义继承自已退役的攻击锻造行(+基础攻击);行族本体随迭代 21 T5 退役,路线行为新建(对象与命名归实装批) | | 长枪 | **长枪锻造** | 穿刺 | 解锁后从 1 级练起 | | 法杖 | **法杖锻造** | 魔法 | 解锁后从 1 级练起 | > **改名注(2026-10-12,8a 裁·Y 层)**:六条路线的行名统一为「件名 + 锻造」——长剑锻造 / 长枪锻造 / 法杖锻造、轻甲锻造 / 重甲锻造 / 魔法护甲锻造。其中第一件武器的正式显示名由「剑」改「长剑」(用户原话口径)。`attack_type` 字段值、矩阵语义、registry 攻击类型词条均不受此改名影响——改的只是显示名。 - 每件武器有**独立等级**(1 到上限,锚点 5 级量级,provisional)、独立成长曲线、独立的满级特效挂位(**本期为空位**——6 裁,见「满级特效扩展位」节)——三件武器的等级各自保留,换当前武器不丢任何进度。 -- **当前武器单选出场**:类型由武器决定(选长枪=穿刺),写入现役 `attack_type` 字段——该字段系 2026-09-18 营地扩展前置批预留的休眠轴(`hero.tres`,注记原话"营地永久强化换攻击类型 = 改此字段"),本设计是既有预留位的启用,不是新结构。 +- **当前武器单选出场**:类型由武器决定(选长枪=穿刺)。选中态写**存档域**(与等级域同批新增),冒险开始经参数面注入;`attack_type` 的默认值归锻造工坊配置常驻持有、hero.tres 静态表该轴随实装删除(2026-10-12 v0.6 订正:原「写入 hero.tres 休眠轴」口径与现役「表运行期只读、永久强化写存档」纪律冲突——`meta_progression.gd:12-13/119`,且与本文存档域条目自相矛盾;现役静态值 normal 由锻造工坊配置默认值接管)。 - **一次冒险 = 一个武器类型 + 一个甲型(1a 裁)**:同一时刻只有一件武器、一件甲生效(出场行显示"当前:长剑锻造 + 轻甲锻造")。多持轮换淘汰——棋盘穿刺/魔法直伤件已承载"对不同甲型换着打"的战术价值,战斗内换械要给结算管线新开"类型可变"维度,收益不成比例。(原裁点只问武器携带数,本裁把它扩到"一次冒险"粒度并同时覆盖甲侧。) - **营地内随时切换、免费(1b / 1c 裁)**:等级都是玩家花资源练出来的,切换只是决定"今天带谁出门";二次收费会惩罚尝试性构筑,与成长曲线诉求(低成本试错找匹配武器)相逆。**冒险开始后锁死**:伤害单据的类型在开单时声明、管线内不变。 @@ -90,12 +92,12 @@ - **曲线形状:前缓后陡(4a 裁,只锁方向不锁值)**——低等级每级攻击增量小(+0/+1 量级),高等级每级 +1/+2 量级。前期刻意压数字:玩家靠挖掘技巧过关(这是特性不是缺陷);**能力台阶 = 新武器 / 新甲型的解锁**(满级特效本期不做,见「满级特效扩展位」节)。只锁形状方向,参数全体 provisional 归 M4。(程序性登记:曲线形状与几何定价是两条独立旋钮,终值同归 M4 一批标定——不含任何方向性判断。) - **本系统=攻防数值成长唯一来源**(2026-10-11 所有权切分裁):攻击成长只在武器路线、AC 成长只在甲路线;树脊柱零攻防数值(只有生命/命中两线)。数字成长的速率与能力解锁的节奏由本曲线统一握持——这是本系统对成长曲线反馈诉求的独占载体地位。 - **解锁节奏:锻造内自闭环(4b 裁)**——新武器 / 新甲型的解锁条件全部在锻造系统内部,不绑关卡进度(与"营地 = 消费钥石的成长枢纽"定位冲突,且首局教学局不该被绑死在长剑上)。 -- **解锁通道:并联双通道(4b-1 裁)**——每条待解锁路线(长枪 / 法杖 / 重甲 / 魔法护甲)都开两个**互不影响、玩家自选其一**的通道:① **练满前一档**(长剑练满开长枪/法杖、轻甲练满开重甲/魔法护甲);② **一次性解锁价**直购开。不设串联门槛(不需要先练满才能买)。与秘宝解锁的混合制同构。 +- **解锁通道:并联双通道(4b-1 裁)**——每条待解锁路线(长枪 / 法杖 / 重甲 / 魔法护甲)都开两个**互不影响、玩家自选其一**的通道:① **练满前一档**(长剑练满开长枪/法杖、轻甲练满开重甲/魔法护甲);② **一次性解锁价**直购开。不设串联门槛(不需要先练满才能买)。与秘宝的关系:共享钥石单币与「钥石直购 / 条件解锁」的成分语义,但通道结构不同——秘宝为件级单通道分派(`秘宝.md:29`),本系统为同路线双通道并联任选(2026-10-12 v0.6 订正:原「与秘宝解锁的混合制同构」表述删除——「同构」非本项目概念,两者功能、结构、位置均不同)。 ### 经济 - **纯钥石(5b 裁)**:与现役属性锻造、天赋树(树全钥石单币)、同调刷新升级同币同柜。原案语义是"攻击力提升改造"——同一笔钱换个花法。金币(GP)=局内一次性货币、局内清零不入存档、与钥石永不互兑,两币分工是拍板条款,不引入局外金币余额域或第三货币。(用户裁定注:当前没有其他材料,钥石就是统一货币;**后续若要分出专用币或材料,届时再重构设计,不预先建面**。) -- **几何递增定价**:每级价格 = 基础价 × 150%^(已购级数)(现役参数:单次 20 钥石,`meta.tres` 现役计价参数沿用);路线解锁 = 一次性解锁价(量纲 ≈ 中段几级锻造花费)。全部终值归 M4。 +- **几何递增定价**:每级价格 = 基础价 × 150%^(已购级数)(历史考古参数:单次 20 钥石、公比 150%——`meta.tres:82-84` 退役批注;forge_products 行族已随迭代 21 T5 退役、无现役计价字段可沿,实装投值归 M4 从零标定);路线解锁 = 一次性解锁价(量纲 ≈ 中段几级锻造花费)。全部终值归 M4。 - **零材料经济(5c 裁)**:不引入账号层锻造材料。现役效果引擎的 grant_material 是**局内**材料计数器(如雷区图谱),不是账号层库存;账号层材料=全新经济面(存档域/获取渠道/囤积规则全套新建),原案全文只字未提材料,武器差异化的价值轴是类型(与预留的特效位)不是采集刷料。 ### 满级特效扩展位(本期不启用——6 裁) @@ -114,8 +116,8 @@ - **奇物属性件**:分层并存,互不侵入。武器/护甲锻造动的是**账号层基础值**(营地永久强化,冒险开始时经参数面传入);奇物属性件动的是**单次冒险加算区**(关间不清零、冒险结束清零)。本设计不扩奇物"生命/AC/攻击"三轴封闭分类、不动渠道开关表、不往局内池加任何东西。入战 AC 的三层语义清晰可加:甲型基础 AC + 营地甲路线等级加值 + 局内加算区累加。 - **克制矩阵(2a 裁:伪裁点消解)**:**伤害结算只有一套,类型不是待仲裁的槽位**。每份伤害单据自带 `attack_type` 栏(`damage_controller.gd:19` 单据九栏之一)——主角基础攻击单据取 `hero.tres` 的 attack_type(由当前武器决定),棋盘格面直伤件(穿刺弹 / 魔法矢)取 reward 表自身的类型(预期 `reward.tres:131/142`)——各自按**同一张 3×3 矩阵** `armor_effectiveness` 取克制修正(`_counter_delta`)。因此"叠加 / 替代 / 互斥"三分法不成立:两根参数之间无冲突可裁,也不需要任何共存规则。二者的真实差异只在**单据形态与生命周期**(主角基础攻击走掷点折扣 + 暴击;棋盘克制直伤走必中全额不掷点 `_resolve_board_typed`;且前者 = 账号层永久、后者 = 局内一次性)——那是两条不同的伤害来源,不是两种类型语义。矩阵九格满格结构冻结(2b 随 3a 自动消解:魔法护甲 = 现役 ward,不存在第四甲型)。 - **工作间两区定名 + 路线行名(8a 裁)**:锻造工坊工作间内先立两个分区,各装三条锻造路线(路线行名统一为"件名 + 锻造")——①**武器锻造区**:长剑锻造 / 长枪锻造 / 法杖锻造;②**护甲锻造区**:轻甲锻造 / 重甲锻造 / 魔法护甲锻造。两区并列、机制层面零顺序门槛(A③ 裁),区内路线各自独立升级。 -- **局内不存在武器/护甲的提升(8a 裁连带核结)**:用户指出"局内没有可以提升武器的地方"——**属实**。查实:局内商店货架的三行(现役旧名"攻击锻升 / 生命锻升 / 护甲锻升"——**2026-10-12 已改名,见下**),**正是奇物「属性值提升」三轴(攻击 / 生命上限 / AC)的货架前台标签**——`shop.tres` pool_shelf 六行用 `kind_id` 指向 `adventure.tres` CURIO_KINDS 里的奇物种类(`attack`/`max_hp`/`armor`/`ap`/`feat_ticket`/`heal`),`display_name` 只是这层的前台名;买到的东西进**冒险加算区**、冒险结束清零。所以它们是**奇物属性件**,既不是武器也不是护甲,局内不改变任何锻造等级。命名上的隐患确凿:行名里的"锻"字与营地锻造同字,是误读的直接来源。**2026-10-12 用户裁决(8a 连带·C 项)**:三行按「属性 + 后缀」改名,后缀取 **祝福** ⇒ **攻击祝福 / 生命祝福 / 护甲祝福**(D&D 参照调研:Blessing 为"神赐恩惠"义;用户同时裁定——参考书目里出现过「祝福」一词不构成禁用)。**改名后这三条在语感上彻底脱离"锻造"一词,与营地工作间不再有字面关联**,而结构关系不变(仍是奇物「属性值提升」三轴,机制分类名不动,只改玩家向显示名)。**执行归独立改名小批**(06 在册),本会话按"禁动 game/ 代码与数据表"纪律不代执行。 -- **专长联动**:武器选择改变主角攻击的 matchup 行——选长枪激活穿刺系专长的价值,这是设计意图内的联动。现有死条件 `magic_vs_magic`(魔法打"魔法甲"——现行甲域无此型,永不可触发 = 废卡):**改值复活案已作废(2026-10-11 D 组核结——所属件魔网织者在素材库表二专长 27 件退役删除名单)**,该行随专长退役删行批整体消解,本系统零触碰(2026-10-12 订正:本节原写"推荐复活"与实装边界第 3 条结案口径冲突,随本批对齐)。「魔法打魔法护甲」的克制语义由矩阵九格承载(magic vs ward = −1),新专长框架如需同类件 = 彼批的新卡设计题。 +- **局内不存在武器/护甲的提升(8a 裁连带核结)**:用户指出"局内没有可以提升武器的地方"——**属实**。查实:局内商店货架的三行(现役旧名"攻击锻升 / 生命锻升 / 护甲锻升"——**2026-10-12 已改名,见下**),**正是奇物「属性值提升」三轴(攻击 / 生命上限 / AC)的货架前台标签**——`shop.tres` pool_shelf 六行用 `kind_id` 指向 `adventure_table.gd:29` 的 CURIO_KINDS 常量(其中 feat_ticket 为显式豁免种、不入该词表,5/6 命中——`config_db_cross_validator.gd:109-110`),`display_name` 只是这层的前台名;买到的东西进**冒险加算区**、冒险结束清零。所以它们是**奇物属性件**,既不是武器也不是护甲,局内不改变任何锻造等级。命名上的隐患确凿:行名里的"锻"字与营地锻造同字,是误读的直接来源。**2026-10-12 用户裁决(8a 连带·C 项)**:三行按「属性 + 后缀」改名,后缀取 **祝福** ⇒ **攻击祝福 / 生命祝福 / 护甲祝福**(D&D 参照调研:Blessing 为"神赐恩惠"义;用户同时裁定——参考书目里出现过「祝福」一词不构成禁用)。**改名后这三条在语感上彻底脱离"锻造"一词,与营地工作间不再有字面关联**,而结构关系不变(仍是奇物「属性值提升」三轴,机制分类名不动,只改玩家向显示名)。**执行归独立改名小批**(06 在册)——**已于 2026-10-12 执行完毕并合入 master**(commit `0c93a71` / `0144f60`:shop.tres 六行锻升→祝福;reward.tres / status_effects.tres 护甲强化→盾牌加护;smoke_all.gd:1199 断言同步;注记段四处残留肃清;冒烟两跑 864 项 0 失败)。 +- **专长联动**:现役专长均为跨攻击类型通用件(不按 attack_type 分系——既无 normal 条件件、也无 pierce/magic 条件件,`feats.tres` 29 行实证),武器类型差异只经克制矩阵的 matchup 行体现;「选某类型激活某系专长」在本项目专长体系下不成立(2026-10-12 v0.6 订正:原「选长枪激活穿刺系专长的价值」为无现役对应物的表述,删除)。现有死条件 `magic_vs_magic`(魔法打"魔法甲"——现行甲域无此型,永不可触发 = 废卡):**改值复活案已作废(2026-10-11 D 组核结——所属件魔网织者在素材库表二专长 27 件退役删除名单)**,该行随专长退役删行批整体消解,本系统零触碰(2026-10-12 订正:本节原写"推荐复活"与实装边界第 3 条结案口径冲突,随本批对齐)。「魔法打魔法护甲」的克制语义由矩阵九格承载(magic vs ward = −1),新专长框架如需同类件 = 彼批的新卡设计题。 - **天赋树**:同钥石经济;注入面分层叠加且**所有权切分**(2026-10-11 裁)——树脊柱只持生命/命中淬炼(树零攻防来源),攻/AC 唯一入口=本系统路线加值(只按当前选中武器/甲生效)。 - **冒险前资源配比预设批(挂起冻结中)**:本设计不预设该批的重启口径、不占用其任何冻结裁决、不改其冻结文本。该批重启时须显式核对两处交汇面:①预算包络是否把武器类型计入克制注;②容量柜台与锻造工坊工作间(同在营地)的资源竞争关系。 @@ -123,24 +125,24 @@ | 事实 | 出处 | |---|---| -| 攻击力提升现有两来源(营地属性锻造直购 / 局内商店货架),无"武器"实体 | `meta.tres:7-25`、`shop.tres:68-94` | -| 主角攻击类型轴已存在、休眠中(值 normal,枚举 normal/pierce/magic) | `hero.tres:11`、`hero_table.gd:13` | -| 主角甲型结构位已在册休眠(值 light,域 light/ward/heavy);AC=10 现役生效 | `hero.tres:9-10` | +| 局内商店货架三行 = 奇物「属性值提升」三轴的货架前台标签(攻击/生命/护甲祝福);营地属性锻造行族已随迭代 21 T5 退役,无"武器"实体 | `shop.tres:68-92`、`meta.tres:73-76` 退役登记 | +| 主角攻击类型轴现役值 normal(枚举 normal/pierce/magic)——默认值所有权随本设计移交锻造工坊配置、hero.tres 该轴随实装删除 | `hero.tres:11`、`hero_table.gd:13` | +| 主角甲型结构位现役值 light(域 light/ward/heavy);AC=10 现役生效——默认值所有权随本设计移交锻造工坊配置、hero.tres 该轴随实装删除 | `hero.tres:9-10` | | 克制矩阵 3×3 九格满格(普通/穿刺/魔法 × 轻甲/魔法护甲/重甲),结构冻结 | `settlement.tres:31-47` | | 敌方装甲分布:轻甲×14 / 重甲×4 / 魔法护甲×1(L2 Boss 蛛化卓尔精灵) | `enemy.tres` | | 甲效矩阵 normal 行取值:轻甲 0 / 魔法护甲 +1 / 重甲 −1(整数点数:+1 被克 / 0 中性 / −1 挡住) | `settlement.tres:31-47` | | 敌方攻击类型轴**未开**——单据 `attack_type` 栏现役为 `""`(空串恒不查矩阵,`""` 与"群伤/反噬/地形/敌方技"同列无类型族);`enemy.tres` 登记「敌方技能攻击类型轴仍未开(全部 normal 档)」 | `damage_controller.gd:19/:550-552`、`enemy.tres:527` | | 效果引擎效果类型闭集 24 种(源码注记"23"系笔误) | `effect_engine.gd:31-35` | -| 营地消费货币=钥石(buy_forge→spend_keystone);GP=局内一次性货币,开局清零不入存档 | `meta_progression.gd:59`、`adventure_runner.gd:116` | +| 营地消费货币=钥石(现役入口 tree_buy / buy_attune_refresh → spend_keystone——buy_forge 随 forge_products 退役删除);GP=局内一次性货币,开局清零不入存档 | `meta_progression.gd:175/:354`、`adventure_runner.gd:116` | ## 实装边界(执行归实装批,本文只登记方案) -1. **`meta.tres` forge_products**:攻击行→武器路线改造(吸收);护甲行→护甲路线改造;生命行不在本批范围——生命强化唯一入口=树脊柱生命线(2026-10-11 A① 裁),行清退随「天赋树实装批」旧柜台退役执行。同表 boss_keystone / workshop_items / conversion / attune_refresh_upgrade 四行族零触碰。 -2. **`hero.tres` 两根轴**:营地选中的武器/甲型写 `attack_type` / `armor_type`——既有预留位的启用。 +1. **锻造路线行族(新建)**:现役 `meta.tres` forge_products 行族已随迭代 21 T5 攻防所有权切分整体退役(`meta.tres:73-76`、`meta_table.gd:15-16`、`meta_progression.gd:33-35` 三处退役登记,buy_forge/forge_price 访问器随删)——武器/护甲路线为**新建行族**,行族命名、字段结构与落表位置归实装批定义,本文只登记内容口径(三武器/三甲各自等级、定价、解锁通道,见「工作间内容清单」);生命项不在本批(生命强化唯一入口=树脊柱生命线,2026-10-11 A① 裁)。同表 boss_keystone / workshop_items / conversion / attune_refresh_upgrade 四行族零触碰。 +2. **两根类型轴的所有权移交**:`attack_type` / `armor_type` 的默认值由锻造工坊配置常驻持有,hero.tres 静态表两轴**删除**;营地选中态写存档域,冒险开始经参数面注入(与现役「表运行期只读、永久强化写存档」纪律一致——`meta_progression.gd:12-13/119`;原「写 hero.tres 休眠轴」口径随 v0.6 订正,见「注入衔接」节)。 3. **`feats.tres` magic_vs_magic 死行**:复活案作废(2026-10-11 核结——所属件魔网织者已在素材库表二专长 27 件退役删除名单),随专长退役删行批整体消解,本批零触碰;「魔法打魔法护甲」克制语义由矩阵九格承载,新专长框架如需同类件=彼批新卡设计题。 -4. **存档域**:新增三武器等级 + 三甲等级 + 当前选中标记(各 1 个);**不设特效域**(6 裁)。旧档按开发阶段无迁移红线破坏性废弃(2026-10-11 用户裁,禁迁移/折算),口径随实装批登记存档序列化文档与 registry。 +4. **存档域**:新增三武器等级 + 三甲等级 + 当前选中标记(各 1 个);**不设特效域**(6 裁)。旧档按开发阶段无迁移红线破坏性废弃(2026-10-11 用户裁,禁迁移/折算)。**已于 2026-10-12 v0.6 完备性检查批预登记**(存档序列化.md 域清单表 + 版本沿革 v7 计划行——用户令文档批次即登记、不等实装批)。 5. **满级特效:本期不实装**(6 裁)——不开三条新参数位(暴击面 / 折扣档 / 护盾量),不加效果类型词,扩展位留空。 -6. **敌方攻击类型轴填值(3b 裁连带,跨系统汇合点)**:敌方攻击单据 `attack_type` 按「未设置 = 默认 normal」填值,使其参与克制矩阵查表(现役为 `""` 恒不查)。**执行面归敌人系统 / 战斗结算侧**,锻造工坊实装批只登记该需求与其数值影响——该改动会全局平移主角受伤点数(穿重甲 −1、穿魔法护甲 +1),属数值敏感变更,须纳入第 8 条的配对读数验证。两批排期协商(可同批做,也可先行)。 +6. **敌方攻击类型轴填值(3b 裁连带,跨系统汇合点)**:敌方攻击单据 `attack_type` 按「未设置 = 默认 normal」填值,使其参与克制矩阵查表(现役为 `""` 恒不查)。**执行面归敌人系统 / 战斗结算侧**,锻造工坊实装批只登记该需求与其数值影响——该改动会全局平移主角受伤点数(穿重甲 −1、穿魔法护甲 +1),属数值敏感变更,须纳入第 8 条的配对读数验证。敌方 attack_type 是敌方定义数据(enemy.tres / skills.tres 行级,与敌种名字/血量同批同时读写、无独立时序),填值归敌人系统/战斗结算侧自然推进——本批只按 3b 裁落结构面(矩阵查表现役已支持),与锻造工坊批期无耦合(2026-10-12 订正:原「两批排期协商(可同批做,也可先行)」句删除——用户裁:时序问题不存在)。 7. **术语登记**:三型甲统一命名——**只有「魔法护甲」(「魔法甲」系笔误,不登记为别名)**;连同工作间两区定名(武器锻造区 / 护甲锻造区)随批登记 `design/registry/entities.yaml`。 8. **数值验证义务**:实装批必须带改前/改后同随机种子配对读数验证难度影响;统一调整归 Alpha 收官 M4 数值批。 @@ -183,7 +185,7 @@ | 路线(行名) | 攻击类型 | 初始 / 待解锁 | 解锁通道 | |---|---|---|---| -| **长剑锻造** | 普通 | **初始持有**(吸收现役 `meta.tres` 攻击锻造行) | — | +| **长剑锻造** | 普通 | **初始持有**(语义继承自已退役的攻击锻造行;行族新建归实装批) | — | | **长枪锻造**(穿刺) | 穿刺 | 待解锁,解锁后从 1 级练起 | 并联双通道 | | **法杖锻造**(魔法) | 魔法 | 待解锁,解锁后从 1 级练起 | 并联双通道 | @@ -191,7 +193,7 @@ | 路线(行名) | 基础 AC(provisional) | 挨普通攻击的克制修正 | 初始 / 待解锁 | 解锁通道 | |---|---|---|---|---| -| **轻甲锻造** | 10(现役主角值,不动) | 0 | **初始持有**(吸收现役护甲锻造行) | — | +| **轻甲锻造** | 10(现役主角值,不动) | 0 | **初始持有**(语义继承自已退役的护甲锻造行;行族新建归实装批) | — | | **重甲锻造** | 12(+2) | −1 | 待解锁,从 1 级练起 | 并联双通道 | | **魔法护甲锻造**(ward) | 9(−1) | +1 | 待解锁,从 1 级练起 | 并联双通道 | @@ -208,14 +210,14 @@ ### 6 · 出场选择 - 一次冒险 = **一个武器类型 + 一个甲型**。 - 营地(冒险开始前)免费切换;冒险开始后锁死。 -- 选中结果写 `hero.tres` 的 `attack_type` / `armor_type`(既有休眠轴启用,非新结构)。 +- 选中结果写存档域;默认值由锻造工坊配置常驻持有、hero.tres 静态表两轴删除;冒险开始经参数面注入。 ### 7 · 注入与分层 - 开局属性 = 角色基础值 + 树生命/命中淬炼 flat + **锻造路线加值**(当前武器攻击加值 + 当前甲 AC 加值)+ 局内加算区 flat。 - 入战 AC 三层可加:甲型基础 AC + 甲路线等级加值 + 局内加算区累加。 ### 8 · 存档域 -三武器等级 + 三甲等级 + 当前武器标记 + 当前甲标记;**无特效域**。旧档破坏性废弃(禁迁移 / 折算)。 +三武器等级 + 三甲等级 + 当前武器标记 + 当前甲标记;**无特效域**。旧档破坏性废弃(禁迁移 / 折算)。**已于 2026-10-12 预登记存档序列化.md**(域清单 + 版本沿革 v7 计划行)。 ### 9 · 本期明确不做 ① 满级特效(清单 / 数值 / 参数位 / 存档域全不做);② 敌方攻击类型轴填值——跨系统需求,执行面在敌人系统 / 战斗结算侧,本批只登记。 @@ -232,3 +234,5 @@ | v0.3 | 2026-10-11 | **更名批(用户令,锻造工坊裁决会话)**:系统名「武器锻造」→「锻造工坊」——本文档改名 `锻造工坊.md`,与树上钥匙节点同名;全库现行指路链接与 06 实装批条名随批换代,提案过程稿文件名、用户原案引文、迭代 18 qa 清单与各版本历史行内旧名按历史记载保留;「武器锻造区/护甲锻造区」区名随承载裁决收口另改。机制设计零改动 | | v0.5 | 2026-10-12 | **B 组定案落文(锻造工坊裁决会话续,用户逐点裁决)——17 裁点清零**:①1 丙=当前武器单选+每件独立路线;②1a 扩面=**一次冒险一个武器类型+一个甲型**(原只问武器携带数);③1b/1c=营地免费切换·冒险开始后锁死;④**2a 推翻**——伪裁点消解:伤害结算只有一套、单据自带 attack_type 栏,删"叠加/替代/互斥"三分法,改陈述「同一矩阵·单据自带类型·差异只在单据形态与生命周期」;⑤**2b 随 3a 自动消解**(非独立裁点,条件是"魔法甲≠ward");⑥3a=统一命名**魔法护甲**(ward;「魔法甲」系**笔误**不做简称处理,registry 不登记别名);⑦**3b 推翻**——敌方攻击有类型、未设置=默认普通 ⇒ 甲型差异「基础 AC + 克制修正」两轴当下即生效,原"诚实收窄/克制反向留结构位"整段作废,并如实登记现役落差(敌方单据 attack_type="" 恒不查矩阵、`enemy.tres:527` 轴未开)为**跨系统汇合点**(填值面归敌人系统/战斗结算)+ 连带后果(三型成纯序、魔法护甲双负无优势窗口);⑧3c=每型独立路线;⑨4a=前缓后陡(只锁方向);⑩**4a-1 撤回**——"曲线×定价=又贵又弱"结论无依据,不落方向性判断,只留"两条旋钮同批标定"程序句;⑪4b=锻造内自闭环;⑫4b-1=**并联双通道**(练满前一档 OR 一次性解锁价,互不影响);⑬5b=纯钥石(用户注:后续若要区分再重构,不预先建面);⑭5c=零材料;⑮**6 推翻**——满级特效**本期不做**,只留扩展位(不设计清单/不定值/不实装/不开参数位/存档不设特效域),七条候选池退回过程稿 §八;⑯8a=工作间**两区定名 + 路线行名**(区=武器锻造区/护甲锻造区;行=长剑锻造·长枪锻造·法杖锻造、轻甲锻造·重甲锻造·魔法护甲锻造,第一件武器显示名 剑→**长剑**);**并核结用户指出的事实——局内不存在武器/护甲提升**:商店货架三行"攻击锻升/生命锻升/护甲锻升"实为奇物「属性值提升」三轴的货架前台标签(`shop.tres` pool_shelf kind_id → `adventure.tres` CURIO_KINDS),与锻造无关,是否去"锻"字归实装批呈现面。连带:设计目的节能力台阶收缩为新武器/新甲解锁;实装边界重编号(特效条目改"本期不实装"、新增敌方攻击类型填值条);「待裁决清单」换代为「裁决结果清单(17 裁点全表)」+新增「工作间内容清单(实装批需求卡片输入)」两件交付。**同日五点澄清(不升版本)**:①2a 用户确认无异议——按**统一伤害轴**走(删三分法);②2b 连带确认:只有魔法护甲一型,**「魔法甲」系笔误**而非别名,registry 不登记别名、第四甲型议题彻底消解;③3b 的连带后果**不在本批考虑**——用户裁定其为**后续开发改造的前置信息**(敌方攻击差异化与魔法护甲正当性归后续批,本批只按统一伤害轴落结构与字段);④**8a 的 Y 层**(路线行名)定案="件名 + 锻造",第一件武器显示名 剑 → **长剑**;⑤**用户指出局内不存在武器提升——属实**:货架三行"锻升"是奇物「属性值提升」三轴(`shop.tres` pool_shelf 的 kind_id 指向 `adventure.tres` CURIO_KINDS)的货架前台标签,进冒险加算区、冒险结束清零,不是武器也不是护甲;**⑥同日 C/D 两项改名裁决**——C:货架三行「X锻升」→「**X祝福**」(攻击祝福 / 生命祝福 / 护甲祝福,后缀 = 用户选定,D&D 参照为 Blessing),机制分类名「属性值提升」不动、只改玩家向显示名,执行归独立改名小批(06 在册,本会话按禁动 game/ 纪律不代执行);D:棋盘格 defense 正向行与 `ac_up` 状态的同名次 **护甲强化** → **盾牌加护**(用户提案,理由=它是临时叠层状态而非护甲本体;附带约定「加护 = AC 判定层,护盾 = 保险丝那种吸收层,两者不得混用」),同样归改名小批——**注:D 改名连带 `smoke_all.gd:1199` 一条硬编码断言,必须同步改,否则冒烟红**。开工门(17 裁点清零)已满足 | | v0.4 | 2026-10-11 | **A 组定案落文(锻造工坊裁决会话,用户逐裁)**:①承载换代——营地四柜台并排(树淬炼/锻造工坊/秘宝匣/奖励格图鉴),攻防独立柜台、工作间内武器/护甲两区并列零顺序门槛、宽度不足滚动条兜底、程序占位视觉终稿归 HUD 营地批(A②A③);②生命档移除——生命强化唯一入口=树脊柱生命线,本工作间纯攻防(A①;实装边界①同步);③**攻防所有权切分**——攻击唯一入口=武器路线、AC 唯一入口=甲路线,树脊柱砍攻击/护甲两线、树零攻防来源(红线;树侧 29→21 落文归天赋树会话交接批);④树侧钥匙改无前置直接可点亮(原等级阈值前置随两线砍除作废);⑤注入衔接落文——锻造路线加值=当前武器攻击加值+当前甲 AC 加值,只按当前选中生效;⑥死条件 magic_vs_magic 复活案作废(D 组核结:魔网织者在素材库表二退役名单;2c 结案);⑦「道具工坊」退役词清除(承载节随 A② 改写一并换代为秘宝匣);⑧存档域改旧档废弃口径(开发阶段无迁移)。B 组 15 裁点挂起待用户发令 | +| v0.6 | 2026-10-12 | **完备性检查批(grilling 全库核查——现役代码事实/关联文档/引用一致性三路,用户逐条裁)**:①**现役事实基线换代**——`meta.tres` forge_products 行族已随迭代 21 T5 攻防所有权切分整体退役(行族/访问器/购买面三处退役登记),「改造现役行(吸收)」语义全线订正为「新建行族」(现役代码事实表/三件武器表/工作间清单/实装边界 1 五处);定价「现役参数沿用」改「历史考古参数(20 钥石/150% 公比,`meta.tres:82-84` 退役批注)、实装投值归 M4 从零标定」;②**两根类型轴所有权移交(用户裁)**——`attack_type`/`armor_type` 默认值归锻造工坊配置常驻持有、hero.tres 静态表两轴删除;选中态写存档域+冒险开始参数面注入(订正原「写 hero.tres 休眠轴」口径——与现役「表运行期只读」纪律 `meta_progression.gd:12-13/119` 及本文存档域条目双重冲突);默认值与柜台解锁状态解耦(未解锁=无交互入口但配置常驻可读,不存在读不到默认值的窗口);③**两处无依据表述订正删除**——「与秘宝解锁的混合制同构」(「同构」非本项目概念;与秘宝仅共享钥石单币+直购/条件解锁成分语义,通道结构不同:件级单通道分派 vs 同路线双通道并联)、「选长枪激活穿刺系专长的价值」(现役专长均为跨攻击类型通用件、不按 attack_type 分系,`feats.tres` 29 行实证,该表述无现役对应物);④货架坐标订正(CURIO_KINDS 实为 `adventure_table.gd:29` schema 常量、feat_ticket 为显式豁免种 5/6 命中)+ 改名小批执行态回写(已合入 master `0c93a71`/`0144f60`);⑤存档域预登记存档序列化.md(用户令:验收文档现在做、不等实装批);⑥联动落文:元进度.md「跨局注入」节补四层叠加公式(v1.4)、术语表.md 新增锻造工坊节、entities.yaml terminology 补词条+新建锻造工坊条目。**不在本批范围(呈报归属,谁的问题谁改)**:registry ac_up 显示名失同步(归改名小批 D 项)、「魔法甲」四处残留(敌人系统/美术三档,归 3a 裁执行面)、registry meta_table 条目 forge_products 滞后(归元进度线)、天赋树.md 状态行滞后、06 提案条标题旧名 | +| —— | 2026-10-12 | **同日续裁落文(不升版本)**:①**编入迭代 23**(用户令——roadmap 主线序列 + 06 实装批条状态同步;M4 数值批顺延迭代 24+);②实装边界 6 订正——敌方 attack_type 为敌方定义数据(enemy.tres/skills.tres 行级,与敌种名字/血量同批同时读写、无独立时序),「两批排期协商」句删除(用户 D 裁:时序问题不存在;本批只按 3b 裁落结构面);③存档域「合并评估」语境订正——forge_routes 独立成域已预登记,树批入库后无共域冲突(用户 C 裁:非裁点,06 实装批条同句订正);④A 项(未解锁时默认值读取路径)确认口径=配置表常驻持有、解锁只门控交互不门控读取,v0.6 正文已落此文 | diff --git a/design/gdd/术语表.md b/design/gdd/术语表.md index a93ef764..dfebcac0 100644 --- a/design/gdd/术语表.md +++ b/design/gdd/术语表.md @@ -43,6 +43,17 @@ | 效果格 / 代价格 | 秘宝设计骨架的两个轴:件改变玩家什么(信息/行动资源/操作能力)× 件怎么限制(获取/使用/装配代价)(见[秘宝](systems/跨局循环/秘宝.md)设计骨架) | | 档位 | 稀有度分级:普通/优秀/稀有(+传说,跨系统四级框架;秘宝传说位留空) | +## 锻造工坊 + +| 术语 | 定义 | +|---|---| +| 锻造工坊 | 营地四柜台之一:武器/护甲各三条锻造路线的升级与出场选择面,钥石单币消费(系统名 v0.3 由「武器锻造」更名;见[锻造工坊](systems/跨局循环/锻造工坊.md)) | +| 武器锻造区 / 护甲锻造区 | 锻造工坊工作间内两区,机制层面零顺序门槛(8a 裁定的区名) | +| 锻造路线 | 单件武器/单型甲的等级路线(每件独立等级、独立保留);行名统一「件名 + 锻造」= 长剑锻造 / 长枪锻造 / 法杖锻造、轻甲锻造 / 重甲锻造 / 魔法护甲锻造 | +| 魔法护甲 | 三型甲之一(= 现役甲域 ward,基础 AC 最低、被普通攻击克);「魔法甲」系笔误、非别名,不单独登记 | +| 并联双通道 | 待解锁路线的解锁结构:练满前一档 **OR** 一次性解锁价,两通道互不影响、玩家自选其一、不设串联门槛 | +| 出场选择 | 一次冒险 = 一个武器类型 + 一个甲型;营地内免费切换、冒险开始后锁死 | + ## 道具体系 | 术语 | 定义 | diff --git a/design/registry/entities.yaml b/design/registry/entities.yaml index 395c5edd..6d3beb71 100644 --- a/design/registry/entities.yaml +++ b/design/registry/entities.yaml @@ -277,7 +277,13 @@ entities: 关卡大奖励: 清完一关、进入下一关前的一次性兑付——上限提升 + 血回满 + 钥石入账三件构成,不进背包不占库存域;末关通关不兑付(冒险结构 首次定义;2026-09-17 代币→钥石统一拍板——原「代币记账」即钥石,同一资源两渠道:关卡大奖励入账与 Boss 掉落;game-concept"冒险内大奖励"的落地形态) 永久强化: 跨局成长资源的本作落地名——伴随存档生命周期、可用钥石在营地柜台换取的成长条目集合(元进度定稿批 2026-09-18 用户拍板定名;「元进度 / Meta Progression」保留为系统族名,「营地」为存档内消费枢纽的界面壳非机制实体;树形承载已随迭代 12 落地在役(33 节点,2026-10-04 合并 e780063)——系统正主 design/gdd/systems/跨局循环/天赋树.md,2026-09-18 定名批所退役的系旧归档线索同名概念、与现役树无关;首次定义 元进度 v1.0;本词条树侧口径 2026-10-09 用户令按最新换代) 秘宝匣: 营地三柜台之二——秘宝解锁与同调装配的承载柜台,树上解锁节点与柜台同名(2026-10-10 天赋树设计会话裁由「道具工坊」改名,旧名保留本条作检索别名;件的目录与效果正主 = 秘宝.md「目录(重设计 v1)」,柜台职责登记正主 = 元进度.md;首次定义 元进度 v1.0〔立柜名「道具工坊」〕,改名注记 元进度 v1.13) - referenced_by: [排雷玩法, 敌人系统, 地图战斗资源, 战斗结算, HUD框架, 秘宝, art-bible, game-concept, 关卡节点地图, 冒险结构, 关卡节点图生成] + 锻造工坊: 营地四柜台之三——武器/护甲各三条锻造路线的升级与出场选择面,钥石单币消费(系统名 2026-10-11 由「武器锻造」更名;锻造工坊.md 首次定义,v0.6 完备性检查批 2026-10-12 登记本条) + 武器锻造区/护甲锻造区: 锻造工坊工作间内两区,机制层面零顺序门槛(8a 裁定的区名;锻造工坊.md 首次定义) + 锻造路线: 单件武器/单型甲的等级路线(每件独立等级、独立保留、换当前件不丢进度);行名统一「件名+锻造」= 长剑锻造/长枪锻造/法杖锻造、轻甲锻造/重甲锻造/魔法护甲锻造(锻造工坊.md 首次定义) + 魔法护甲: 三型甲之一(= 现役甲域 ward,基础 AC 最低、被普通攻击克 +1);「魔法甲」系笔误、非别名,不单独登记(3a 裁;锻造工坊.md 首次定义) + 并联双通道: 待解锁路线的解锁结构——练满前一档 OR 一次性解锁价,两通道互不影响、玩家自选其一、不设串联门槛(4b-1 裁;锻造工坊.md 首次定义) + 出场选择: 一次冒险 = 一个武器类型 + 一个甲型;营地内免费切换、冒险开始后锁死(1a/1b/1c 裁;锻造工坊.md 首次定义) + referenced_by: [排雷玩法, 敌人系统, 地图战斗资源, 战斗结算, HUD框架, 秘宝, art-bible, game-concept, 关卡节点地图, 冒险结构, 关卡节点图生成, 锻造工坊] - name: enemy type: schema_data @@ -704,6 +710,21 @@ entities: 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: [元进度, 存档序列化, 数据配置] + - name: forge_workshop + type: system + owner: design/gdd/systems/跨局循环/锻造工坊.md + attributes: + kind: 营地四柜台之三(树「锻造工坊」钥匙节点 free 无前置、点亮展开;未点亮 = 锁定态但配置常驻可读——默认值与解锁状态解耦) + routes: 六条独立等级路线——武器区 长剑锻造(普通/初始)/长枪锻造(穿刺/待解锁)/法杖锻造(魔法/待解锁);护甲区 轻甲锻造(基础 AC10/初始)/重甲锻造(AC12/待解锁)/魔法护甲锻造(ward AC9/待解锁);行名统一「件名+锻造」(8a 裁) + unlock_channels: 并联双通道——练满前一档 OR 一次性解锁价,互不影响、不设串联门槛(4b-1 裁) + currency: 纯钥石单币(5b 裁;几何递增定价历史考古参数 = 20 钥石/150% 公比——forge_products 行族已随迭代 21 T5 退役、无现役计价字段可沿,实装投值归 M4) + selection: 一次冒险 = 一个武器类型 + 一个甲型(1a 裁);营地内免费切换、冒险开始后锁死(1b/1c 裁) + axis_ownership: attack_type/armor_type 默认值由锻造工坊配置常驻持有(默认值 = normal/light)、hero.tres 静态表两轴随实装删除;营地选中态写存档域、冒险开始经参数面注入(v0.6 订正——与现役「表运行期只读」纪律 meta_progression.gd:12-13/119 一致) + save_domain: forge_routes(计划 v7——三武器等级 + 三甲等级 + 当前选中标记;无特效域;旧档破坏性废弃归实装批;已预登记 存档序列化.md) + red_lines: 攻防所有权切分——攻击唯一入口 = 武器路线、AC 唯一入口 = 甲路线、树零攻防来源(契约 9 红线);局内无武器/护甲提升(货架三行 = 奇物属性件,现役显示名 攻击祝福/生命祝福/护甲祝福) + max_effect: 满级特效本期不做、只留扩展位(6 裁——不设计清单/不定值/不实装/不开参数位/存档不设特效域) + referenced_by: [元进度, 天赋树, 存档序列化, 术语表] + # 2026-09-09 奖励道具经济 full 评审修订批(owner=奖励道具经济 代用户修订,NEEDS REVISION 14 blocking 同日核销): # 新增 reward_config 条目(RewardConfigTable 单行全局——T_fog_min/K_dmg/N_draft/P_min 的 Rule 1 载体); # reward_table 增 display_name(九字段)+ 默认根行集登记 + direction_precheck(刀供给)+ 跨字段护栏两条 diff --git a/design/research/需求卡片-天赋树实装批-2026-10-11.md b/design/research/需求卡片-天赋树实装批-2026-10-11.md index 45f6e25f..d756d83d 100644 --- a/design/research/需求卡片-天赋树实装批-2026-10-11.md +++ b/design/research/需求卡片-天赋树实装批-2026-10-11.md @@ -107,7 +107,7 @@ - **危险直觉·守(标错返还行动点·每关限次)**:**按契约 12 落**——挂点 = `_judge_flag` else 分支内 **`_flag_miss_seen` 去重闸之后**(与 `:1131` 归因行同位),效果 `{"kind":"grant_ap","mode":"queue"}` ⇒ 走 `_pending_ap_delta`,**下一轮 `notify_round_start()` 才兑现**(先例「封印回响」`:756`)。**注意 `round_start` 面的 queue 是紧接着那次开轮兑现、且 payload 无标错信息,不可挂**;`round_end` payload 同样无标错信息,不可挂。需**扩 EVENTS 加一个标错事件**(L2 呈报)——**命名须避让已占用的 `flag_miss`**(`_emit_row` 的 source_class,`:1131` 战斗日志行),建议 `flag_missed`。换图 `_flag_miss_seen.clear()`(`:401`)后同坐标再插错会重触发 = 新板新算(合理态)。 - **限次承载(锋/守共用)**:**复用现成 `adventure_counters` + `domain:"adventure"`**(`effect_engine.gd:86-87/216-228`;seed/export/断点三件套现成,迭代 20 已入断点 `adventure_runner.gd:1245/:230-232`)⇒ **不新增存档域、不升 v7**(卡片 F7 那句「无跨战斗持久计数」仅对 `_counters` 成立,对冒险级已过时)。**缺口只有一处**:`domain:"adventure"` 是冒险级重置,而设计要求「**按关重置**」⇒ 需在**关卡切换点**(`adventure_runner.gd:1056` `_start_current_level()`)对限次 counter_id 做一次清零。生命周期四态(随冒险持久/按关重置/新冒险清零/断点保留)由此闭合。 - **财富之道·聚(战斗掉落 GP 增益)**:**乘算落在入账前**——`battle_orchestrator.gd:1470` `_roll_gp_drop()` 的 return 表达式内,使结算框「GP 增量」行显示的就是实得值(落在 `level_runner.gd:517` 之后则显示值与实得不符)。范围=**仅战斗掉落渠道**(不含三选一 GP 袋件、店内 escrow)。 - - **财富之道·散(GP 消费折价)**:**范围=只覆盖商品购买价格,不含刷新**(2026-10-12 用户裁:不是因为「避让在册旋钮」,而是**折扣的定义边界就是商品标价**——商店刷新价与三选一刷新价不在此列)。**键名须避让 `cost_mult`**(已被占用:`battle_orchestrator.gd:581` 是 `yield_mult` 的效果参数位,不是价格乘子),改用 **`gp_cost_mult`**。**GDD `天赋树.md:111` 那句「设计避让:不触碰商店刷新语义与 GP 换算两处在册旋钮」须改写**为定义边界口径(反哺点)。 + - **财富之道·散(GP 消费折价)**:**范围=只覆盖商品购买价格,不含刷新**(2026-10-12 用户裁:不是因为「避让在册旋钮」,而是**折扣的定义边界就是商品标价**——商店刷新价与三选一刷新价不在此列)。**实现选型=范围口径特判**(`level_runner._spend_discounted` 内 `_tree_rules.has("economy_spend")`,覆盖 legacy `current_price` + 池货架 `pool_price` 两处商品标价面),**不走效果引擎合成订阅、故无效果键名**——若将来改走合成订阅,则须避让已被 `yield_mult` 占用的 `cost_mult`(`battle_orchestrator.gd:585`)、另起 `gp_cost_mult`。**GDD `天赋树.md:111` 那句「设计避让:不触碰商店刷新语义与 GP 换算两处在册旋钮」须改写**为定义边界口径(反哺点)。 - tree_rule_keys 按激活态键集随新词表自然扩。**若需扩 EVENTS/FACTS/效果类型闭集→按契约 5 L2 呈报**(本批已预知两处:守侧 `flag_missed` 事件、姿态组 `battle_index` 事实)。 - **T4 注入换代与退役(≈1.0d)**:hero_override 换公式(树生命/命中淬炼 flat〔命中在账未注入〕+锻造路线加值位〔预留 0,随锻造工坊批填充〕);旧属性柜台退役(buy_forge 购买面下线+营地属性锻造柜台列移除+forge_flat 注入项移除);同调位槽位收编(槽位数量=树点亮节点数,Q2 裁甲——旧条件链删除);树上刷新升级购买写同账(Q1 裁乙——双入口并存,树上+秘宝匣装配段按钮都能买)。 - **T5 旧档废弃与旧逻辑删除(≈0.5d)**:①旧结构存档处理——加载检测到换代前结构(已删节点 id 残留)即废弃树域重置(开发阶段破坏性变更,Q3 用户裁),三体系迁移函数 `migrate_tree` 删除;**禁做数据迁移与折算,也禁为文档层增补任何豁免/例外条款**(契约 4)。②旧逻辑删除——forge_levels 旧柜台域清退;**生涯页三投影整行删**(`career_overlay.gd:26/69/89`「属性锻造」行 + `main.gd:1071-1073` `forge_total` 计算与 `:1082` `forge_levels_total` 键 + `生涯.md:43`「三柜台解锁完成度概览」行的三个数据源 `forge_level`/`workshop_status`/`tree_nodes` 全删——2026-10-12 用户裁:**生涯页不统计天赋树与账号成长态,只统计终身计数**);同调槽位旧条件链(条件表判定)退役;fork A/B 双行购买路径(tree_buy_fork 购侧激活语义)随单行双态换代。**保留**:`boss_kill_count` / `clear_count` 计数域(各有 5 处/2 处非槽位硬消费,见 T0⑥)。③文档同步——**只做 §5 机械面清单内已登记项**(含 `秘宝.md` 路径更正;`存档序列化.md` 按契约 4 **不更新**);**§5 之外另查到的 42 处旧表述不做清扫**(开发阶段口径 + 不做加法),版本历史行一律不动。 @@ -141,7 +141,7 @@ | V8 | §1②(彩蛋觉醒,原探针③升格) | 生命/命中两节点均 4 级拉满 且 同调位 1/2/3 全解锁→地脉共鸣自动点亮且零消费(钥石余额不动、不经购买);任一条件不满足不亮(任一节点未拉满=红、任一同调位未点亮=红)。反例:未满可手动购亮=红、觉醒扣币=红。**另加契约 9 落点断言**:`easter_ley` 行 effects 键集 ⊆ {max_hp, hit}——**含 atk 或 armor_class 即红**(现役 `meta_tree.tres:402/405` 带着这两个分量,换代必须摘除) | 冒烟。注入=save.set_tree_level 置两节点 cap4/点亮同调位→tree_buy 任一节点触发 _check_easter_egg(meta_progression.gd:304-312 换代判定)→断 tree_level("easter_ley")==1 且余额不变;effects 键集=直读表行断言 | 自动闸 | T2 | | V9 | §1③(Fork 一节点双态与切换,原探针②升格) | Fork 节点购买解锁(tree_nodes 入档 1 级、默认 A 态);零币切换(tree_toggle_fork)换态、切换后 tree_rule_keys==新激活态效果键;同态重复切换零操作(存档零变化);已解锁 Fork 重复购买=拒绝;未解锁 Fork 切换=拒绝 | 冒烟。注入=add_keystone→tree_buy_fork 解锁→tree_toggle_fork 换态→逐断解锁态/激活态/键集/余额 | 自动闸 | T2 | | V10 | §1③(Fork 六键真效果,原探针⑦升格) | 六键各一条正例+反例:先手压制=每关首轮 AP+1、第二轮不触发、第二关首轮窗口刷新再触发;稳健拓荒=首轮窗内受击出盾、窗外不出;锋=踩中危险格伤害减半·每关限次、限次耗尽全额、安全格不减(**伤害在结算战斗段末兑付**,挖到瞬间只有格子揭示、不扣血);**守=按契约 12 五场景断言(失误补偿,2026-10-12 用户裁)**:①当回合标错且结算时旗仍在场→**下一轮** AP+N(本轮 AP 逐位零变化);②当回合标错但随后挖开该格→结算**不触发**;③之前回合标错、本回合无新标错动作→**不触发**(旗仍在场也不返);④同一格标错**最多返还一次**;⑤末轮(战斗结束轮)标错→**不返、合法作废**。聚=战斗掉落 GP 乘算,三选一 GP 袋件/店内 escrow 等非战斗掉落渠道不乘(范围仅此渠道),**乘算落在入账前——结算框「GP 增量」显示实得值**;散=GP 消费折价 `gp_cost_mult`,**只覆盖商品购买价格——商店刷新价与三选一刷新价不折**(反例:刷新价被折=红;键名不得复用已被 `yield_mult` 占用的 `cost_mult`)。限次计数生命周期四态各一断言(随冒险持久/按关重置/新冒险清零/断点保留) | 冒烟+单元。注入=直构 tree_rules 键集数组直调 EffectEngine.rebuild(effect_engine.gd:73-101 合成订阅面)+dispatch 发射事件;限次=复用 `adventure_counters`+`domain:"adventure"`(**不新增存档域、不升 v7**),直调 counter_add/counter_spend 置关卡域计数后走事件路径断计数值,**按关重置=在 `adventure_runner.gd:1056` `_start_current_level()` 断清零点**;守侧五场景=直构 flag_judged 序列经 `_settle()` 授予段注入,断 `_pending_ap_delta` 与下一轮 `notify_round_start()` 后的 AP | 自动闸 | T3 | -| V11 | 契约 5(效果类型闭集不加新词) | 六键效果全部走现有 24 效果类型+既有事实/参数词表组合:合成订阅行的 on/when/do 键全部落在 EVENTS/FACTS/OPS/EFFECT_KINDS/DO_KEYS 在册词表内(validate_trigger_row 零违例);若实现需扩闭集=L2 呈报留痕,本条断言以在册词表为准转红 | 单元测试。注入=直构六键合成订阅行调 EffectEngine.validate_trigger_row(effect_engine.gd:272-314)断零违例 | 自动闸 | T3 | +| V11 | 契约 5(效果类型闭集不加新词) | **四键合成订阅行**(开局姿态 2 + 危险直觉 2)的 on/when/do 键全部落在 EVENTS/FACTS/OPS/EFFECT_KINDS/DO_KEYS 在册词表内(validate_trigger_row 零违例);**聚/散两键无合成订阅行**——实现为范围口径特判(`level_runner._spend_discounted` / `battle_orchestrator._roll_gp_drop` 内 `tree_rules.has(...)`),其验收归 V10 范围断言(含反例:刷新价被折=红)。**断言须显式登记聚散两键「无行可验」并断其确实无合成行,禁空跑冒充覆盖**〔v1.7 修正:原表述「六键」与 T3「rebuild 扩四合成订阅行」矛盾,导致 `tree_rules_v11_test.gd` 的 `synth` 字典缺聚散两项、`synth.get(key, [])` 返回空数组使循环静默跳过——测试全绿但实际只覆盖四键〕。若实现需扩闭集=L2 呈报留痕,本条断言以在册词表为准转红 | 单元测试。注入=直构四键合成订阅行调 EffectEngine.validate_trigger_row(effect_engine.gd:272-314)断零违例;另断 `economy_hoard`/`economy_spend` 在合成订阅段无行(防空跑) | 自动闸 | T3 | | V12 | §1①(注入公式换代,原探针⑤升格) | hero_override 逐字段对拍=树淬炼 flat(生命线注入——Σ 节点 effects×等级;命中线在账未注入)+锻造路线加值位(本批预留 0)+局内加算区;forge_flat 旧项退役后不再出现在公式(旧「买 atk 1 级→override==行 flat」断言摘除,见 V20);开局 runner effective_atk/max_hp/ac==表值+override 各轴逐位;全新存档(树全零)override 全零=白板 | 冒烟+单元。注入=save.set_tree_level 置脊柱节点等级→直读 hero_override 手算对拍→start_adventure 带 override 断首战读数 | 自动闸 | T4 | | V13 | 契约 6(命中线不注入) | 命中淬炼节点购若干级→hero_override 无 hit 字段位移、effective 面零命中变化(命中等级在账不入注入面——消费面归数值批) | 冒烟。注入=save.set_tree_level 置命中线等级→断 override 与首战读数与零购基线逐位一致 | 自动闸 | T4 | | V14 | §1①(同调位槽位收编,Q2 裁甲) | 槽位数量=树上同调位节点点亮数:点亮 n 个→Attunement.slots 读数==n、未点亮=0;旧条件(按击杀 Boss 次数/通关次数自动涨)判定链删除后 clear_count/boss_kill_count 计数不再进槽位判定(attunement_growth 表与访问器的去留随 T0⑥ boss_kill_count 消费面核查结论,本条断言主语=槽位判定源只剩树点亮态) | 冒烟。注入=save.set_tree_level 逐个点亮 att_socket1..3→Attunement.slots 读数阶梯断言 | 自动闸 | T4 | diff --git a/roadmap.md b/roadmap.md index 64961812..6f06a6fe 100644 --- a/roadmap.md +++ b/roadmap.md @@ -24,8 +24,8 @@ ## 当前位置(2026-10-11 刷新) - **里程碑语义(2026-10-09 立规换代,详见下方里程碑表的换代注)**:现行里程碑 = **M3「Alpha 版本的完整实现」**——用户未明令宣布完成前停留 M3,迭代只排 M3 需求;M4=Beta 版本的完整实现,一律不排期。下文里程碑表的旧编号(M-3/M-4)保留作历史序列,语义以本节为准。 -- **迭代进度**:迭代 19 五卡全部已入库(2026-10-08);**迭代 20=专长实装批 ✅ 已入库**(2026-10-11,出口闸全绿;残留人闸=实机目检五件+V20/V21/V22 人工核对半,07 在册);**迭代 21=天赋树实装批 ✅ 已入库(2026-10-12 U0 开工单会话交付,T0-T7 全绿;残留人闸=实机目检四柜台)**;**迭代 22=秘宝体系实现重构落地批已编入**(卡片 v1.2 零待裁),**开工门=U0 发令**(原「规划冻结维持」句已由 2026-10-11 编入令取代)。 -- **近期主战场**:迭代 20 残留人闸(实机目检五件+V20/V21/V22 人工核对半);**下一前沿=迭代 21 天赋树实装批(卡片 v1.7 已就绪)、迭代 22 秘宝实装批,均待 U0 发令**;锻造工坊实装批设计面已收口(v0.5,17 裁点门已满足)待发令。 +- **迭代进度**:迭代 19 五卡全部已入库(2026-10-08);**迭代 20=专长实装批 ✅ 已入库**(2026-10-11,出口闸全绿;残留人闸=实机目检五件+V20/V21/V22 人工核对半,07 在册);**迭代 21=天赋树实装批 ✅ 已入库(2026-10-12 U0 开工单会话交付,T0-T7 全绿;残留人闸=实机目检四柜台)**;**迭代 22=秘宝体系实现重构落地批已编入**(卡片 v1.2 零待裁),**开工门=U0 发令**(原「规划冻结维持」句已由 2026-10-11 编入令取代);**迭代 23=锻造工坊实装批已编入**(2026-10-12 用户令——设计面 v0.6 就绪〔17 裁点清零+完备性检查批,commit f5215c7〕,开工门=U0 发令);**迭代 24+**=M4 数值批(Alpha 收官位·未排期——用户令 2026-10-07:后续新迭代一律不先做 M4)。 +- **近期主战场**:迭代 20 残留人闸(实机目检五件+V20/V21/V22 人工核对半);**下一前沿=迭代 22 秘宝实装批、迭代 23 锻造工坊实装批,均待 U0 发令**;锻造工坊实装批已编入迭代 23(设计面 v0.6:17 裁点清零+完备性检查批〔现役基线换代/两轴所有权移交/术语登记完毕〕)。 - **实时状态**:以根目录 [active.md](active.md) 顶部「当前状态快照」节为准(`stage.txt` 已定性为旧阶段开关,仅存档)。 ## 主线路线(里程碑 × 迭代序列) @@ -79,6 +79,8 @@ | 迭代 21 | **天赋树实装批(2026-10-11 用户令编入——整卡不切分,迭代容量放宽容纳全卡)**:按 [天赋树](design/gdd/systems/跨局循环/天赋树.md) **v0.8** 设计权威文档实装——**33→12 节点**结构换代(三轮换代:攻防所有权切分 29→21〔树零攻防来源=红线,攻/AC 唯一入口=锻造工坊路线〕/一线一节点 21→15〔生命·命中淬炼各一节点×4 级、row 字段退役〕/Fork 一节点双态 15→12〔开局姿态·危险直觉·财富之道三组各一节点、购买解锁后 A/B 零币切换〕;schema=Fork 词表 4→3 组/规则键词表 2→6 键、「等级阈值前置」形态去留=R1 开放待裁点〔推荐裁撤,**不阻开工门**〕)+三组 Fork 真效果(开局姿态每关首轮窗/危险直觉与财富之道·限次计数随冒险持久按关重置)+营地统一案甲(树=营地主界面/属性升级唯一入口/工作间钥匙模型/图鉴常开/占位面板零副作用硬要求)+注入公式换代(基础值+树淬炼+锻造路线加值位预留+局内加算)+旧属性柜台退役+旧档废弃与旧逻辑删除(开发阶段无迁移,Q3 裁决)+同调位槽位判定源切树节点(旧条件删除随批清扫)+树上刷新升级接线(双入口并存写同账)。需求卡片=design/research/需求卡片-天赋树实装批-2026-10-11.md(**v1.7**——grilling 五裁+歧义扫描六裁+**2026-10-12 完备性/跨系统歧义审查十一裁**全落;零阻塞待裁点);锻造工坊(原「武器锻造」)**17 裁点已清零**(2026-10-12 逐裁落文 v0.5,06 在册),Q5 排期前置已满足、默认本批先行;T0 的「标错机制存在性」与「boss_kill_count 消费面」两项**已预查结案**(标错机制查实存在且有代价,守侧 contingency 作废) | ✅ **已入库(2026-10-12,/goal+iter U0 开工令——T0-T7 全量交付;R1 按既定默认裁撤案执行;实现报告=design/qa/iter21-实现报告-2026-10-12.md;残留人闸=实机目检营地四柜台〔07 在册〕)** | T0-T7≈7.0-8.0d(整卡单迭代——实际 2026-10-12 单会话交付) | | 迭代 22 | **秘宝体系实现重构落地批**——需求卡片=design/research/需求卡片-秘宝体系实现重构落地批-2026-10-11.md(v1.3 C1-C6 全裁);**2026-10-11 用户令编入**:新目录 12 件实装+解锁混合制(逐件分配锁定表在卡)+装配不可变(冒险中零更换)+旧数据行清理+效果引擎接入;槽位来源不在本批(树接口接缝——迭代 21 已实装树点亮数槽位源,本批直接消费)+装配档位格约束;估时 6d(区间 5-7d)——**✅ 已入库(2026-10-12,/goal+iter U0 开工单会话交付:T1 数据层 12 行换代+schema 扩签/T2 解锁服务+工坊面退役+档位格约束/T3 效果引擎接入+扩签+常时参数面+试炼镐积点口+充能周期/T4 呈现换代+呈现桥+试炼镐 HUD 入口/T5 替换子交互拆除+库存保留注记/T6 验收闸断言;冒烟 898/0+run_all 22 套+重闸全绿;实现报告=design/qa/iter22-实现报告-2026-10-12.md;残留人闸=实机目检秘宝解锁-装配正常流程〔07 ㉑〕)** | 迭代 23+ | **M4 数值批(**原 22+;迭代 21 已编入天赋树实装批、迭代 22 已编入秘宝实装批,均 2026-10-11 用户令**——**Alpha 收官位·未排期**〔2026-10-09 语义换代:M4=Beta 阶段、非 Alpha 收官位,M3 未由用户明令关闭前不排期维持〕——2026-10-05 用户令编入迭代 17 卡②;2026-10-06 用户令移出独立成批并定序「Alpha 阶段最后——内容补全先行、统一数值调整殿后」〔当日曾被编入迭代 18 为收官卡,2026-10-07 用户令撤回〕;**2026-10-07 用户令二次后移:后续新迭代(迭代 20 起)一律不先做 M4,除非用户明确要求启动 M4 批次**)**:四件数值欠账合一批——①削弱档位终值(weaken 现值 −65/duration 2/refresh 考证在册;叠层改续时语义已定案,差 duration 终值+当量锚复算)②调参批数值点评(06 条目现行登记五条——任务口径「八条」与条目五条不符,需求卡片 §2.2 已呈报差异以条目为准)③迭代 10 奖励重构联动欠账①②(钥石产出重标 boss_keystone 首杀 3/3/3·复杀 2/2/3 provisional + 通关率带重扫〔通关回血 20%+AP 件首轮 +1〕)④元进度定价剩余面(forge base 20/比 150 考证在册——06 条目文本「base 10」滞后于 2026-09-22 对齿批已呈报;Boss 两档终值)。读数义务随批=迭代 14 两件后置复算(T6 MC 四带复算+T7 技能池节奏重测,均挂 07);顺路修复 damage_probe A1 改前既有红灯(判式换代批出口报告 §四.7 在册)。**硬约束:一切 MC/verifier 跑批发起前须用户批准;调参联动禁独立调参网络(β 带 [1.2,2.5] 逐 u 检算)**。需求卡片=`design/research/需求卡片-M4数值批-2026-10-05.md`(**v1.2 2026-10-06 案C 增补+联审修订**:v1.1 三事实与第五推算件照旧;联审=P3 转正顺延至重扫读数后/检算工具 WEAKEN_PCT 入同步面/F11 两句死文本全刷/T3·T5 四带复算并账一次跑批双认账/R5 改前锚=本批新立案C 锚/估时段一勘误 4.25d;案C 增补内容照旧=§2.6 三事实〔行为换代/锚全作废/难度预判〕+T0 推算稿第五件=对拍锚按新序重推导+T6 四带复算按案C 新行为首采;T0-T8≈6.25d,天然切分点 T4 末;🔴 契约 5 条含跑批批准制;**✅ 裁点全裁(2026-10-06 用户令:P1甲=维持 2 场·magnitude [60,85] 带内当量锚复算、具体值随出口 provisional 追认/P2甲 不对称有意/P3甲 3-3-3·2-2-3 维持、转正顺延至重扫读数到账且带内(Q4 二裁)/P4甲 不立直购价);开工=U0**) | 迭代 18 全部内容卡(③④⑤⑦)出口+全部内容批行为变更落定+**用户发令(未排期)**——重锚窗口须收尽全部内容批行为变更 | T0-T8≈6.25d(超软盒预挂,段一 T0-T4≈4.25d〔v1.2 勘误,原 4.5 系加总错误〕/段二 T5-T8≈2.0d) | +| 迭代 23 | **锻造工坊实装批(2026-10-12 用户令编入——设计面 v0.6 就绪)**:按 [锻造工坊](design/gdd/systems/跨局循环/锻造工坊.md) **v0.6** 设计权威文档实装——迁移面:①新建锻造路线行族(现役 `meta.tres` forge_products 已随迭代 21 T5 退役、无改造对象;钥石定价历史考古 20/150%、投值归 M4)②两根类型轴所有权移交(默认值归锻造工坊配置常驻持有、hero.tres 静态表两轴删除、选中态写存档域+冒险开始参数面注入)③存档域 forge_routes(已预登记存档序列化.md v7 计划行)④满级特效本期不实装(只留扩展位)⑤敌方 attack_type 填值归敌人系统/战斗结算侧(非本批——敌方定义数据、与名字血量同时读写、无独立时序)⑥术语登记(v0.6 已做完:术语表+registry)⑦数值验证义务=改前/改后同种子配对读数。解锁通道=并联双通道;一次冒险=一武器类型+一甲型。开工门=U0 发令 | 已编入待 U0 发令(设计面 v0.6:17 裁点清零+完备性检查批,commit f5215c7) | 估时随需求卡片立项 | +| 迭代 24+ | **M4 数值批(**原 22+;迭代 21 已编入天赋树实装批、迭代 22 已编入秘宝实装批(均 2026-10-11 用户令)、迭代 23 已编入锻造工坊实装批(2026-10-12 用户令)**——**Alpha 收官位·未排期**〔2026-10-09 语义换代:M4=Beta 阶段、非 Alpha 收官位,M3 未由用户明令关闭前不排期维持〕——2026-10-05 用户令编入迭代 17 卡②;2026-10-06 用户令移出独立成批并定序「Alpha 阶段最后——内容补全先行、统一数值调整殿后」〔当日曾被编入迭代 18 为收官卡,2026-10-07 用户令撤回〕;**2026-10-07 用户令二次后移:后续新迭代(迭代 20 起)一律不先做 M4,除非用户明确要求启动 M4 批次**)**:四件数值欠账合一批——①削弱档位终值(weaken 现值 −65/duration 2/refresh 考证在册;叠层改续时语义已定案,差 duration 终值+当量锚复算)②调参批数值点评(06 条目现行登记五条——任务口径「八条」与条目五条不符,需求卡片 §2.2 已呈报差异以条目为准)③迭代 10 奖励重构联动欠账①②(钥石产出重标 boss_keystone 首杀 3/3/3·复杀 2/2/3 provisional + 通关率带重扫〔通关回血 20%+AP 件首轮 +1〕)④元进度定价剩余面(forge base 20/比 150 考证在册——06 条目文本「base 10」滞后于 2026-09-22 对齿批已呈报;Boss 两档终值)。读数义务随批=迭代 14 两件后置复算(T6 MC 四带复算+T7 技能池节奏重测,均挂 07);顺路修复 damage_probe A1 改前既有红灯(判式换代批出口报告 §四.7 在册)。**硬约束:一切 MC/verifier 跑批发起前须用户批准;调参联动禁独立调参网络(β 带 [1.2,2.5] 逐 u 检算)**。需求卡片=`design/research/需求卡片-M4数值批-2026-10-05.md`(**v1.2 2026-10-06 案C 增补+联审修订**:v1.1 三事实与第五推算件照旧;联审=P3 转正顺延至重扫读数后/检算工具 WEAKEN_PCT 入同步面/F11 两句死文本全刷/T3·T5 四带复算并账一次跑批双认账/R5 改前锚=本批新立案C 锚/估时段一勘误 4.25d;案C 增补内容照旧=§2.6 三事实〔行为换代/锚全作废/难度预判〕+T0 推算稿第五件=对拍锚按新序重推导+T6 四带复算按案C 新行为首采;T0-T8≈6.25d,天然切分点 T4 末;🔴 契约 5 条含跑批批准制;**✅ 裁点全裁(2026-10-06 用户令:P1甲=维持 2 场·magnitude [60,85] 带内当量锚复算、具体值随出口 provisional 追认/P2甲 不对称有意/P3甲 3-3-3·2-2-3 维持、转正顺延至重扫读数到账且带内(Q4 二裁)/P4甲 不立直购价);开工=U0**) | 迭代 18 全部内容卡(③④⑤⑦)出口+全部内容批行为变更落定+**用户发令(未排期)**——重锚窗口须收尽全部内容批行为变更 | T0-T8≈6.25d(超软盒预挂,段一 T0-T4≈4.25d〔v1.2 勘误,原 4.5 系加总错误〕/段二 T5-T8≈2.0d) | ## 执行纪律(2026-09-27 用户立规)