diff --git a/game-server/app/services/battleService.ts b/game-server/app/services/battleService.ts index 3fbeeac2d..7e0c228b8 100644 --- a/game-server/app/services/battleService.ts +++ b/game-server/app/services/battleService.ts @@ -221,12 +221,17 @@ export async function towerBattleEnd(sid: string, roleId: string, serverId: numb } } - let inc = 1; - warStatus.forEach(st => { - if (st.warId !== battleId && st.status === false) { - inc = 0; - } - }) + let inc = 0; + let dicTower = gameData.tower.get(towerLv); + console.log('towerBattleEnd', towerLv, dicTower?.warArray, warStatus) + if(dicTower && dicTower.warArray) { + let wars = dicTower.warArray.filter(warId => { + let ws = warStatus.find(cur => cur.warId == warId); + let isPass = warId == battleId || (ws && ws.status == true); + return isPass; + }); + inc = wars.length == dicTower.warArray.length? 1: 0; + } let newRec = await TowerRecordModel.updateRecord(roleId, towerLv, battleCode, battleId, heroes, inc); let towerReward: RewardInter[] = null; if (inc === 1) {