From dd2bbf3481e683ab7f6308652585bec76f39a334 Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 5 Jan 2022 14:58:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E5=B0=B1=EF=BC=9A=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=85=B3=E5=8D=A1=E4=BB=BB=E5=8A=A1=E7=AE=97=E5=85=A5=E6=89=AB?= =?UTF-8?q?=E8=8D=A1=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../battle/handler/normalBattleHandler.ts | 7 ++-- game-server/app/services/taskService.ts | 33 +++++++++++++++++++ 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/game-server/app/servers/battle/handler/normalBattleHandler.ts b/game-server/app/servers/battle/handler/normalBattleHandler.ts index 07932d6aa..b3c8a8d1a 100644 --- a/game-server/app/servers/battle/handler/normalBattleHandler.ts +++ b/game-server/app/servers/battle/handler/normalBattleHandler.ts @@ -19,7 +19,7 @@ import { gameData } from '../../../pubUtils/data'; import { pushMysteryFirstMsg, pushTowerMsg, pushVestigeFirstMsg } from '../../../services/chatService'; import { getSeconds, nowSeconds } from '../../../pubUtils/timeUtil'; import { Rank } from '../../../services/rankService'; -import { checkTaskWithWar, checkTaskInBattleEnd, checkActivityTask } from '../../../services/taskService'; +import { checkTaskWithWar, checkTaskInBattleEnd, checkActivityTask, checkTaskInBattleSweep } from '../../../services/taskService'; import { ActivitySelfServiceModel } from '../../../db/ActivitySelfService'; import { getSelfServiceShopActivityData } from '../../../services/activity/selfServiceShopActivityService'; import { challengeDailyGK } from '../../../services/activity/dailyGKService'; @@ -335,10 +335,7 @@ export class NormalBattleHandler { $inc: { count } }); - // 任务 - await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_MAIN_SWEEP, battleId, [], count, 0); - //活动任务 - await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_MAIN_SWEEP, count, { battleId }) + await checkTaskInBattleSweep(serverId, roleId, sid, battleId, count); return resResult(STATUS.SUCCESS, { battleId, count, diff --git a/game-server/app/services/taskService.ts b/game-server/app/services/taskService.ts index 68aede16b..98e6370df 100644 --- a/game-server/app/services/taskService.ts +++ b/game-server/app/services/taskService.ts @@ -127,6 +127,39 @@ export async function checkTaskInBattleEnd(serverId: number, roleId: string, sid } +export async function checkTaskInBattleSweep(serverId: number, roleId: string, sid: string, battleId: number, count: number) { + + // 任务 + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_MAIN_SWEEP, battleId, [], count, 0); + //活动任务 + await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_MAIN_SWEEP, count, { battleId }) + + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_MAIN, battleId, [], count, 0); + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_DAILY_STAR, battleId, [], count, 0); + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_DAILY, battleId, [], count, 0); + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_DUNGEON, battleId, [], count, 0); + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_DUNGEON_WAR, battleId, [], count, 0); + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_TOWER, battleId, [], count, 0); + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_VESTIGE, battleId, [], count, 0); + await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_EXPEDITION, battleId, [], count, 0); + //成长任务 + let dicWar = gameData.war.get(battleId); + if (dicWar) { + if (dicWar.warType == WAR_TYPE.NORMAL) { + await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_MAIN, count, { warId: battleId }) + } else if (dicWar.warType == WAR_TYPE.EXPEDITION) { + await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_EXPEDITION, count) + } else if (dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) { + await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_DUNGEON, count) + await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_DUNGEON_WAR, count, { warId: battleId }) + } else if (dicWar.warType == WAR_TYPE.TOWER) { + await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_TOWER, count) + } else if (dicWar.warType == WAR_TYPE.DAILY) { + await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_DAILY, count, { dailyType: dicWar.dailyType }) + } + } +} + export async function checkTaskInComBattleEnd(roleStatus: RoleStatus[], capId: string, quality: number) { console.log('********', JSON.stringify(roleStatus), capId, quality) for (let { roleId, isRobot } of roleStatus) {