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) {