From 30e011bcadacacf53d52cc58b170af5d8074871b Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 10 May 2023 22:19:42 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(pvp):=20=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E5=AF=B9=E6=89=8B=E6=9C=89=E6=97=B6=E4=BC=9A=E6=9C=89=E5=A4=9A?= =?UTF-8?q?=E4=BA=8E3=E4=B8=AA=E7=9A=84=E5=AF=B9=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/pvpService.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/game-server/app/services/pvpService.ts b/game-server/app/services/pvpService.ts index 7bbe2c7b7..6e8a231cd 100644 --- a/game-server/app/services/pvpService.ts +++ b/game-server/app/services/pvpService.ts @@ -41,6 +41,7 @@ export async function getEnemies(oppPlayers: OppPlayer[], winStreakNum: number) let result = new Array(); for (let oppPlayer of oppPlayers) { let dicOpponent = dicPvpOpponent.get(oppPlayer.pos); + if(!dicOpponent) continue; let oppDef = oppPlayer.oppDef; // select 'oppRoleId pos roleName head frame spine rankLv pLv defCe' if (oppDef) delete oppDef.heroes; @@ -67,8 +68,9 @@ export async function refreshEnemies(role: RoleType, seasonNum: number, sumScore let groupId = await getPVPGroupIdOfServer(serverId); let chosenOpps: string[] = []; let pvpHistoryOppParam: PvpOppCreateParam[] = []; - let opp = dicPvpOpponent.values() - for (let dicOpp of opp) { + for(let pos = 1; pos <= 3; pos++) { + let dicOpp = gameData.pvpOpponent.get(pos); + if(!dicOpp) continue; let pvpHistoryOpp: PvpOppCreateParam; // 是否筛选成功 if (sumScore >= PVP.PVP_MATCH_ROBOT) { pvpHistoryOpp = await matchPlayer(groupId, seasonNum, chosenOpps, roleId, pLv, dicOpp); // 按照等级匹配对手 @@ -97,6 +99,9 @@ export async function refreshEnemies(role: RoleType, seasonNum: number, sumScore pos: pvpHistoryOpp.pos, }); } + if(dicPvpOpponent.size > 3 && !pinus.app.get('dicPvpOpponent')) { + pinus.app.set('dicPvpOpponent', dicPvpOpponent); + } return oppPlayers; }