日常、周常、主线与成就任务
本页于 2026-10-15 整合现有功能稿、飞书内容及客户端 origin/develop@7f0636c9 的功能资料。原 draft/unknown 不因整理自动变为批准;设计规则、源配置与运行结果分别说明。本次只做文档及源码审阅,没有执行游戏功能测试。
入口、前提与状态
从任务入口或主线快捷任务进入任务界面。默认日常页,日常全完成后转周常,再转成就;服务端TaskState决定未接取、进行中、完成未领奖、已领奖,配置决定跳转目标和任务奖励。
完整规则、配置与界面
系统概述
设计目的
- 成就任务是整个游戏的任务系统合集,提供活跃玩家在游戏内,日常目标,周期阶段目标和长期目标
设计目标
-
建立日常,周常,长期的任务体系,在统一的任务功能机制下制作
-
设计具体任务内容,任务奖励,关联账号等级成长
系统框架
系统概述
1、成就任务基础功能设计
2、UI操作说明
红点需求
任务红点
| 模块 | 触发条件 | 红点位置 | 消失条件 |
|---|---|---|---|
| 任务 | 有任何任务奖励、宝箱奖励可领取 | 主界面任务图标(红点)-----每日任务/周任务/成就任务页签(红点) | 领取了所有任务奖励和宝箱奖励 |
| 任务栏任务已完成 | 主界面任务栏图标(红点)----任务栏任务对应页签(红点) | 领取了任务栏任务奖励 |
- 图示
基础功能设计
成就任务详细设计
任务基础逻辑
功能开放根据账号等级
一个完整任务由条件值,计数值,状态组成
条件:条件值
-
条件值按具体任务内容制作并配置
-
计数:计数值默认为1,玩家行为达成了条件后给于计数
-
每完成一次条件后给于一次计数
-
注意,会有一次行为完成多次计数的情况,程序按效率处理
-
计数值的触发次数需在前端有及时的返回显示
-
在任务条件未达成前,根据计数值显示进度
状态:根据完成条件的计数进度标识状态
-
未接取:任务按账号等级解锁,等级达到后自动接取,未解锁的任务视为未接取,且隐藏不显示
-
注意,任务未接取状态,计数值不生效
-
未接取的任务不显示在任务列表中
-
已接取未完成:条件计数值未达到指定值时,视为已接取未完成状态
-
已接取已完成:计数值达到指定值后,视为已接取已完成状态
-
计数值的累积值是可以大于指定值的,并可显示
-
已完成状态的任务可领取奖励
-
已接取已领奖:任务领取了奖励后,视为已领奖状态
-
如果任务有前后置关系,需前置任务标识为已领取状态,才可出现后置的下一条任务
-
前后置关系:任务链,多个任务通过前后置关系形成任务链
-
前后置关系只是判断该任务是显示或隐藏的标志
-
当任务配置有前置任务时,只有前置任务完成后,该任务才显示并开始计数,否则隐藏
-
可能会有多个任务以一个任务为前置,同理,前置任务已领奖后,多个任务同时显示即可
任务奖励:所有任务奖励都需手动领取
-
当任务状态为已接取已完成时,玩家可领取任务对应奖励
-
领奖方式:任务在已接取已完成的状态下显示领奖按钮
-
快速前往:任务在已接取未完成的状态下显示快速前往按钮
-
快速前往配置功能id,点击后打开对应的功能UI
任务类型
- 分为日常任务,周常任务,主线任务,成就等类型
日常任务
功能开放根据账号等级
1、刷新时间点为:每天0:00
-
刷新时重置所有任务的条件,包含已完成,未完成,已完成未领取等一切状态下的任务
-
重置所有任务的奖励,包含任务奖励,每日积分奖励等
-
所有未领取的奖励不补发
2、日常任务积分与积分宝箱
-
完成日常任务获得积分奖励,积分以道具形式获得,获得后自动使用转为积分
-
当积分累积到指定数值后,可领取积分宝箱
-
领取分值:10-20-30-40-50-60-70-80-100,根据配置设定
-
如当日累积完成任务后获得80积分,则可以将10-80的箱子全部领取
-
积分在重置时清空,积分宝箱在重置时清空,未领取不补发
周常任务
功能开放根据账号等级
1、刷新时间点为:每周一0:00
-
刷新时重置所有任务的条件,包含已完成,未完成,已完成未领取等一切状态下的任务
-
重置所有任务的奖励,所有未领取的奖励不补发
2、周常任务积分与积分宝箱
-
完成周常任务获得积分奖励,积分以道具形式获得(与日常积分不一样),获得后自动使用转为积分
-
当积分累积到指定数值后,可领取积分宝箱
-
领取分值:10-20-30-40-50-60-70-80-100,根据配置设定
-
如当日累积完成任务后获得80积分,则可以将10-80的箱子全部领取
-
积分在重置时清空,积分宝箱在重置时清空,未领取不补发
主线任务
有前后置关系的任务类型
任务只可完成一次,不重置,不刷新
- 由单独任务链组成,第一个任务达到指定条件后自动接取,线性完成任务链上的所有任务
成就任务
功能开放根据账号等级
跟主线任务类似,但又多条任务链组成
所有任务只做一次,不重置不刷新
- 任务达到指定条件后自动接取,任务链完成后,该任务链全部隐藏不显示
数据结构配置也可完全照搬,直接挪用
任务字段
| 任务id | 任务名称 | 描述 | 完成条件 | 进度显示 | 任务奖励 | 前置任务 | 前往id | 是否隐藏 | 分组显示 |
|---|---|---|---|---|---|---|---|---|---|
| int | sting | sting | 数组 | sting | 数组 | 数组 | 数组 | int | int |
积分宝箱
积分箱字段
| id | 积分类型 | 积分值 | 宝箱id | 奖励预览 |
|---|---|---|---|---|
| int | int | int | 数组 | 数组 |
任务条件类型示例
任务条件示例
| 目标id | 目标名 | 参数值(没有为空) | 计数值 | 说明 |
|---|---|---|---|---|
| int | sting | 数组 | 数组 | sting |
| Id | Type_name | Param | Num | Describe |
| 1 | 建筑x等级达到n | x-建筑id | 级数 | 大于等于n视为完成 |
| 2 | 任意建筑等级达到n | 级数 | 大于等于n视为完成 | |
| 3 | 任意建筑升级n次 | 次数 | 升级操作次数+1 | |
| 4 | 建筑x升级n次 | x-建筑id | 级数 | 升级操作次数+1 |
| 5 | 任意关卡胜利n次 | 次数 | 胜利次数+1 | |
| 6 | 指定关卡x胜利n次 | x-关卡id | 次数 | 胜利次数+1 |
| 7 | 通关指定关卡x | x-关卡id | 0 | 通过1次视为完成 |
界面需求
入口图示
-
主界面右侧任务图标,位于设置图标下方
-
主界面左下侧任务栏
日常,周常任务UI操作说明
-
奖励预览的物品区域,支持左右滑动
-
通用跳转功能另有任务单
主线,成就任务操作UI说明
- 主线任务在主界面的显示规则
每日任务
每周任务
长期任务
(主线/成就)
成就任务
每日重置
每周重置
只做一次不重置
任务界面,主界面点击任务图标进入
1、包含3个标签页,分别是每日任务,每周任务,成就任务
2、默认标签页显示优先级:1每日任务,2所有每日任务完成后,默认每周任务,3所有每周任务都完成后,默认成就任务
任务标签页
1、显示每日/每周任务重置时间倒计时
2、每日0点重置,倒计时显示到分钟,每周一0点重置,倒计时显示到小时
积分宝箱
1、预留6个宝箱位
2、根据配置,显示每个宝箱领取所需的积分值
3、最左侧图标是积分当前值,通过领取任务奖励获取,获取后直接换算为最新的值
4、宝箱状态:
状态1,不可领取,未到达积分时显示,点击宝箱弹出奖励预览弹窗,弹窗显示宝箱内所有奖励内容,左右拖动预览更多
状态2,可领取,达到积分时显示,宝箱图标右上角出红点,点击则立即领取所有奖励
状态3,已领取,领取奖励后显示,更换宝箱图标为宝箱已打开的图标,点击提示,奖励已领取
5、积分进度条,根据现有的积分值和每个宝箱的所需值计算显示
任务栏
1、根据配置,显示所有已接取的日常任务,上下滑动任务栏区域浏览更多
2、任务栏内容:任务描述(读表),任务进度条(根据计数值计算),计数值(读表),奖励预览图标(读表),前往/领奖按钮(状态切换)
3、任务栏显示状态
状态1:接取未完成,正常显示进度条和计数,按钮切为快速前往,点击跳转到对应的功能ui
状态2:已完成未领奖,正常显示进度条和计数,并将任务置顶显示,多个已完成则按完成时间排序,按钮切换为领取,点击可领取该任务奖励
状态3:已领奖:显示最终进度条和计数,将任务置于最末,多个已领奖则按领取时间排序,按钮切为已领奖,不可点击
实现证据、差异与未知
明确口径与未决项
未接任务不显示也不累计,达到等级或前置任务领取奖励后才接取;旧“前置完成”简写不应被解释为未领奖就开放。一个事件可推进多个已接任务,计数可超过目标,客户端展示进度不得反写服务端计数。任务奖励与积分箱独立手动领取,日/周重置未领奖不补发。
每日0点与周一0点使用服务器时间;具体业务时区未在此源落实。日常倒计时显示分钟、周常小时。已完成未领优先并按完成时间,已领移后按领取时间。UI六个积分箱槽与例表九档阈值不一致,需按实际配置和布局确认,不能丢掉其中一份后默认为六档。主线单链、成就多链均只完成一次,完成链隐藏。
原型与图示










来源
旧task;飞书JI93b95t2oQ9w2x2pejchvh9n5b的正文、表格、图示与UI标注;客户端HomeMain/frontend-brief.md。当前源码边界不等同运行验收。
后端实现证据(88b24abe)
handler/task/task.go的TaskMain空task_groups返回主线、日、周、成就四类;日周TaskReward空task_ids领取全部已完成任务;TaskBox仅日周,领取全部达阈值未领取宝箱。这是源码调用核实,不代表运行验收。