完成所有基础任务, 奖励额外的ticket

This commit is contained in:
CounterFire2023 2024-04-12 17:55:35 +08:00
parent e1d85b1c3f
commit a5221144ab
2 changed files with 16 additions and 1 deletions

View File

@ -32,6 +32,8 @@ export const MAX_ENHANCE_COUNT_BASE = 1
export const MAX_ENHANCE_COUNT_ADV = 10 export const MAX_ENHANCE_COUNT_ADV = 10
// 宝箱助力增加的分数 // 宝箱助力增加的分数
export const ENHANCE_CHEST_GIFT = 10 export const ENHANCE_CHEST_GIFT = 10
// 完成所有基础任务额外奖励的ticket
export const BASE_TASK_TICKET = 3
// 低保步数 // 低保步数
export const RESET_STEP = 2 export const RESET_STEP = 2

View File

@ -4,6 +4,7 @@ import { TaskStatus, TaskStatusEnum } from 'models/ActivityUser'
import { join } from 'path' import { join } from 'path'
import { formatDate } from 'utils/utcdate.util' import { formatDate } from 'utils/utcdate.util'
import { GeneralScription } from 'models/chain/GeneralScription' import { GeneralScription } from 'models/chain/GeneralScription'
import { BASE_TASK_TICKET } from 'common/Constants'
const fs = require('fs') const fs = require('fs')
const prod = process.env.NODE_ENV === 'production' const prod = process.env.NODE_ENV === 'production'
@ -206,6 +207,18 @@ export default class TasksController extends BaseController {
const Task = require('../tasks/' + currentTask.task) const Task = require('../tasks/' + currentTask.task)
const taskInstance = new Task.default({ user, activity }) const taskInstance = new Task.default({ user, activity })
const { score } = await taskInstance.claimReward(currentTask) const { score } = await taskInstance.claimReward(currentTask)
return { status: currentTask.status, score, ticket: 0 } const baseTaskSet = new Set(activity.baseTasks)
let count = 0
for (let task of user.taskProgress) {
if (baseTaskSet.has(task.id) && task.status === TaskStatusEnum.CLAIMED) {
count++
}
}
let ticket = 0
if (count === baseTaskSet.size) {
// all base task finished, give ticket
ticket = BASE_TASK_TICKET
}
return { status: currentTask.status, score, ticket }
} }
} }