From 383402ee4fd307403c120143a954e816981cba1e Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 23 Aug 2021 15:25:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=95=87=E5=BF=B5=E5=A1=94=EF=BC=9A=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E4=B8=8A=E9=98=B5=E6=AD=A6=E5=B0=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/servers/battle/handler/normalBattleHandler.ts | 2 +- game-server/app/services/battleService.ts | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/game-server/app/servers/battle/handler/normalBattleHandler.ts b/game-server/app/servers/battle/handler/normalBattleHandler.ts index 645ba3634..64010fb18 100644 --- a/game-server/app/servers/battle/handler/normalBattleHandler.ts +++ b/game-server/app/servers/battle/handler/normalBattleHandler.ts @@ -72,7 +72,7 @@ export class NormalBattleHandler { } dailyNum = Object.assign(dailyNum, checkResult.data); } else if (warInfo.warType == WAR_TYPE.TOWER) { - let checkResult = await checkTowerWar(roleId, battleId, heroes); + let checkResult = await checkTowerWar(roleId, battleId, seqIds, heroes); if (checkResult.status == -1) { return checkResult.resResult } diff --git a/game-server/app/services/battleService.ts b/game-server/app/services/battleService.ts index be5f001d6..b16bb5fb1 100644 --- a/game-server/app/services/battleService.ts +++ b/game-server/app/services/battleService.ts @@ -140,7 +140,7 @@ export async function checkTaskRewards(roleId: string, batchCode: string, tasks: return { compTasks, rewards }; } -export async function checkTowerWar(roleId: string, battleId: number, heroes: Array) { +export async function checkTowerWar(roleId: string, battleId: number, seqIds: number[], heroes: Array) { let { towerLv } = await RoleModel.findByRoleId(roleId); const towerInfo = gameData.tower.get(towerLv); if (!towerInfo) { @@ -160,14 +160,15 @@ export async function checkTowerWar(roleId: string, battleId: number, heroes: Ar let { heroes: recHeroes = [], warStatus = [] } = tower; let dicWar = gameData.war.get(battleId); let { fobiddenCharactor } = dicWar; - for (let hid of heroes) { + for (let hid of seqIds) { if (recHeroes.indexOf(hid) !== -1) { return { status: -1, resResult: resResult(STATUS.TOWER_DUPLICATE_HERO) }; } + } + for(let hid of heroes) { if(checkForbiddenChar(hid, fobiddenCharactor)) { return { status: -1, resResult: resResult(STATUS.TOWER_HERO_FORBIDDEN) }; } - } const curWarStatus = warStatus.find(elem => elem.warId == battleId); if (curWarStatus && curWarStatus.status) { @@ -208,11 +209,13 @@ export async function towerBattleEnd(sid: string, funcs: number[], roleId: strin if (battleRec.battleId != battleId) { return { status: -1, resResult: resResult(STATUS.BATTLE_ID_NOT_MATCH) }; } + let { towerLv, roleName } = await RoleModel.findByRoleId(roleId); let { warStatus, heroes: recHeroes } = await TowerRecordModel.getRecordByLv(roleId, towerLv); + console.log('*******', towerLv, heroes.join(), recHeroes.join()) for (let hid of heroes) { if (recHeroes.indexOf(hid) !== -1) { - return { status: -1, resResult: resResult(STATUS.TOWER_DUPLICATE_CHALLENGE) }; + return { status: -1, resResult: resResult(STATUS.TOWER_DUPLICATE_HERO) }; } }