🐞 fix(pvp): 刷新对手有时会有多于3个的对手

This commit is contained in:
luying
2023-05-10 22:19:42 +08:00
parent 500f8ee66f
commit 30e011bcad

View File

@@ -41,6 +41,7 @@ export async function getEnemies(oppPlayers: OppPlayer[], winStreakNum: number)
let result = new Array<OppPlayerReturn>();
for (let oppPlayer of oppPlayers) {
let dicOpponent = dicPvpOpponent.get(oppPlayer.pos);
if(!dicOpponent) continue;
let oppDef = <PvpHistoryOppType>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;
}