材料副本:首通、扫荡与进度
本页于 2026-10-15 整合现有功能稿、飞书内容及客户端 origin/develop@7f0636c9 的功能资料。原 draft/unknown 不因整理自动变为批准;设计规则、源配置与运行结果分别说明。本次只做文档及源码审阅,没有执行游戏功能测试。
入口与前提
副本列表选择金币、精灵石或装备等类型进入关卡列表。按主角等级/前置关卡开放类型,具体条件取配置。关卡为锁定、可挑战、可扫荡三态;首关默认可挑战,通关推进下一关并把本关变为可扫荡。通常只显示上一已通关关、当前可挑战关和后续锁定项,显示窗口最多6关,列表不滚动;最后一关通过后只保留最后关扫荡。
战斗复用主线波次选卡流程,但材料关独立读取时间轴与系数,不使用主线奖励/星级/下一关按钮。材料关退出后直接回同副本类型关卡列表,无主界面闪现;列表返回副本列表,再返回家园。
完整关卡、奖励与配置规则
材料副本
材料副本详细设计
材料副本包含以下几类关卡(具体看配置)
1、金币关
2、其他材料关
后续还可增加
- 都使用同一套关卡机制,只是怪物不同,刷怪时间轴不同,掉落不同,奖励不同
材料关玩法设计
与主线关卡玩法一致
- 进入关卡——波次选择手牌——战斗——结算
胜利后结算并获得关卡奖励
各类型关卡详细设计
各类型关卡,都预设X关左右,根据配置
-
关卡开放:根据主角等级开放各类型的材料关卡
-
金币关:主角X级(配置)
-
通关关卡x(配置)
-
关卡开放后,即可挑战该类型关卡
关卡状态:分为锁定,可挑战,可扫荡几种
-
第1关默认可挑战,其他默认锁定
-
当关卡挑战胜利后,解锁下一关,本关转为可扫荡状态
-
关卡解锁后就转为可挑战状态以此循环
-
只可对当前可挑战关卡的上一关进行扫荡,其他关卡隐藏不可见
-
当最后一关挑战胜利后,不再解锁下一个关卡,且保持当前最后一关可扫荡,其他关隐藏不可见即可
关卡挑战:
-
关卡转为解锁状态后即可挑战,挑战不消耗次数或其他道具
-
每个关卡首次打时,需正常手动挑战,走关卡完整流程
-
挑战胜利处理:
-
获得关卡本身奖励,额外获得一次首通奖励
-
本关转为可扫荡状态,不可再挑战
-
挑战失败处理:
-
不获得任何奖励,可随时重新挑战
-
本关维持可挑战状态
关卡扫荡:
-
可扫荡状态的关卡可直接扫荡并获得关卡本身奖励
-
扫荡消耗扫荡次数,扫荡次数分关卡类型记录
-
如金币关扫荡时,只消耗金币关的扫荡次数
-
所有类型关卡的扫荡次数各自记录
-
扫荡成功后扣减,无次数则不可扫荡
-
扫荡次数:默认每日X次(配置),0点重置,可被其他功能影响增加次数(如特权卡等)
-
次数每日0点重置回X次,重置前的次数直接清除不累计
关卡奖励:
-
关卡本身奖励,每一关通关或扫荡即给的奖励(配置)
-
关卡首通奖励,关卡首次挑战胜利后额外给于的奖励,需与本身奖励一起发放,只可获得一次(配置)
UI界面
数据结构
副本列表界面配置
- raid_list.csv
副本类型配置字段与示例
| ID | RaidType | MissionType | ChallengeCount | UnlockLevel | Name | BackgroundPic | Reward |
|---|---|---|---|---|---|---|---|
| int | RaidType | MissionType | int | int | string | string | (list#sep=|),int |
| c,s | c | c,s | c,s | c | c | c | c |
| 自增ID | 玩法类型 | 关卡类型 | 扫荡(挑战)次数 | 解锁等级 | 名称 | 展示背景图 | 展示奖励 |
| 1 | 材料关 | 金币猎场 | 3 | 3 | mission_name_1 | liechang02 | 212|213|214 |
| 2 | 挑战关 | BOSS挑战 | 3 | 3 | mission_name_2 | liechang03 | 212|213|215 |
副本关卡界面配置
- raid_mission.csv
材料关配置字段与示例
| MissionID | MissionType | FrontMissionID | Reward | FirstReward | SuggestPower | BackgroundPic | BossName | BossDesc | BOSSSpine |
|---|---|---|---|---|---|---|---|---|---|
| int | MissionType | int | (list#sep=;),ItemSub | (list#sep=;),ItemSub | int | string | string | string | string |
| c,s | c,s | c,s | c,s | c,s | c | c | c | c | c |
| 关卡ID | 关卡类型 | 前置关卡ID | 扫荡奖励 | 首杀奖励 | 推荐战力 | BOSS背景图 | BOSS名字 | BOSS描述 | BOSS立绘 |
| 101 | 金币猎场 | 1|500;211|50;212|15;213|5 | 2|50;1|2000;211|290;212|130 | 529 | |||||
| 102 | 金币猎场 | 101 | 1|1000;211|100;212|30;213|10 | 2|50;1|4000;211|570;212|290 | 1258 | ||||
| 103 | 金币猎场 | 102 | 1|1500;211|150;212|45;213|15 | 2|100;1|6000;211|800;212|450 | 2444 |
玩家界面规则
可挑战/未解锁行展示首通奖励,可扫荡行展示常规奖励。可挑战按钮进入完整战斗;扫荡成功扣本类型次数并弹奖励,次数不能跨类型借用。原型要求剩余扫荡次数大于1时按钮红点,恰好1次不亮与一般“可操作就亮”不同,仍需产品确认。关卡名与锁定文案的第N关按该类型全配置序列计算,不使用裁剪后的列表位置或missionId减常量。
当前实现证据与尚未统一的边界
MaterialLevelController明确为Material玩法,MaterialLevelExtension读取材料表QueueID/MissionCoefficient;不再借用主线怪物/奖励。材料表无场景列,按QueueID查询其主线场景;该机制要求同QueueID场景一致,若未来独立场景列落地应直接切换。InstanceStart登记进关,虽然proto没有专属Resp,服务端存在空ack。最新交接口径统一“配置→资源前置→服务端ack→切场景”;旧发完即走的过程记录不再作为实施要求。InstanceChallenge材料只用is_win,star/damage/damage_percent传0;instance写MaterialModel并刷新,call_back_items用于结算奖励。胜利有常规+首通,失败不发材料奖励;服务端拒绝不得本地推进。- 本地主线续战在材料关禁用,非主线旧快照静默丢弃并清标记/文件。
- 后端Snapshot返回当前instance,材料挑战失败不改进度、胜利首通才推进pass;客户端剩余次数采用回包remain_count还是本地上限+特权−used_count仍需具体消费点核实。
- 跳转配置
MaterialUI已登记,并不等于运行handler和所有调用方已生效;旧“尚无生成类型”的阶段说法不能自动作为今天现状。
设计原型
以下用于保留材料/挑战列表及奖励界面的原始布局意图;示意数值不替代上面的配置规则。


















来源
旧instance;飞书日常副本Lyawbgfw3oO4lWxpUXqcOr6pnrd材料与列表部分;客户端Docs/Spec/material-level-design.md(后续§12–13覆盖早期局外范围)、DailyDungeon/frontend-brief.md。
后端证据:service/role/handler/instance/material.go,基线88b24abe;materialStart无扣除与Save,materialSweep成功调用CommitSweep。