符文镶嵌、合成与方案
旧飞书称“装备宝石”的六部位镶嵌、开孔、合成与三套方案,与当前 rune/runeequip 实现属于同一功能域,统一在此维护。效果内容单独见符文属性与专属效果。本页同时写明旧设计与当前代码差异,不把旧金色封顶沿用到现有红色配置。
实例与孔位
符文实例有唯一 InstanceId、RuneId、随机附加属性、锁定和镶嵌槽位置。六装备部位各自默认 1 孔、最多 5 孔,满开为 30 孔。符文只能装入自身对应部位;同部位不允许重复属性组。来源定义每颗有基础攻击与按品质权重抽取的附加属性;当前 rune.csv 的 ExtraAttr 指向随机属性池,实际附加结果保存到实例,不由客户端重新随机。
玩家手动开孔,先前孔开启后才显示下一锁定孔。开孔条件按全身已开孔总数选择下一行,并校验玩家等级或通关条件;每次选择一个未满部位增加 1 孔。不能把条件误解为每部位各自重新从第 7 孔开始。来源中“第 5 个总孔”与六部位初始各一孔自相矛盾,现行配置从总数 7 开始已消除该歧义。
配置 01457767 当前开孔数与玩家等级完整映射:
| 总孔数 | 所需等级 | 总孔数 | 所需等级 | 总孔数 | 所需等级 |
|---|---|---|---|---|---|
| 7 | 5 | 15 | 13 | 23 | 29 |
| 8 | 6 | 16 | 15 | 24 | 31 |
| 9 | 7 | 17 | 17 | 25 | 33 |
| 10 | 8 | 18 | 19 | 26 | 35 |
| 11 | 9 | 19 | 21 | 27 | 37 |
| 12 | 10 | 20 | 23 | 28 | 39 |
| 13 | 11 | 21 | 25 | 29 | 41 |
| 14 | 12 | 22 | 27 | 30 | 43 |
旧宝石表用总孔 7/8/10/13/17/22/28/30 对应通关 5/10/12/21/29/37/45/53,仅保留为被当前等级条件替换的设计数值,不作为第二套开孔模式。
镶嵌、替换、拆卸与锁定
空孔且无相同属性组时直接镶嵌;没有空孔时选择该部位目标孔替换,旧实例完整回背包。拆卸不销毁符文,属性和锁定保持。已镶嵌对比弹窗不直接提供拆卸,拆卸入口在已镶嵌详情。
来源早期按品质判断同类替换,7 月 22 日又要求按效果值比较,低于或等于现有效果的不允许替换。当前后端校验不同:validateSingleMountEntry 检查实例、未镶嵌、孔有效/已开;checkMountAttrGroupConflict 排除被替换旧实例后检查同部位属性组。该路径没有比较新旧品质或效果强弱,也不因实例 Locked 而拒绝镶嵌。锁定在当前代码中明确保护合成;不能写成“锁定符文不可装备”。产品是否仍要求禁降级替换,需要裁定并与 UI/服务端统一。
批量镶嵌先预检全部条目,拒绝重复实例、同部位同孔冲突、未开孔、同属性组冲突,再卸旧装新;批量拆卸预检实例和已镶嵌状态。具体孔索引是部位内 0—4,不携带其他部位参数,实例所属部位由配置决定。
品质与合成
来源只有白、绿、蓝、紫、金,固定 4 合 1、金封顶;现行配置有白、绿、蓝、紫、金、红六品质,六部位基础攻击分别均为 16、32、48、64、80、96。后端拒绝红及以上继续合成,目标品质取源品质+1;public.rune_compose=4 是当前数量配置。旧衣服白/绿/蓝攻击 5/8/14、裤子 4/6/10 为历史示例,已被现表替代。
合成消耗同部位、同品质的可用实例,生成高一级的新实例并重新随机该品质属性;不沿用旧属性、不定义失败概率。排除锁定、当前镶嵌、任意方案引用的实例,候选按 InstanceId 升序选择。支持一次请求多个部位与品质、每条指定合成组数;不足、目标品质不存在或容量不允许时返回错误。原设计“4 个固定某效果合成同效果”没有依据,不能补入。
三套方案
最多 3 套,默认第 1 套;首次切换到新方案,其符文为空。当前方案修改自动保存。切换先保存旧方案挂载状态、卸下当前实例,再恢复目标方案有效实例;目标中已消耗或不存在实例被跳过并清理。重复切当前方案无变化。非当前方案引用的实例仍受合成保护。
飞书称“复制装备但不复制宝石”,当前服务端 RuneSchemeSlot 只记录部位、孔索引、符文实例,未记录装备实例。因此三套符文方案已经有实现,但“三套独立装备穿戴方案”不能从此推定。符文方案切换响应提供方案及卸下/装上差量;恢复后基础攻击和效果应从当前方案重算。
界面与状态
装备孔星形图标用灰色表示空孔、品质色表示有符文。当前方案页签更大且绿色,其他灰色。背包默认全类型,优先可用/可替换,再品质、部位;同组未穿装备的部位靠后(8 月 3 日修订)。同部位、品质、效果的展示堆叠上限 9999,超出另起堆叠;这不取消底层唯一实例。非当前方案占用标记应可见,较低同类效果置灰。
已镶嵌区依次显示未达条件锁定、可手动解锁带红点、已开空孔、已镶嵌四态。详情包含图标、品质、效果、锁定和卸下。选择背包符文后右侧展示当前部位与替换关系;成功后从可选背包移除该实例、按钮置灰,避免重复点击。无合法位置、同类冲突、孔未开等反馈必须与服务端结果一致。
总览分全部、通用、英雄、元素四页,全部是其并集;来源要求相同效果仅展示最高值,值绿色,专属/稀有用图标区分。展示最高值不等于战斗实际只应用最高值;不同部位的叠加仍需按属性与 Perk 语义判断。



