diff --git a/design/gdd/06-待办清单.md b/design/gdd/06-待办清单.md index fcc23f9d..8c77f208 100644 --- a/design/gdd/06-待办清单.md +++ b/design/gdd/06-待办清单.md @@ -116,7 +116,7 @@ **归属**:待提案批定(候选=[奇物](systems/冒险循环/奇物.md) 属性值提升分类修订 + [战斗结算](systems/战斗循环/战斗结算.md) 攻击类型轴 + [元进度](systems/跨局循环/元进度.md) 营地柜台锻造经济) -**状态**:已立项设计提案批=roadmap 迭代 18 卡③(2026-10-06 用户令;纯文档零代码,裁点呈用户裁决,实装批另行立项;数值框架 provisional 终值归 Alpha 收官 M4 数值批统一调整〔未排期〕) +**状态**:已立项设计提案批=roadmap 迭代 18 卡③(2026-10-06 用户令;纯文档零代码,裁点呈用户裁决,实装批另行立项;数值框架 provisional 终值归 Alpha 收官 M4 数值批统一调整〔未排期〕)。提案已落盘 design/research/提案-武器锻造系统-2026-10-07.md,待用户盘问裁决(17 裁点全备选案并列,推荐案与淘汰依据随文;异步不阻塞收口) #### 内部分类禁写入玩家可见面——奇物呈现三处违规待改(2026-10-04 用户立意登记) diff --git a/design/qa/iter18-forge-exit-report-2026-10-07.md b/design/qa/iter18-forge-exit-report-2026-10-07.md new file mode 100644 index 00000000..a6695cba --- /dev/null +++ b/design/qa/iter18-forge-exit-report-2026-10-07.md @@ -0,0 +1,72 @@ +# 迭代 18 卡③出口报告:武器锻造系统设计提案批(2026-10-07) + +> worktree `g-plan2-iter18-forge`(分支 iter18-forge,基线 adadf56)。纯文档批:零代码、零数据表改动、零游戏测试(冒烟/探针/MC 全部未跑——测试执行两入口铁规)。本报告是中间文档,按吸收即死条款在迭代出口随批退役;台账条目与快照草稿在本文件第五、六节,由主控转记 active.md(本批未触碰 active.md)。 + +## 一、提交清单 + +| hash | 内容 | +|---|---| +| 42e9f5d | ③T1: 武器锻造系统设计提案成文——八节框架全齐+原案三条逐条对照+17 裁点全备选案并列+数值 provisional 量纲锚点 | +| 6b0fdcf | ③收口: 06「武器锻造系统」专条状态追加提案落盘句 + roadmap 卡③行状态列换代「提案已成文交付待盘问裁决(异步不阻塞)」 | + +交付物: +- **提案正文**:`design/research/提案-武器锻造系统-2026-10-07.md`(311 行,待用户盘问裁决) +- 收口两处:`design/gdd/06-待办清单.md`(专条状态行追加)、`roadmap.md`(第 71 行状态列) + +## 二、闸读数(改前基线 → 改后对拍,四闸全部零新增违例) + +| 闸 | 基线(adadf56) | 改后(6b0fdcf) | 判定 | +|---|---|---|---| +| doc_link_audit(--known tools/doc_link_known.txt) | 扫描 41 文件 · 链接 1005 处 · 死链 4 处 · 已知死链 0 处 | 同左(41/1005/4/0,同一批存量:06 两条+奇物两条,均 .zcode/plans、archive、ux 目标类假红在册) | 零新增 | +| gdd_lint | 8 文件 · 2 不通过(06-待办清单.md、07-体验验证清单.md,存量表格占比/R3/R4/R7) | 同左(同两文件同款存量) | 零新增 | +| doc_term_audit | 41 文件 · 命中 219 处 · 疑似现行 3 处(heavy_multiplier/可选类道具/拔旗,全存量留档类判定) | 同左(41/219/3) | 零新增 | +| repo_structure_audit(熵增闸) | 违例 1 处(design/diagrams 子目录越界——迭代 17 存量移交项,主区同红) | 同左(1 处,同一项) | 零新增 | + +本批新增文件(design/research/提案、design/qa/本报告)均不在三闸扫描域(扫描域=design/gdd、design/registry、design/ux);唯一被扫域改动是 06-待办清单.md 状态行一句话,四闸读数逐位持平。 + +## 三、完成定义自证(任务书 §1.2 五条逐条判定) + +| # | 完成定义 | 判定 | 证据 | +|---|---|---|---| +| 1 | 提案文档落 design/research/(命名 提案-武器锻造系统-2026-10-XX.md),§5 框架八节齐全 | **达成** | `design/research/提案-武器锻造系统-2026-10-07.md`,章节 三~十=八节框架(武器实体化/攻击类型轴/护甲实体化/成长曲线/经济与解锁/满级特效/数值框架/迁移面与裁点汇总),另有 〇 原案对照、一 事实基准、二 范围红线三节前置 | +| 2 | 全部现役事实引用可溯(file:line/表行),零凭空断言 | **达成** | T0 逐条复核过(meta.tres:7-25 / shop.tres:36-57,68-94,107-109 / config_db.gd:329-334 / hero.tres:8-11,21-27 / hero_table.gd:12-13 / settlement.tres:31-47,50-52,74 / enemy_table.gd:110-113 / enemy.tres 21 行 armor_type 分布 light×14/heavy×4/ward×1 逐行核对 / feats.tres:29-31,47-49,205-207 / battle_orchestrator.gd:172,830,846-854,1155,1294 / damage_controller.gd:19,513 / effect_engine.gd:28-35;正主文档对读=战斗结算/敌人系统/元进度/奇物/冒险结构五份)。任务书 §2 六事实(F1-F5+F6)全部验证一致,**无 S1 失真、未触发停机** | +| 3 | 每个设计裁点呈全备选案(含淘汰依据+各自代价) | **达成** | 17 个裁点(1/1a/1b/1c/2a/2b/2c/3a/3b/3c/4a/4b/5a/5b-1/5c/6/8a)全部甲乙丙(或甲乙)并列,逐案带淘汰依据与代价;推荐列显式标注为提案立场非打包方案;第八节(特效深度)在节内补三案并列块 | +| 4 | 数值只给框架与量纲(provisional),终值显式标注归 Alpha 收官 M4 数值批 | **达成** | 第九节专表:七行量纲锚点全部标 provisional+归宿 M4;第三节基础 AC 锚点、第七节定价/cap、第八节特效值同口径;全文零投值承诺(第九节总承诺+红线 1) | +| 5 | 06 专条与 roadmap 卡③行状态随批换代 | **达成** | 06 专条状态行追加提案落盘句(6b0fdcf);roadmap 第 71 行状态列=「🔨 提案已成文交付(2026-10-07)待盘问裁决(异步不阻塞)」(6b0fdcf) | + +## 四、全裁点一览表(T2 转呈用户盘问用——每裁点一行备选案摘要) + +| # | 裁点 | 备选案摘要 | 提案推荐 | +|---|---|---|---| +| 1 | 武器实体化程度 | 甲=纯升级路线(攻击锻造改名+类型标签,最省但差异化感知最弱)/乙=武器槽实体(装备+库存,感知最强但单开实体系统超诉求、不可逆)/丙=当前武器单选+每件独立等级与特效(中点、两向可逆) | 丙 | +| 1a | 携带数 | 单持 / 多持轮换(收益被穿刺弹/魔法矢直伤件承载、战斗内换械动行动经济) | 单持 | +| 1b | 换械时机 | 营地内 / 战斗中(结算管线无"中途改类型"位;与"克制归冒险前配型"既有定稿一致) | 营地内 | +| 1c | 换械收费 | 免费 / 小额收费(收费惩罚构筑尝试,逆 F6 诉求) | 免费 | +| 2a | 类型轴共存 | 叠加(武器类型与格面直伤件独立、共用一张矩阵)/替代(接管,强耦合+砍内容池)/互斥(同类型件不出现,无依据收窄) | 叠加 | +| 2b | 矩阵扩维 | 不扩(九格结构冻结,武器三型正好映射)/加第四甲型(矩阵 4×3 全链成本) | 不扩 | +| 2c | 死条件 magic_vs_magic | 删行(有先例)/保留+注记(零代码但废卡占池)/改值复活 magic_vs_ward(一行 value,L2 Boss 战专长;行为变更归实装批配测试) | 丙(执行归实装批) | +| 3a | 甲域定名 | 魔法甲=ward(现役第三型中文正名即"魔法护甲",零扩域)/新造第四甲域(全链成本、无可感知差异点) | 甲 | +| 3b | 甲型可感面 | 基础 AC 差异先行+克制反向留结构位(敌方攻击无类型不查矩阵=克制反向现行无数值效果,显式收窄)/等敌方攻击类型批捆绑(无限期推迟原案诉求) | 甲 | +| 3c | 护甲升级结构 | 每型独立路线(逐句对齐原案)/单轨+甲型当门槛(表达不了三型各异基础 AC) | 甲 | +| 4a | 成长曲线形状 | 前缓后陡(正面回应 F6)/线性(现役状,零呼应)/阶梯(体感跳跃、调参空间最小) | 甲(只锁方向,值归 M4) | +| 4b | 解锁节奏 | 锻造内自闭环(原案精神)/绑关卡进度(与营地定位冲突、首局绑死剑) | 甲 | +| 5a | 柜台承载 | 就地改造属性锻造柜台(攻击/护甲行改造、生命行保留)/新第四柜台(拆剩一行、界面重排、"锻"字三处更乱)/塞道具工坊(货币与职责不同源) | 甲 | +| 5b-1 | 货币 | 纯金币(同现役攻击锻造)/金币+钥石(解锁被 Boss 掉落绑死)/纯钥石(与"攻击力提升改造"相逆) | 纯金币 | +| 5c | 材料经济 | 纯金币(零新经济面,原案未提材料)/金币+材料(grant_material 账号层化=新存档域+同名混淆)/纯材料(脱钩金币经济,实装最大) | 纯金币 | +| 6 | 满级特效深度 | 全复用现役效果类型(零代码但表现力受限)/复用为主+三条新参数位(暴击面/折扣档/护盾量,实装批小改)/引入新效果类型(引擎闭集高代价变更,无候选真需要) | 乙 | +| 8a | 货架现名 | 保留"攻击锻升" / 改"训练·攻击"式中性名(防与营地"武器锻造"品牌混淆;呈现面归实装批) | 随实装批呈现细节定 | + +配比预设挂起批边界注记(裁点 5d,非呈裁项):A4 配比预设批 2026-10-05 挂起冻结维持,提案不预设其重启口径;实装落地后该批若重启,其任务书须核对预算包络×武器类型、容量柜台竞争两处交汇面。 + +## 五、active.md 台账条目草稿(主控转记用,完整白话句) + +- 迭代 18 卡③(武器锻造系统设计提案批)当日完成:T0 把任务书 §2 的六条现状事实逐条回到代码与数据表复核(营地锻造行、商店货架行族、主角攻击类型轴与甲型轴、克制矩阵九格、专长死条件、敌方装甲分布、效果引擎词表),全部与任务书一致,没有触发事实失真停机。T1 把用户 playnote 的武器锻造三条原案写成设计提案(design/research/提案-武器锻造系统-2026-10-07.md,提交 42e9f5d):提案对原案三条的关系逐条写明(剑=放大、长枪法杖=放大且直接启用代码里已登记的休眠类型轴、护甲=克制反向一处显式收窄+基础 AC 各异承接);共 17 个设计裁点全部甲乙丙并列给出淘汰依据与代价,推荐=武器做"当前武器单选+每件独立等级与特效"的折中形态、类型轴与棋盘直伤件叠加共存、魔法甲直接对应现役"魔法护甲(ward)"不扩矩阵、甲型差异先行以基础 AC 表达、成长曲线前缓后陡、就地改造营地属性锻造柜台、纯金币不引入材料、满级特效复用现役效果引擎词表为主;另发现专长里 magic_vs_magic 条件在现行甲型域下永不触发(废卡),给了删行/注记/改值复活三案(推荐改成 magic_vs_ward 变成 Boss 战专长,执行归实装批)。全部数值只有量纲和锚点,终值归 Alpha 收官 M4 数值批。收口改了 06-待办清单「武器锻造系统」专条状态行和 roadmap 卡③行状态列(提交 6b0fdcf)。四道文档闸与目录结构闸改前改后读数逐位持平,零新增违例。提案现在等用户盘问裁决,裁决异步进行不阻塞迭代 18 收尾;裁决通过后实装批另行立项。 + +## 六、active.md 当前状态快照草稿(主控转记用) + +> 迭代 18 卡③(武器锻造系统设计提案批,worktree g-plan2-iter18-forge 分支 iter18-forge 基线 adadf56)**已完成待合并**:纯文档零代码零测试,两提交 42e9f5d(提案成文)+6b0fdcf(06 专条+roadmap 卡③行状态换代)。产物=design/research/提案-武器锻造系统-2026-10-07.md(17 裁点全备选案,推荐案随文)。闸=doc 三闸+熵增闸改前改后逐位持平零新增(死链 4/失效 lint 存量 2 文件/退役词疑似 3/结构越界 1,全为基线存量)。**待办=①用户盘问裁决提案(异步,T2 人闸;裁决结果由后续批回写 06 专条与 roadmap)②合并落 master(主控统一执行)。** active.md 本批未触碰(台账与快照草稿见出口报告第五、六节,design/qa/iter18-forge-exit-report-2026-10-07.md)。 + +## 七、停机点与遗留 + +- **停机点:无。** T0 未发现任务书 §2 事实失真(S1 未触发);本批无机制卡点。 +- 遗留(非本批义务,均已显式登记):①T2 人闸=提案盘问裁决,异步进行,轮次扩展估时另计(任务书 §6:每轮追加约 0.25d);②实装批另行立项,以本提案+裁决记录为任务书输入;③magic_vs_magic 死条件处置归实装批;④design/diagrams 目录越界为迭代 17 移交存量,主区同红,非本批引入。 diff --git a/design/research/提案-武器锻造系统-2026-10-07.md b/design/research/提案-武器锻造系统-2026-10-07.md new file mode 100644 index 00000000..2564e4ea --- /dev/null +++ b/design/research/提案-武器锻造系统-2026-10-07.md @@ -0,0 +1,311 @@ +# 提案:武器锻造系统(2026-10-07)· 设计提案待裁决稿 + +> **这是什么**:把用户的武器锻造想法写成一份可以逐点拍板的设计提案。本文件只做设计,不写代码、不改数据表、不占排期——每一个设计分岔点都把全部备选方案(甲/乙/丙)并排列出,附淘汰理由与各自代价,交用户盘问裁决。裁决通过后,实装另立批次走完整流程。 +> **想法来源**:用户 2026-10-06 手记(`design/research/playnote.md` 第 14-23 行),已登记 [06-待办清单](../gdd/06-待办清单.md)「武器锻造系统」专条。 +> **状态**:待用户盘问裁决。文中所有数值只有量纲和参考锚点,全部标注 provisional,终值归 Alpha 收官 M4 数值批统一调整(该批未排期)。 + +--- + +## 〇、用户原案逐条对照(提案与原案的关系显式化) + +先引原案原文,再说明本提案对每一条是放大、收窄还是替代。**不静默改案**。 + +**原案一(playnote.md:16-17)**:「剑(普通攻击):通过锻造升级可以增加攻击力,升到最高等级时,还可以增加一些额外的效果。」 + +→ **提案是放大**。游戏现在已经有"攻击锻造"这个营地消费点(营地花金币,攻击力 +1,可重复买——`game/data/tables/meta.tres:14-18`)。提案把它改造成一条有等级、有成长曲线、有满级特效的"剑"升级路线。方向与原案一致,范围扩大。 + +**原案二(playnote.md:19-22)**:「长枪与法杖:后续可以增加长枪、法杖等武器,它们的攻击类型要分别变为"穿刺"和"魔法"。同样在最高等级时,也会有一些特殊的效果。……实现武器之间的差异化。」 + +→ **提案是放大,且承接现役结构**。考证发现:主角的攻击类型字段已经登记在数据表里(`hero.tres:11`,取值 normal/pierce/magic),是 2026-09-18 一个前置批次立好的、当前没有数值效果的休眠轴。提案直接唤醒这根轴来承载"武器决定攻击类型",不需要新建任何类型系统。差异化的深度(武器是标签还是实体)是本提案第三节的三个备选案。 + +**原案三(playnote.md:23)**:「同样的护甲,我们也可以做成不同的护甲,然后去做升级,一开始我们只有轻甲,提升只会提升我们的 AC 值;但是在最高等级的时候,我们就可以拿到不同的额外效果;解锁魔法甲或者重甲之后,我们得到的基础 AC 值可能是不一样的,也可以通过提升来提高它的 AC 值,最后还有一些不同的额外效果」 + +→ **提案收窄一处、放大一处**。收窄:原案读起来像"换甲型立刻改变战斗手感"。考证后必须说清——敌方的攻击现行不带类型、不查克制矩阵(`game/core/damage_controller.gd:19` 单据类型栏允许空串、`damage_controller.gd:513` 空串恒不查矩阵),所以换甲型在"克制"这个维度上暂时没有任何数值效果。甲型差异在现行边界下玩家唯一能立刻感知的就是基础 AC 不同。提案把这一点写成显式边界,而不是含糊承诺。放大:三种甲各自的基础 AC、各自独立的升级路线、各自的满级特效,都是原案的直接承接与展开。 + +**成长曲线反馈(playnote.md:5,同日原文)**:「一开始不能让角色的成长系数太高。比如在没经过升级之前,你的成长系数是跟不上关卡怪物难度提升的;但是后续能力解锁之后,成长系数才能匹配得上」 + +→ **提案第六节正面回应**:锻造的成长曲线形状与解锁节奏,就是为这条反馈服务的。 + +--- + +## 一、现状事实基准(本提案全部论断的依据,2026-10-07 逐条复核) + +以下六条是提案的对齐基准,全部经过代码级复核。引用格式 = 文件:行号。 + +| # | 事实 | 出处 | +|---|---|---| +| F1 | 攻击力提升现有两个来源,都是直接加数字,没有"武器"这个实体:①营地属性锻造(攻击锻造 +1 / 生命锻造 +3 / 护甲锻造 +1,单次价 20 金币、每次涨价 150%)②关卡内商店货架(六行共享池+乘法价格公式,`game/core/config_db.gd:329-334` 现役访问器)。商店里还有一组旧的三行商品定义(`shop.tres:36-57`),只在对照模式承载,属遗留(`game/data/schemas/shop_table.gd:16`、`shop.tres:107-109`) | `meta.tres:7-25`、`shop.tres:68-94` | +| F2 | 主角攻击类型轴**已存在、休眠中**:`hero.tres:11` 值为 "normal",字段枚举 {normal, pierce, magic}(`hero_table.gd:13`)。战斗段主角基础攻击按此查克制矩阵。棋盘上的穿刺/魔法直伤奖励件走同一张矩阵但必中全额不掷点(`battle_orchestrator.gd:830` 注、`:846-854`)。**克制矩阵已经是 3×3 九格满格**(`settlement.tres:31-47`:普通/穿刺/魔法 × 轻甲/魔法护甲/重甲)。专长里的三个条件值(pierce_vs_light / magic_vs_heavy / magic_vs_magic)是专长的触发条件值、不是矩阵本体——其中 magic_vs_magic 在现行甲型域下永远为假(见第四节裁点 2c)。敌方装甲类型域 {light, ward, heavy}(`enemy_table.gd:110-113`,缺省 light),实际分布:light×14 行 / heavy×4 行 / ward×1 行(`enemy.tres`;L1 全轻甲、L2 只有 Boss 蛛化卓尔精灵是魔法护甲、L3 灰矮人族四行重甲)。敌方攻击无类型、不查矩阵(`damage_controller.gd:19/:513`)。克制矩阵的定义文档 = [战斗结算](../gdd/systems/战斗循环/战斗结算.md)与[敌人系统](../gdd/systems/战斗循环/敌人系统.md) | 见左 | +| F3 | 主角护甲现状:AC(护甲等级,掷点减伤判定用)单值现役生效(`hero.tres:9` 值 10,判定消费 `battle_orchestrator.gd:172`);**甲型结构位已在册休眠**(`hero.tres:10` armor_type="light",`hero_table.gd:12`)——休眠原因是敌方攻击不查矩阵,属结构性而非数值性(《敌人系统》主角字段表注记)。甲型域三值 = {light, ward, heavy}。AC 现有提升渠道 = 营地护甲锻造 +1 / 商店货架护甲件 / 局内奇物属性件 | 见左 | +| F4 | 局内属性件:奇物三分类里的"属性值提升"分类 = 生命上限 / AC / 攻击三轴,进冒险加算区,关间不清零([奇物](../gdd/systems/冒险循环/奇物.md) §1.2,分类封闭:"只有这三项,多一项就要走文档修订")。它与 F1 的营地/商店构成"账号层永久 + 局内单冒险"两层结构,现役并存 | `design/gdd/systems/冒险循环/奇物.md` | +| F5 | 相邻系统:营地三个柜台(属性锻造 / 道具工坊 / 奖励格图鉴,[元进度](../gdd/systems/跨局循环/元进度.md));商店经济两个价格参数 provisional 在册;效果引擎已落地——效果类型闭集 24 种(`effect_engine.gd:31-35`,源码注记"23"系笔误),武器满级特效优先复用现役效果类型,需要新效果类型的部分=实装批的代码面 | `design/gdd/systems/跨局循环/元进度.md` | +| F6 | 成长曲线反馈原文见第〇节 | `playnote.md:5` | + +--- + +## 二、范围与不做什么(红线) + +1. **纯文档**:零代码、零数据表改动、零数值投值。本提案全部表格值只有量纲与锚点。 +2. **不占排期**:提案裁决通过后实装另立批次,本提案不在路线图预占实装卡。 +3. **不动现役系统**:第十节"迁移面"只描述改造方案,不执行。 +4. **白话**:全文按文档规范用语纪律写作,不自造机制名词;武器/甲的正式名字本身是裁点之一,随裁决定名后才登记术语表。 +5. **不与奇物既有裁决冲突**:凡涉及属性值提升分类或获取渠道的地方,显式引用《奇物》现行口径并说明关系(见第五节末)。 + +--- + +## 三、武器实体化程度(本提案最核心的裁点) + +**这一节回答的问题**:"武器"在游戏里到底是什么东西?是攻击力数字旁边的一个标签,还是玩家能看见、能持有、能更换的一件装备?三个备选案按实装量从小到大排列,**每一案都回答两个通用必答题**(携带几把、什么时候能换)。 + +### 案甲:纯升级路线——"武器"只是攻击锻造这条路线的新名字 + +**做法**:营地攻击锻造改名为"武器锻造",从"花钱买 +1"改成一条等级路线(1 级到上限,每级攻击力按成长曲线上涨);玩家在营地随时选择武器类型(剑=普通 / 长枪=穿刺 / 法杖=魔法),类型写进现役的 attack_type 字段;到达满级解锁该类型的专属特效。 + +- 与现有系统的关系:直接吸收现役攻击锻造行(`meta.tres:14-18`);与局内奇物属性件并存(两层现役结构不变);商店货架不动。 +- 携带数:单持——它本质就是一个字段,一次只有一种类型在身。 +- 换械时机:营地内任意时刻可换,零成本。 + +**优点**:实装量三案最小(一条等级数据+一个字段切换+特效挂点);与现役"营地永久强化换攻击类型 = 改字段"的既有设计注记逐字同源(`hero.tres:25-27` 注记)。 + +**缺点(为什么不够)**:"武器"没有实体感——玩家看到的只是数字和伤害类型的区别。原案的核心诉求是"实现武器之间的差异化"(playnote.md:22),甲案给的是"一条路线+三个标签",差异化感知最弱。另外满级特效只能挂在类型上:换类型=特效跟着换,三件武器不可能各自满级并存。 + +### 案乙:武器槽实体——武器是一件装备 + +**做法**:新增"武器"装备位。武器是有编号、有等级、有类型、有特效的实体;玩家持有武器库、装备其中一把;每把武器的等级独立。 + +- 与现有系统的关系:现役攻击锻造行改造为"初始剑"的等级路线;新增一种实体类型——存档结构、营地界面、装备逻辑全部新做;还要新增一段说明:武器不属于奇物三分类的任何一类(它不是单局获得的奇物,是跨局装备)。 +- 携带数:单持(一生主械);若做多持=双武器轮换,代价见通用必答。 +- 换械时机:营地内换;战斗中禁换(理由见通用必答)。 + +**优点**:差异化感知最强;满级特效有清晰的承载主体;未来扩展面宽(武器稀有度、词条、分解重铸都有地方挂)。 + +**缺点(为什么不推荐现在做)**:实装量三案最大——本项目目前没有任何"装备"概念,为三把武器单开一套实体系统(库存、存档域、装备界面),投入超出"武器差异化"这个原案诉求所需的复杂度;且这个决定不易回退(实体一旦进存档,删实体=存档迁移)。若未来确需装备系统,丙案是它的可逆前站。 + +### 案丙(推荐):折中——"当前武器"单选 + 每件武器一条独立成长路线 + +**做法**:营地武器锻造柜台呈现三件武器(剑/长枪/法杖)。每件武器有自己的等级(1 到上限)、自己的攻击成长曲线、自己的满级特效。玩家指定其中一件为"当前武器"出场——类型由武器决定(选长枪=穿刺),写现役 attack_type 字段。三件武器的等级各自独立保留,换"当前武器"不丢任何进度。 + +- 与现有系统的关系:现役攻击锻造行 = 剑路线的前身(吸收改造,见第十节迁移面);存档面 = 三行等级数字 + 一个当前选中标记,**没有实体列表、没有库存**;生命锻造行的处置见第七节裁点 5a。 +- 携带数:单持(同一时刻只有一件武器出场)。 +- 换械时机:营地内随时换,切换不收费。理由:等级都是玩家花资源练出来的,切换只是决定"今天带谁出门",二次收费会惩罚尝试性构筑,与成长曲线反馈"能力解锁后才能匹配关卡难度"的诉求相逆(玩家需要低成本试错来找到当前关卡匹配的武器)。 + +**优点**:差异化感知接近乙案(三件武器各有名字、等级、特效,玩家分得清);实装量中等(无库存管理面);数据面是现役 meta 表锻造行族的直接扩形(加列,不是新表);"选哪把武器"天然承载类型切换,attack_type 轴的营地换型口径原样生效。 + +**缺点**:比甲案多两组等级数据与界面;武器库在界面上要克制呈现(三张卡,不是背包)。 + +**为什么推荐丙**:它在"差异化感知"与"实装复杂度"之间取中点,且**两向可逆**——砍掉独立等级就退化成甲案,加上库存实体就升级成乙案。裁决者可以先取丙,日后按玩家反馈滑向两侧,不需要推倒重来。 + +### 通用必答一:携带数——单持还是多持? + +**呈交:单持**(三案同答)。多持(同时带两把、战斗内轮换)的淘汰依据: +1. 收益小——多武器轮换的战术价值是"面对不同甲型敌人换着打",但这个价值棋盘上的穿刺弹/魔法矢直伤件已经承载(`battle_orchestrator.gd:846-854`,必中全额、自己查矩阵行),轮换武器的增量收益有限。 +2. 代价大——战斗内换武器要新开一套动作语义(算不算行动?耗不耗行动点?战斗结算的流程与伤害单据九栏都没有"中途改类型"的位置,`design/gdd/systems/战斗循环/战斗结算.md` 战斗段一节),牵动行动经济。 + +### 通用必答二:换械时机——营地还是战斗中? + +**呈交:营地内可换,战斗中禁换**(三案同答)。依据:战斗段结算次序固定(主角先手→逐敌还手→地图账),伤害单据的类型在开单时声明、管线内不变;战斗中换械=给结算管线新开一个"类型可变"维度,收益(每场战斗微调克制)不成比例于管线改动与测试面。这个边界与"克制应对从局内攒弹药改为冒险前配型"的既有定稿方向一致(`战斗结算.md`:原"挖掘攒充能换攻击分量"的弹药系统 2026-09-19 已整体退役,克制策略归冒险前配置)。 + +--- + +## 四、攻击类型轴关系 + +**这一节回答的问题**:武器带来的攻击类型,和棋盘上现存的穿刺/魔法直伤奖励件,是什么关系? + +### 现状(复核结论) + +游戏里现在有两处"类型":①主角基础攻击的类型(attack_type 字段,休眠中,F2)——决定主角先手攻击查克制矩阵的哪一行;②棋盘格面资源的类型(穿刺弹/魔法矢等奖励件)——必中全额、自己查矩阵行。两处消费**同一张 3×3 克制矩阵**(`settlement.tres:31-47`,九格满格,结构冻结)。 + +### 裁点 2a:共存方式 + +- **甲=叠加(推荐)**:武器类型只改主角基础攻击分量查矩阵的行;格面直伤件照旧独立。两根轴互不干涉、共用一张矩阵。零新机制。 +- **乙=替代**:武器类型接管一切类型化伤害(选法杖后穿刺弹也按魔法算)。**淘汰依据**:格面资源是地图侧的独立九型字典(定义文档 [地图战斗资源](../gdd/systems/战斗循环/地图战斗资源.md)),把它的类型语义绑到武器上=两个系统强耦合;且没换法杖的玩家,魔法矢这件奖励就没有存在意义了——砍掉内容池换不来任何设计收益。 +- **丙=互斥**:选了某武器,相同类型的格面件不再出现(法杖玩家抽不到魔法矢)。**淘汰依据**:没有设计依据的池子收窄。同类型叠加是构筑加深不是冗余——魔法武器+魔法矢=魔法构筑的一致性,正是差异化的价值所在。 + +**呈交甲,并要求把一句防混述声明写进 [战斗结算](../gdd/systems/战斗循环/战斗结算.md) 定义文档**:「武器类型(主角基础攻击的属性)与格面资源类型(棋盘直伤件的属性)是两根独立参数,只共用同一张克制矩阵。」这与战斗结算既有纪律同源(攻击类型是伤害分量的固有属性,定义里不含任何棋盘来源)。 + +### 裁点 2b:要不要加第四种类型或第四种甲型? + +- **甲=不加(推荐)**:矩阵九格结构冻结是既有条款(`战斗结算.md` 参数表"键集 3×3 满格结构冻结")。武器三型正好映射现有三行,矩阵零改动。 +- **乙=加第四甲型**(若原案的"魔法甲"不映射现有 ward):触发矩阵扩成 4×3、战斗结算结构冻结条款修订、敌方甲型数据面重配、专长条件值族扩充——为一型甲付出全链成本。**淘汰依据**见裁点 3a:现役 ward 的中文正名就是"魔法护甲",原案"魔法甲"可直接对号,第四型没有可感知的差异点。 + +### 裁点 2c:专长联动与死条件清理 + +**专长会被武器选择影响**:专长(改规则的奇物件)里有一族"克制面强化"件,条件是"当前对局出现某某对某某的克制 matchup"。武器锻造唤醒类型轴后,玩家选什么武器会改变主角攻击的 matchup 行——选长枪会激活穿刺系专长的价值。这是设计意图内的联动,不是缺陷。 + +**死条件现状**:`feats.tres:29-31` 有一件专长条件值为 magic_vs_magic(魔法打魔法甲)。现行甲型域是 {light, ward, heavy},没有"magic"这个甲型,所以对局中的 matchup 字符串永远不会是 magic_vs_magic——**这件专长在现行数据下永远无法触发,等于一张废卡**。三个处理方案: + +- **甲=删行**(随实装批执行):先例=2026-10-06 内容数据驱动批删除旧挂点枚举(06-待办清单在册)。代价:若日后甲域真的扩第四型,要重新加回。 +- **乙=保留+文档注记**:零代码。代价:一张永假废卡继续占专长池配额,玩家视角是坏体验。 +- **丙=改值复活(推荐,归实装批执行)**:把条件值改成活条件——候选 magic_vs_ward(魔法打魔法护甲;现役 L2 Boss 蛛化卓尔精灵正是 ward,`enemy.tres`),一行 value 字段的改动把废卡变成"Boss 战专长"。代价:改专长行为=行为变更,必须随实装批一起做、配行为测试;且本提案阶段不改值(纯文档边界)。 + +--- + +## 五、护甲实体化 + +### 现状(复核结论) + +AC(护甲等级)单值现役生效(`hero.tres:9`=10;敌方攻击掷点对它的减伤判定在 `battle_orchestrator.gd:172` 合流入参)。甲型结构位已登记休眠(`hero.tres:10`,域 {light, ward, heavy})。休眠原因=敌方攻击不带类型、不查矩阵,是结构性的(《敌人系统》主角字段表注记:"轴生效待敌方技能攻击类型批"——这个批次在敌方系统侧有登记方向,未排期)。 + +### 裁点 3a:甲域定名映射——"魔法甲"是什么? + +- **甲=魔法甲就是 ward(推荐)**:现役甲域第三型 ward 的中文正名就是"魔法护甲"(《敌人系统》敌方字段表:甲域 {轻甲, 魔法护甲, 重甲})。用户原案的"魔法甲"直接对号入座。零扩域、零扩矩阵、零数据面改动。 +- **乙=新造第四甲域**:"魔法甲"作为独立于 ward 的新甲型。触发裁点 2b 乙案的全部成本(矩阵 4×3、结构冻结条款修订、敌方数据面、专长条件值族)。**淘汰依据**:"魔法护甲"和"魔法甲"在玩家语感上是同一个东西,第四型给不出可感知的差异点。 + +### 裁点 3b:甲型差异的可感面(对原案的显式收窄处) + +**必须诚实写清的边界**:敌方攻击现行无类型、不查矩阵(`damage_controller.gd:19/:513`)。所以在现行边界下,换甲型在"克制"维度上没有任何数值效果——"魔法甲怕穿刺打"这类克制反向要等敌方攻击带类型的批次才生效。两个处理方案: + +- **甲=现在就落甲型结构(推荐)**:甲型差异以"基础 AC 各异"为现行唯一可感轴(这正是原案明说的诉求),克制反向作为前瞻结构位随轴休眠。理由:①基础 AC 差异本身就有构筑价值(重甲硬、魔法甲便宜灵活之类的取舍);②甲型位是现役代码已留好的扩展缝,现在立结构、敌方攻击类型批到来时零结构改动;③不需要动矩阵就能完整兑现原案。 +- **乙=等敌方攻击类型批一起落**:甲型推迟到克制反向能生效时再上。**淘汰依据**:无限期推迟原案明说的"基础 AC 各异"诉求;且把两件独立的事(甲型结构、敌方攻击类型)捆绑排期,违背"实装批另行立项"的本批边界。 + +**基础 AC 锚点(provisional)**:轻甲 =10(现役主角值,不动);重甲 =12(+2);魔法甲 =9(−1)。量纲依据:现役掷点折扣档为缺口 1-3 打七五折(`settlement.tres:50-51`),每 1 点 AC 的期望减伤约 3.75%量级(`settlement.tres:74` EV 复算锚:AC10 期望减免 21.25%、AC11 25%)。终值全部归 Alpha 收官 M4 数值批。 + +### 裁点 3c:护甲的升级路线结构 + +- **甲=每型甲一条独立等级路线(推荐)**:轻甲路线=现役护甲锻造行改造(每级 AC +1);解锁重甲/魔法甲后各自从 1 级练起、各自升级、各自满级特效;"当前甲"单选与"当前武器"单选同构。与原案"一开始只有轻甲(只提 AC)→解锁后基础 AC 各异→各自可续升→各带满级效果"逐句对齐。 +- **乙=单一 AC 路线+甲型当门槛**:AC 一条轨,甲型只是轨上的里程碑(练到 3 级才能换重甲)。**淘汰依据**:三型基础 AC 不同,一条数字轨表达不了三型各异的基础值;原案明说"解锁之后基础 AC 值可能是不一样的"。 + +### 与《奇物》现行口径的显式关系(红线第 5 条) + +《奇物》现行口径:属性值提升分类 = 生命上限/AC/攻击三轴**封闭**("只有这三项,多一项就要走文档修订",§1.2);获取渠道 = 局内(奖励节点/商店训练/共享池),关间不清零;渠道开关表已有用户定案。 + +**本提案的关系 = 分层并存,互不侵入**:武器/护甲锻造动的是**账号层基础值**(营地永久强化,冒险开始时经参数面传给战斗——《元进度》执行口径:开局按存档内永久强化状态算好覆盖参数逐字段传入);奇物属性件动的是**单次冒险加算区**(关间不清零、冒险结束清零——[冒险结构](../gdd/systems/冒险循环/冒险结构.md) 统一冒险加算区四轴)。本提案不扩奇物三轴、不动渠道开关表、不往局内池加任何东西——武器锻造不是奇物,是永久强化的内容改造。入战 AC 的三层语义清晰可加:甲型基础 AC + 营地甲路线等级加值 + 局内加算区累加。 + +--- + +## 六、成长曲线定位(回应 F6) + +用户反馈原文(playnote.md:5):前期成长系数不能太高——没升级前跟不上怪物难度提升,能力解锁后才能匹配。武器锻造恰恰是执行这条曲线诉求的最佳载体,因为它同时握着两样东西:**数字成长的速率**(每级加多少)和**能力解锁的节奏**(什么时候拿到新武器/新甲/满级特效)。 + +### 裁点 4a:成长曲线形状 + +- **甲=前缓后陡(推荐)**:低等级每级攻击增量小(+0 或 +1 量级),高等级每级 +1 或 +2 量级。前期刻意压数字——玩家靠挖掘技巧过关(这正是 F6 要求的"没升级前跟不上",是特性不是缺陷);能力解锁(新武器、满级特效)成为曲线的台阶。 +- **乙=线性每级 +1**:现役锻造就是线性。**淘汰依据**:与 F6 反馈零呼应——数字匀速涨,"能力解锁"的节奏感全靠特效单腿支撑,曲线本身不参与。 +- **丙=阶梯解锁制**:平时每级 +0,每两级跳 +2。**淘汰依据**:数字体感跳跃,中间等级像白升级;provisional 调参空间最小(只有跳变点可调)。 + +**呈交甲,但只锁形状方向不锁数值**——曲线参数全体 provisional 归 M4 数值批。 + +### 裁点 4b:解锁节奏从哪来 + +- **甲=锻造内自闭环(推荐)**:新武器/新甲型的解锁条件在锻造系统内部(练满前一档或花一次性解锁价,见第七节);满级特效是每条路线的终点奖励。这是原案的精神("最高等级时拿到额外效果""最高等级时解锁重甲/魔法甲")。 +- **乙=绑关卡进度**:L1 通关解锁长枪之类。**淘汰依据**:①把永久强化做成关卡奖励,与"营地 = 消费钥石/金币的成长枢纽"的现役定位(《元进度》营地定义)冲突;②首通关卡前玩家零武器选择,第一局体验被绑死在剑上——而第一局恰恰是教学局。 + +### 裁点 4c:与难度曲线的匹配义务(显式登记,不在本批执行) + +锻造改的是账号层成长,会直接平移全部关卡的通关率——这是数值敏感变更。**显式登记义务**:实装批必须带改前/改后同随机种子配对读数验证难度影响;统一调整归 Alpha 收官 M4 数值批(未排期)。本提案零数值投值、零模拟跑批(纯文档批零测试纪律)。 + +--- + +## 七、经济与解锁 + +### 裁点 5a:柜台承载——武器锻造放哪? + +现状:营地三个柜台 = 属性锻造(生命/攻击/护甲三档直购)/ 道具工坊 / 奖励格图鉴(《元进度》营地三柜台节)。 + +- **甲=就地改造属性锻造柜台(推荐)**:柜台改名"武器与护甲锻造"——攻击行改造为武器锻造区(三件武器路线),护甲行改造为护甲锻造区(三型甲路线),**生命行原样保留**(原案没有覆盖生命,保留是唯一不失义的处理)。三柜台结构不动,营地界面零重排。 +- **乙=新开第四柜台**:武器锻造独立成柜,属性锻造柜台的攻击/护甲两行退役。**淘汰依据**:属性锻造被拆剩一行生命,柜台语义残废;营地从三柜台变四柜台=界面结构改动;"锻造"两个字同时出现在两个柜台(外加商店货架的"攻击锻升","锻"字已有三处)——词汇更乱。 +- **丙=塞进道具工坊**:**淘汰依据**:工坊的消费货币是通关次数/钥石(`meta.tres:39-88`),与武器锻造的金币定价体系不同源;工坊职责已有明确归属(秘宝解锁与同调装配,《元进度》形态沿革节),塞武器=职责混装。 + +### 裁点 5b:等级上限与定价结构 + +- **等级上限**:每件武器/每型甲各自封顶(provisional 锚点 = 5 级量级)。量纲理由:满级特效要"值得等",级数太多会稀释解锁节奏(与 F6 冲突)。终值归 M4。 +- **定价结构**:沿用现役几何递增——每级价格 = 基础价 × 150%^(已购级数)(现役参数:单次 20 金币、每级涨 150%,`meta.tres:11-24`;《元进度》定价曲线几何递增是已拍板条款)。甲型解锁 = 一次性解锁价(量纲 ≈ 中段几级锻造的花费,provisional)。全部终值归 M4。 +- **货币裁点**: + - **甲=纯金币(推荐)**:与现役属性锻造同币——原案语义是"攻击力提升改造",即同一笔钱换个花法,不是新经济。 + - **乙=金币+钥石双币**(解锁新武器/甲用钥石):钥石现役 = Boss 击杀掉落、用于直购强化(`meta.tres:26-38`)。**淘汰依据**:解锁节奏被 Boss 掉落概率绑死,与裁点 4b"解锁在锻造内自闭环"矛盾;双币定价面翻倍。 + - **丙=纯钥石**:**淘汰依据**:与"攻击力提升改造"直接相逆(现役攻击锻造吃金币),等于换了一个系统而不是改造它。 + +### 裁点 5c:材料经济——金币之外要不要材料/掉落物? + +**现状钩子**:效果引擎有效果类型 grant_material(`effect_engine.gd:32`;`feats.tres` 四件专长在用,形态=局内材料计数器,如"雷区图谱")。注意:这个钩子现役是**局内**计数器,不是账号层库存——提案若引入账号层锻造材料,是全新经济面(存档域、获取渠道、囤积规则全要新建)。 + +- **甲=纯金币(推荐)**:零新经济面。原案全文只字未提材料;武器差异化的价值轴是类型与特效,不是采集刷料。 +- **乙=金币+材料**:敌杀掉落锻造材料,高阶解锁或满级特效需要材料(grant_material 账号层化)。**代价(不淘汰,并列呈交)**:新存档域+新掉落配置+囤积/回收规则;且"局内材料计数器"与"账号层锻造材料"同名易混,呈现层必须区分两个概念。 +- **丙=纯材料**:金币买不了武器,只有材料能锻。**淘汰依据**:与"攻击力提升改造"直接相逆(把现有金币消费点脱钩);双货币双定价体系,实装量三案最大。 + +### 裁点 5d:配比预设挂起批的边界注记(强制条目) + +冒险前资源配比预设批已于 2026-10-05 用户令挂起冻结(06-待办清单在册:"重启须用户另行发令",八项裁决与任务书全部冻结保留)。**边界声明**:该批的预算点数、容量柜台、克制注记三面都会直接受"武器类型轴"与"柜台结构"变更影响——本提案**不预设该批的重启口径、不占用其任何冻结裁决、不改其冻结文本**。若提案裁决通过且实装落地后该批重启,其任务书须显式核对两处交汇面:①预算包络是否把武器类型计入克制注;②容量柜台与武器锻造柜台(同在营地)的资源竞争关系。同理,裁点 2c 若裁"改值复活 magic_vs_ward",也只登记不预设——玩家可控类型增多会改变配比博弈面,该影响归配比批重启时统一核对。 + +--- + +## 八、满级特效清单框架 + +**原则**:每件武器/每型甲满级各 1-2 条特效;逐条标注数据驱动兼容性——**复用现役效果引擎效果类型(24 种闭集,`effect_engine.gd:31-35`)= 实装批零新效果代码**;需要新效果类型或新参数位的 = 实装批代码面,显式标出。 + +下表是**框架示意**(每格给量纲方向),不是承诺清单——终选清单与数值归实装批任务书+M4 数值批: + +### 裁点 6:特效清单的实现深度(三案并列) + +- **甲=全复用现役效果类型**:只从零代码候选里选(破甲/先手连击/开局魔法矢/反震/护盾),剑与轻甲改用复用型特效或减配。代价:清单表现力受限——"暴击面扩大""折扣档放缓"这类现役表上恒定的参数做不进特效。 +- **乙=复用为主+三条新参数位(推荐)**:上面框架表的完整形态——四条零代码、三条需新参数位(暴击面/折扣档/护盾量进战斗开场参数),后者是实装批的小改代码面(改表值常量读法,不加效果类型词)。代价:实装批多三处代码改动与对应测试。 +- **丙=引入新效果类型**:为特效往引擎效果类型闭集加新词。**淘汰依据**:效果类型闭集是高代价变更面(加载校验、文档词表、回归测试三处连带),本框架所有候选特效都能用现有词表或参数位表达,无一真正需要新词——为表达便利付引擎级代价不成比例。 + +| 件 | 满级特效候选(量纲方向) | 数据驱动兼容性 | +|---|---|---| +| 剑 | 破甲:命中重甲时克制修正额外 +1 点量级 | 复用现役——modify_ticket 效果类型+matchup 条件算子均已在册(`effect_engine.gd:32/:46`),零新代码面 | +| 剑(第二条) | 暴击面扩大:暴击骰面 −1 量级 | **需新参数位**——暴击面现役是表上恒定值(`settlement.tres:52`),武器级可变=实装批小改(标红) | +| 长枪 | 先手连击:战斗开场追加一次普攻量级的攻击 | 复用现役——attack_segments 效果类型在册(`effect_engine.gd:32`),零新代码面 | +| 法杖 | 开局魔法矢:每场战斗开场自动对最前敌人放一次魔法直伤(必中全额量级) | 复用现役——spawn_spell 效果类型在册,零新代码面(次数/回合数 provisional) | +| 轻甲 | 灵巧:掷点折扣临界档再缓一档量级 | **需新参数位**——折扣档现役读表恒定(`settlement.tres:51`),标红 | +| 重甲 | 反震:被命中时对攻击者反贴 1 点量级伤害 | 复用现役——spike 效果类型在册,零新代码面 | +| 魔法甲 | 护盾:每场战斗开场自带若干层护盾(X 层量级) | 复用现役——shield 效果类型在册;护盾层数进战斗开场参数=实装批桥接面(标黄) | + +**呈交立场**:特效清单走"复用为主"——上表七条中四条零新代码、三条需新参数位/桥接(标红/标黄)。需要新**效果类型**(往引擎闭集加词)的方案一件都没有:引擎闭集动词表是高代价变更(校验面+文档面+回归面),本框架刻意避开。 + +--- + +## 九、数值框架(全部 provisional) + +**总承诺**:本提案零数值投值。下表全部是量纲与锚点,终值统一归 Alpha 收官 M4 数值批(未排期)。实装批立项前不动任何数据表行值。 + +| 项 | 量纲/锚点 | 锚点出处 | 归宿 | +|---|---|---|---| +| 武器成长曲线 | 前缓后陡:低级每级攻击 +0/+1 量级,高级 +1/+2 量级 | 现役攻击锻造 +1/次(`meta.tres:16-17`);主角基础攻击 =2(`hero.tres:8`) | M4 | +| 甲型基础 AC | 轻 10(现役不动)/ 重 +2 / 魔法甲 −1 | 主角 AC=10(`hero.tres:9`);每 1 AC ≈ 3.75% 期望减伤(`settlement.tres:74` EV 锚) | M4 | +| 等级上限 | 每件/每型各自 5 级量级 | 满级特效节奏需要(F6) | M4 | +| 升级定价 | 基础价 20 金币 × 150%^(级数),几何递增 | 现役参数沿用(`meta.tres:11-24`、《元进度》几何递增条款) | M4 | +| 甲型解锁价 | ≈ 中段几级锻造花费的一次性价 | 同上量纲系 | M4 | +| 满级特效值 | 各 +1 点/若干层量级,逐条配 | 第八节框架表 | M4 | +| 数值验证义务 | 实装批改前/改后同种子配对读数;统一调整归 M4 | 裁点 4c | M4 | + +--- + +## 十、迁移面与裁点汇总 + +### 迁移面(只描述方案,不执行——红线第 3 条) + +1. **`meta.tres` forge_products(`meta.tres:7-25`)**:攻击行 → 武器路线改造(吸收,随裁点 5a 裁决改名);护甲行 → 护甲路线改造;生命行保留原样。同表 boss_keystone / workshop_items / conversion / attune_refresh_upgrade 四行族零触碰。 +2. **`shop.tres` pool_shelf 现役六行(`shop.tres:68-92`)**:局内货架的"攻击锻升/护甲锻升"与营地武器锻造是两层并存(局内层进冒险加算区、账号层是永久强化——现役分工:《冒险结构》统一冒险加算区节、《元进度》执行口径节)。**提案不动行集**;唯一迁移裁点 = 现名是否去"锻"字防混淆(甲=保留现名零改动 / 乙=改"训练·攻击"式中性名——呈现面文字变更,归实装批呈现细节,随裁决)。 +3. **`shop.tres` products 行族(`shop.tres:36-57`)**:**遗留代码路径**(只在对照模式承载,`shop_table.gd:16`、`shop.tres:107-109`)。本提案零触碰;它的退役是既有在册义务(归对照锚换代批),不是本提案新增。 +4. **`hero.tres` 两根轴(`hero.tres:10-11`)**:唤醒语义 = 营地选中的武器/甲型写轴。这与 2026-09-18 营地扩展前置批的既有设计注记(`hero.tres:21-27`:"营地永久强化换攻击类型 = 改此字段")逐字同源——**不是新设计,是既有预留位的启用**。 +5. **`feats.tres` magic_vs_magic 死行(`feats.tres:29-31`)**:三案随裁点 2c 裁决(删/注记/改值复活),执行归实装批。 +6. **术语登记**:武器/甲型的正式名("魔法甲"="魔法护甲"=ward 之类的定名)随裁决定案后,实装批随批登记 `design/registry/entities.yaml` 术语条目。本提案阶段零登记(名字未定)。 + +### 全裁点一览表(供盘问轮逐点拍板) + +| # | 裁点 | 甲 | 乙 | 丙 | 提案推荐 | +|---|---|---|---|---|---| +| 1 | 武器实体化程度 | 纯升级路线(一条轨+类型标签) | 武器槽实体(装备+库存) | 当前武器单选+每件独立路线 | **丙** | +| 1a | 携带数 | 单持 | 多持(轮换) | — | 单持 | +| 1b | 换械时机 | 营地内可换 | 战斗中可换 | — | 营地内 | +| 1c | 换械是否收费 | 免费 | 小额收费 | — | 免费 | +| 2a | 类型轴共存 | 叠加(两根独立轴共用矩阵) | 替代(武器类型接管) | 互斥(同类型件不出现) | 叠加 | +| 2b | 矩阵扩维 | 不扩(九格冻结) | 加第四甲型 | — | 不扩 | +| 2c | 死条件 magic_vs_magic | 删行 | 保留+注记 | 改值复活(magic_vs_ward) | 丙(执行归实装批) | +| 3a | 甲域定名 | 魔法甲=ward(现役域对号) | 新造第四甲域 | — | 甲 | +| 3b | 甲型可感面 | 基础 AC 差异先行,克制反向留结构位 | 等敌方攻击类型批一起落 | — | 甲 | +| 3c | 护甲升级结构 | 每型独立路线 | 单轨+甲型当门槛 | — | 甲 | +| 4a | 成长曲线形状 | 前缓后陡 | 线性 | 阶梯 | 甲(只锁方向,值归 M4) | +| 4b | 解锁节奏 | 锻造内自闭环 | 绑关卡进度 | — | 甲 | +| 5a | 柜台承载 | 就地改造属性锻造柜台 | 新开第四柜台 | 塞进道具工坊 | 甲 | +| 5b-1 | 货币 | 纯金币 | 金币+钥石双币 | 纯钥石 | 纯金币 | +| 5c | 材料经济 | 纯金币 | 金币+材料 | 纯材料 | 纯金币 | +| 6 | 满级特效 | 全复用现役效果类型 | 含新参数位(三条标红) | 引入新效果类型 | 乙(复用为主,零新效果类型) | +| 8a | 货架现名 | 保留"攻击锻升"现名 | 改"训练·攻击"式中性名 | — | 随实装批呈现细节定 | + +--- + +## 附:本提案的裁决方式 + +每个裁点独立拍板,互不绑死(推荐列只是提案立场,不是打包方案)。裁决结果落 06-待办清单「武器锻造系统」专条与路线图卡③行;裁决通过后实装批另行立项,以本提案+裁决记录为任务书输入。 diff --git a/roadmap.md b/roadmap.md index 299ecca6..5333fbe4 100644 --- a/roadmap.md +++ b/roadmap.md @@ -68,7 +68,7 @@ | 迭代 17 | **①敌人表行集多行批(2026-10-05 用户令编入本迭代,纯功能与数值轴四卡之一)**:放开敌人表「同一(关卡序号 × 节点深度)行集恰一敌种」加载期校验(enemy_table.gd:108-112 考证在册),允许同场遭遇混编多种敌人——生成(unit_container spawn 行集受理)/编排(battle_orchestrator/narrator)/断言面全链接通 + GDD 结构冻结面修订先行(敌人系统.md:75/:263)。事实源=06「同深度第二敌种与精英/Boss 编码位」条剩余面(前半已由关卡节点地图 v1.0 消解);前置=技能池实施批已落籍(d3fa887)开工门已解。任务书=`design/research/任务书-敌人表行集多行批-2026-10-05.md`(**v1.1 2026-10-06 联审修订**:F7 勘误 19 行 9 敌种/P1 补遭遇骰交互〔每行一骰·RNG 扩签先报批〕与实例总数≤4 消歧/P3 改裁丙撤投放/新增契约 R6 混编行行序纪律/expect_pools 断言换代入组 D;T0-T8≈3.75d〔T5 撤投后,超软盒预挂,T4 末切分点〕;🔴 契约 6 条;**✅ 裁点全裁(2026-10-06 用户令:P1甲〔Q8/Q9 二裁补全〕/P2甲/P3丙〔Q3 二裁撤投放——一裁乙与首遇教学位纪律三面冲突〕/P4乙 Boss 行亦放开·知情代价六面在册);开工=U0**) | 迭代 15 出口 | **✅ 已全批落码落籍(2026-10-07,主区 merge --no-ff 9cc4b8b,闸全绿+主区复跑全绿〔合并后冒烟 811/0〕,worktree g-plan2-iter17-enemy 分支 iter17-enemy-20261007 基点 e535436,批内提交 a0b06b4(L3 报告)/5b9cf59(甲案裁决)/18cdcb0(T0)/ab5ddad(T1)/8690230(T2)/bc73fa3(T3)/c583940(T4)+收口批;一次 L3 停机=卡⓪改前锚随 worktree 删除丢失不可恢复→用户裁甲案补采改前锚 40 局·总量 80 局明示批准;出口报告=[iter17-enemy-exit-report](design/qa/iter17-enemy-exit-report-2026-10-07.md))**:行集构成纪律三条落码(同坐标多行混编放开含 Boss 行集 P4乙+行序相邻加载校验 R6+实例总数≤4 spawn 守卫 P1甲)+floor 版解析退役全仓统走 ceil 行集数组(P2 甲,工作日志 312 销号)+spawn 行集受理逐行实例化+遭遇骰逐行各掷(Q8——单行行集消费序/次数逐位一致=零内容期随机流零变化)+断言面换代(expect_pools 三元键/双表精确行集契约/L2L3 定点行集口径)+混编正反断言十一条(冒烟六+单测五);文档=敌人系统 v0.15/难度曲线与Boss v0.24/registry/06 状态行;闸=冒烟 811/0(基线 805/0,+6 混编断言)+run_all 17 套+probe_gate 含 click 全绿+doc 三闸/熵增存量红零新增+MC 改前改后 40 局同种子全字段零差异(零漂移铁证;补采锚 L1 口径读数 off 4/20·formed 16/20 与卡⓪出口报告逐位同值=等价旁证);**人闸=实机目检四项+代拍板追认九项**(design/qa/iter17-enemy-人闸材料-2026-10-07.md。原估 T0-T8≈3.75d) | | 迭代 17 | **③暂停层只读入口批(2026-10-05 用户令编入本迭代)**:新增局内暂停层,承载钥石余额与解锁态(营地三柜台进度)只读查看——事实源=06「解锁界面与钥石呈现的交互形态(残余:暂停层只读入口)」条。考证在册:现行无暂停层;模态栈/设置面/调试浮窗三先例齐;UiKit 公共件(modal_shell/bcard/verb_button/徽章形制)与色板 token 单点现成;MetaProgression 只读访问器面齐全;战斗屏 GP/钥石已迁出=局内零查看入口正是本批由来。**美术红线:复用现行公共件与色板,零新素材零新色值(2026-10-05 用户立规)**。任务书=`design/research/任务书-暂停层只读入口批-2026-10-05.md`(T0-T5≈3.0d;🔴 契约 5 条含公共件单点/模态登记纪律;**✅ 裁点全裁(2026-10-06 用户令全按推荐:P1丁/P2甲/P3甲/P4甲);开工=U0**) | 迭代 15 出口 | **✅ 已全批落码落籍(2026-10-06/07,主区 merge --no-ff c8beaa2,闸全绿,worktree g-plan2-iter17-pause 分支 iter17-pause-20261006 两会话接力完成,提交 c08a901/fc9eb1e/d44fdd5+收口笔;出口报告=[iter17-pause-exit-report](design/qa/iter17-pause-exit-report-2026-10-06.md))**:暂停层本体+badge 工厂件收编(Q10 甲,营地钥石徽同步迁移观感零变化)+两屏常驻角标入口与 has_open 守卫+四探针断言(结构/点击/输入锁 case⑯/只读巡检/零动效契约/对比度对)+冒烟投影一致性 5 断言;闸=冒烟 788/0(基线 783/0)+run_all 17 套+probe_gate --click 全绿+doc 三闸零新增+MC 零跑(纯呈现零数值);存量移交=熵增闸 design/diagrams 越界(00712d5 总图批落籍漏步,主区同红)+06/07 gdd_lint 存量注记红(本批零触碰);**人闸=用户实机目检**(design/qa/iter17-pause-human-gate-checklist-2026-10-06.md,重点含排播排空副作用确认项 D2。原估 T0-T5≈3.0d 贴软盒内) | | 迭代 17 | **④生涯界面设计立项(2026-10-05 用户令编入本迭代;只做设计提纲不做实装)**:事实源=06「『生涯』界面——冒险中数据回看的唯一承接处」条(P-C7 裁:M9 已退役局内结算明细回看,历史数据现无承接面=用户知情裁决)。考证在册:回看退役已落码(battle_end_overlay/battle_log_view/ui_assembler 三处注记)+settlement_review_overlay.gd 遗留件在盘+跨局持久面=save v5 meta 域+recent_summaries 现役逐局留痕(cap=10,save_manager.gd SUMMARY_CAP——2026-10-06 联审勘误:原记「无历史冒险记录面」系事实错误;真实缺口=cap 扩容+用时埋点+总局数/通关局数 lifetime 计数域〔涉存档 schema〕+营地既有最近冒险清单的去留设计)。任务书形态=设计提纲版:信息架构+承载内容清单(跨局汇总/历史冒险回看/图鉴承接)+与既有界面关系+三期实装建议+待裁点,标注「实装批另行立项」。任务书=`design/research/任务书-生涯界面设计立项-2026-10-05.md`(**v1.1 2026-10-06 联审修订**:F4 改正 recent_summaries 现役/P2 甲口径重述=扩容+用时埋点/总局数通关局数标注涉 schema/营地清单去列入设计稿必答项/N 候选补「维持 10」;T0-T2≈1.25d 纯文档零测试;**✅ 裁点全裁(2026-10-06 用户令全按推荐:P0甲/P1甲/P2甲〔N 实装期定〕/P3甲/P4甲/P5甲);开工=U0**) | 迭代 15 出口 | ✅ **设计提纲已成文待用户评审(2026-10-06 卡④设计批完成,worktree iter17-career-20261006,纯文档零代码零测试)**:提纲=design/gdd/systems/跨局循环/生涯.md v0.1(范围草案——信息架构/承载内容清单/界面关系/分期建议/待裁点五节,P0-P5 已裁结论落文,新发现待裁点 P6 营地最近冒险条带去留随评审一并裁);02 根索引补行+06 状态行换代「设计提纲已成文待评审」。**人闸=用户评审提纲**;评审通过后期一/二/三实装批另行立项(不预占排期。原估 T0-T2≈1.25d 软盒内) | -| 迭代 18 | **③武器锻造系统设计提案批(2026-10-06 用户令入迭代 18;纯文档零代码——提案源=playnote 2026-10-06)**:用户提案=攻击力提升改造为「武器锻造」——剑(普攻)锻造升级加攻击、满级附带额外效果;后续增列长枪/法杖,攻击类型分别走穿刺/魔法;护甲由轻甲起级(先只提 AC)→解锁重甲/魔法甲(基础 AC 各异、可续升、满级各带额外效果)——武器/护甲差异化。产出=系统设计提案文档(与奇物属性值提升分类/护甲克制轴/营地柜台/锻造经济边界对齐,数值框架 provisional 终值归 Alpha 收官 M4 数值批统一调整〔未排期〕),裁点呈用户裁决;实装批另行立项。06 已登记专条。任务书=`design/research/任务书-武器锻造系统设计提案批-2026-10-07.md`(提纲版 v1.0——设计裁点在提案产物内全备选呈裁,任务书零待裁点;开工=U0) | ✅ 定稿 v1.2(零待裁点)——开工=U0 | T0-T2≈1.5d(一轮呈裁基线,盘问轮次扩展另计) | +| 迭代 18 | **③武器锻造系统设计提案批(2026-10-06 用户令入迭代 18;纯文档零代码——提案源=playnote 2026-10-06)**:用户提案=攻击力提升改造为「武器锻造」——剑(普攻)锻造升级加攻击、满级附带额外效果;后续增列长枪/法杖,攻击类型分别走穿刺/魔法;护甲由轻甲起级(先只提 AC)→解锁重甲/魔法甲(基础 AC 各异、可续升、满级各带额外效果)——武器/护甲差异化。产出=系统设计提案文档(与奇物属性值提升分类/护甲克制轴/营地柜台/锻造经济边界对齐,数值框架 provisional 终值归 Alpha 收官 M4 数值批统一调整〔未排期〕),裁点呈用户裁决;实装批另行立项。06 已登记专条。任务书=`design/research/任务书-武器锻造系统设计提案批-2026-10-07.md`(提纲版 v1.0——设计裁点在提案产物内全备选呈裁,任务书零待裁点;开工=U0) | 🔨 提案已成文交付(2026-10-07)待盘问裁决(异步不阻塞) | T0-T2≈1.5d(一轮呈裁基线,盘问轮次扩展另计) | | 迭代 18 | **④生涯界面实装批(2026-10-06 用户令入迭代 18)**:按迭代 17 卡④设计提纲(design/gdd/systems/跨局循环/生涯.md v0.1,master 44328b1)实装「生涯」界面——跨局汇总/历史冒险回看/图鉴承接;提纲在册要点=recent_summaries 现役 cap10 扩容+用时埋点/总局数与通关局数(涉存档 schema)/营地最近冒险清单去留(P6 必答项随评审定);分期建议随提纲。任务书=`design/research/任务书-生涯界面实装批-2026-10-07.md`(v1.0——范围=提纲期一〔汇总页+主菜单入口+终身计数域存档 v6〕,期二/期三零触碰;裁点 P1 通关局数口径/P2 汇总条目集/P3 模态登记序待裁;提纲评审若改期一范围则任务书升版) | **✅ 提纲期一追认+裁点全裁(2026-10-07 用户令代解/全甲;P6 随期二)**——开工=U0 | T0-T5≈2.5d | | 迭代 18 | **⑤混编遭遇首批投放批(2026-10-06 用户令入迭代 18;纯内容批——机制前置=迭代 17 卡①敌人表行集多行批)**:07「后续内容批义务」落地——首个混编遭遇行+Boss 多行内容投放(敌种候选与坐标=本批裁点);首遇教学位纪律与 expect_pools 断言面逐项复核(巨蜘蛛首遇位「固定 2 不加骰」等表注释为准);难度带读数义务随批登记 07,MC 取证跑批**顺延 Alpha 收官 M4 数值批统一执行**〔未排期,届时另令——2026-10-06 用户令:数值统一调整殿后;投放本身不阻塞〕。任务书=`design/research/任务书-混编遭遇首批投放批-2026-10-07.md`(v1.0——纯内容批零代码,机制面全由卡①承载,机制缺口=L3 停机;裁点 P1 首批投放方案〔荐甲=L2 单点试水〕/P2 Boss 多行不入首批/P3 教学界保护待裁) | 迭代 17 卡①落籍(✅ 已满足 9cc4b8b)+**✅ 裁点全裁(P1-P4 甲,2026-10-07)**——开工=U0 | T0-T5≈1.75d(MC 取证顺延另计) | | 迭代 18 | **⑦新冒险种子随机化+调试浮窗升级(2026-10-07 用户令入迭代 18,同日两裁点全裁+浮窗目标态已定)**:**(a) 种子随机化**——现状考证 main.gd:1210 `_seed_value()` 调试种子框为空时硬编码返回 42=每次新冒险同一种子全程可复现;改法=玩家界面入口(主菜单开新冒险)默认分支随机生成;**✅ 裁点全裁(2026-10-07 用户令):①首次冒险维持固定种子(教学态可复现)/②测试脚本与调试接口维持显式指定种子(冒烟·MC·探针全链显式传种子零影响,锚零作废)/③种子不进玩家 UI**;断点续玩零影响(存档已载 master_seed 回填,main.gd:447 现役);与⑥收官批零耦合、排序自由。**(b) 调试浮窗升级**(承载「调试浮窗可查当局数据」裁点=种子的唯一查看位;**本项修订迭代 15 卡① P3 甲「仅开始菜单可开·对局不可达」裁决**)——目标态三件:独立于整体界面的**最高层浮窗**(对局中也可开)/DS_DEBUG=1 调试态下**默认打开**/新增**当局数据只读区块**(当前局种子/关卡/节点/HP/GP/钥石等——玩家 UI 不展示、调试浮窗可查)。考证在册(2026-10-07 实查):现行=开始覆盖层角标入口〔main.gd:292-293,DS_DEBUG=1 点亮〕+main.gd:1189 门禁「仅开始菜单可开」+Dialog 形态走 ModalStack 模态栈登记〔非最高层〕+visible=false 初始非默认开+五区块(胜利演出/种子输入/数值滑条/批量模拟/两层调试)无当局数据面。任务书待裁点:最高层与模态栈登记制的关系〔置顶/登记序末+move_child 或独立层〕/输入吞噬边界〔浮窗矩形外透传游戏输入〕/对局发起「随开随收」逻辑改向/ui_tune_probe 断言面换代/入口形态(角标宿主迁移或热键)。任务书=`design/research/任务书-种子随机化与调试浮窗升级批-2026-10-07.md`(v1.0——实装级裁点 P1 遮挡语义〔荐甲=维持登记制〕/P2 入口形态〔荐甲=角标迁宿主〕/P3 默认打开范围〔荐甲=启动即开〕/P4 当局数据字段集〔荐甲=六项〕/P5 首局种子值〔荐甲=沿用 42〕待裁;估时勘误 1d→2.0d 含探针换代与收口) | **✅ 裁点全裁(2026-10-07 用户令全按推荐:P1-P6 甲)**——开工=U0 | T0-T5≈2.0d |