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; }