图中的职业、梦灵、关卡 1234 和伤害百分比是原型示例,当前总览分类已按正文采用英雄/元素,开孔采用现表等级条件。
合成列表按品质、部位、同组数量降序排列,隐藏锁定及任一方案镶嵌实例,说明使用 rune_rule_des,成功展示奖励。没有可合成材料时点击合成提示“没有可以合成的宝石”。背包展示堆叠、合成候选及方案保留三者要基于同一实例集合,不能用堆叠总数直接允许消耗受保护实例。

图内另有“高品质和稀有词条合成二次确认”的提示;其具体品质阈值/稀有判定及当前 UI 是否实现未给出,保留为明确待核实交互,不自行添加服务端审批步骤。
红点与箭头
| 触发条件 | 传播位置 | 消失条件 |
|---|---|---|
| 对应部位有空孔且有可镶嵌符文 | 主界面主角红点 → 符文页签 → 背包候选箭头 | 没有可镶嵌符文 |
| 同效果候选数值高于已镶嵌 | 主界面主角红点 → 符文页签 → 背包可替换箭头 | 没有更强的可替换符文 |
| 同部位同品质可用材料达到合成数量 | 主界面主角红点 → 合成按钮红点 | 没有可合成组 |
| 有部位可开启下一孔 | 主界面主角红点 → 装备部位红点 → 符文属性 → 可开启孔位红点 | 没有可开孔,或该孔开启成功 |
这是来源提示规则;原“除金、4 个”合成条件现对应当前红色封顶与配置数量 4。更强替换的箭头可以作为推荐,但不能把它误述为后端现已禁止所有弱替换。
当前实现、差异与测试入口
后端 origin/master@88b24abe 已读 service/role/model/runeequip/entity.go、scheme.go 和 handler/runeequip/rune.go,存在批量装卸、合成、开孔、锁定、切方案、总览接口。不得继续沿用旧文档“无符文后端”的结论。配置 origin/master@01457767 的 rune.csv/rune_attr.csv/rune_open.csv/public.csv 提供当前参数。
前端 origin/develop@7f0636c9 的 RuneProgressionProvider 汇总已挂载基础攻击与属性效果,模型版本控制快照更新;战斗读取冻结快照。服务端方案存在不证明所有 UI 已正确刷新,也不证明每项专属效果已实现。
现有后端 model/runeequip/entity_test.go、db_test.go 与 handler/runeequip/rune_test.go 覆盖相关入口;本轮未执行、未新增或扩写。待核实的具体差异是同类弱效果替换是否应禁止、三套装备是否在范围内、总览与实战效果叠加、跨方案保护与实际切换刷新。
来源依据
旧 rune、equipment 的镶嵌边界,飞书 LOslbSJVqotRToxvfzEc9l8nn6b《装备宝石.xlsx》全部功能表与界面说明,以及 SSyQdUQ9dotnE9xDs6dcNO3knpd《符文效果》形成同一功能正文;后者详细效果归入相邻效果页。原飞书审批未知,当前实现状态基于上述提交的只读审计。