活动:30目标任务统计

This commit is contained in:
qiaoxin
2021-05-07 20:23:32 +08:00
parent f32e6e312f
commit 6df47b0336
5 changed files with 130 additions and 62 deletions
@@ -257,8 +257,10 @@ export class HeroHandler {
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero); await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero); await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
//成长任务 //成长任务
let dicHero = gameData.hero.get(hero.hid);
await accomplishTask(roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star }); await accomplishTask(roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
if (hero.colorStar) {//觉醒升星
await accomplishTask(roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, star: hero.star });
}
} }
const curHero = { const curHero = {
@@ -313,6 +315,8 @@ export class HeroHandler {
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero); await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero);
// 任务
await accomplishTask(roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality, quality: hero.quality });
const curHero = { const curHero = {
hid, hid,
@@ -375,6 +379,7 @@ export class HeroHandler {
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero); await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {}); await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
await accomplishTask(roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { quality: hero.quality });
} }
const curHero = { const curHero = {
hid, hid,
+3
View File
@@ -649,6 +649,9 @@ export enum TASK_TYPE {
GUILD_ACTIVITY = 71, // 军团活动 GUILD_ACTIVITY = 71, // 军团活动
GUILD_JOIN = 72, // 加入军团 GUILD_JOIN = 72, // 加入军团
BATTLE_MAIN_ELITE = 73, // 精英通关 BATTLE_MAIN_ELITE = 73, // 精英通关
HERO_QUALITY_TO_QUALITY_COUNT = 74,// *名武将*品升*品
HERO_WAKE_UP_COUNT = 75, // *名武将*品觉醒
HERO_WAKE_UP_STAR_UP_COUNT = 76, // *名武将升至觉醒*星
} }
// 卡池类型 // 卡池类型
+18 -3
View File
@@ -517,6 +517,10 @@ export async function accomplishTask(roleId: string, taskType: TASK_TYPE, count:
} }
//30天任务统计 //30天任务统计
if (taskType === TASK_TYPE.HERO_QUALITY_STAR_UP ||
taskType === TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT ||
taskType === TASK_TYPE.HERO_WAKE_UP_COUNT ||
taskType === TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT) {
allActivity = await ActivityModel.findOpenActivityByType(ACTIVITY_TYPE.THIRTY_DAYS, new Date()); allActivity = await ActivityModel.findOpenActivityByType(ACTIVITY_TYPE.THIRTY_DAYS, new Date());
for (let activity of allActivity) { for (let activity of allActivity) {
let thirtyDaysActivity = new ThirtyDaysData(activity); let thirtyDaysActivity = new ThirtyDaysData(activity);
@@ -524,14 +528,13 @@ export async function accomplishTask(roleId: string, taskType: TASK_TYPE, count:
for (let task of taskArray) { for (let task of taskArray) {
let addCount = isComplete(roleId, task.taskType, task.taskParam, count, parma); let addCount = isComplete(roleId, task.taskType, task.taskParam, count, parma);
if (addCount) { if (addCount) {
if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE) {
await ActivityThirtyDaysModel.setTaskCount(thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount);
} else {
await ActivityThirtyDaysModel.addTaskCount(thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount); await ActivityThirtyDaysModel.addTaskCount(thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount);
} }
} }
} }
} }
} }
/** /**
@@ -562,9 +565,21 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin
case TASK_TYPE.HERO_NUM: case TASK_TYPE.HERO_NUM:
addCount = count; addCount = count;
break; break;
case TASK_TYPE.HERO_QUALITY_STAR_UP://herocount&quality&star& case TASK_TYPE.HERO_QUALITY_STAR_UP://herocount&quality&star&
addCount = (param[1] == paramObj.quality) && (param[2] == paramObj.star) ? count : 0; addCount = (param[1] == paramObj.quality) && (param[2] == paramObj.star) ? count : 0;
break; break;
case TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT://herocount&quality&star& {oldQuality, quality: hero.quality}
addCount = (param[1] == paramObj.oldQuality) && (param[2] == paramObj.quality) ? count : 0;
break;
case TASK_TYPE.HERO_WAKE_UP_COUNT://herocount&quality
addCount = (param[1] == paramObj.quality) ? count : 0;
break;
case TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT://herocount&star&
addCount = (param[1] == paramObj.star) ? count : 0;
break;
case TASK_TYPE.ROLE_TITLE://重置数据 case TASK_TYPE.ROLE_TITLE://重置数据
addCount = param[0] <= count ? count : 0; addCount = param[0] <= count ? count : 0;
break; break;
@@ -1093,5 +1093,50 @@
"__EMPTY_3": 0, "__EMPTY_3": 0,
"__EMPTY_4": 0, "__EMPTY_4": 0,
"__EMPTY_5": 0 "__EMPTY_5": 0
},
{
"id": 74,
"name": "武将",
"info": "x名x品质武将升至X品质",
"param": "herocount&quality&quality",
"string": "武将数量&武将初始品质&武将升级后品质",
"content": 0,
"condition": "herocount",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0,
"__EMPTY_4": 0,
"__EMPTY_5": 0
},
{
"id": 75,
"name": "武将",
"info": "x名x品质武将觉醒",
"param": "herocount&quality",
"string": "武将数量&武将初始品质",
"content": 0,
"condition": "herocount",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0,
"__EMPTY_4": 0,
"__EMPTY_5": 0
},
{
"id": 76,
"name": "武将",
"info": "x名武将觉醒后升至x星",
"param": "herocount&star",
"string": "武将数量&星级",
"content": 0,
"condition": "herocount",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0,
"__EMPTY_4": 0,
"__EMPTY_5": 0
} }
] ]