diff --git a/game-server/app/servers/battle/handler/pvpHandler.ts b/game-server/app/servers/battle/handler/pvpHandler.ts index fa5286376..de6334a9a 100644 --- a/game-server/app/servers/battle/handler/pvpHandler.ts +++ b/game-server/app/servers/battle/handler/pvpHandler.ts @@ -368,7 +368,7 @@ export class PvpHandler { } } let attack = new Attack(heroes, scores); - let lineupCe = await generPvpLineupCe(roleId, pvpDefense.lineupCe, attack.heroes, []); + let lineupCe = await generPvpLineupCe(roleId, pvpDefense.lineupCe, attack.heroes, pvpDefense.defense.heroes, []); // 刷对手 let role = pvpDefense.role; let oppPlayers = await refreshEnemies(role, seasonNum, pvpDefense.score, attack?.score||0, attack?.pLv||1); @@ -424,7 +424,7 @@ export class PvpHandler { return new DefenseHero(cur, heroIdMap.get(cur.actorId)); }); let defense = new Defense(defenseHeroes, scores, warId, buff); - let lineupCe = await generPvpLineupCe(roleId, pvpDefense.lineupCe, defense.heroes, dbHeroes); + let lineupCe = await generPvpLineupCe(roleId, pvpDefense.lineupCe, pvpDefense.attack.heroes, defense.heroes, dbHeroes); pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { ...refChallengeObj, defense, lineupCe }); // 返回 diff --git a/game-server/app/services/pvpService.ts b/game-server/app/services/pvpService.ts index 76d3e159d..a5e0b5d11 100644 --- a/game-server/app/services/pvpService.ts +++ b/game-server/app/services/pvpService.ts @@ -626,10 +626,10 @@ export async function savePvpSeasonResult(pvpDefense: PvpDefenseType, seasonNum: return pvpSeasonResult; } -export async function generPvpLineupCe(roleId: string, lineupCe: LineupCe[], newHeroes: AttackHero[]|DefenseHero[], dbHeroes: HeroType[]) { +export async function generPvpLineupCe(roleId: string, lineupCe: LineupCe[], attackHero: AttackHero[], defenseHero: DefenseHero[], dbHeroes: HeroType[]) { let newHids: number[] = []; // 本次新增武将 let newLineupCe: { hid: number, ce: number }[] = []; // 新生成的lineupCe字段 - for(let { actorId } of newHeroes) { + for(let { actorId } of [...attackHero, ...defenseHero]) { let n = newLineupCe.find(cur => cur.hid == actorId); if(!n) { let lineup = lineupCe.find(cur => cur.hid == actorId);