diff --git a/game-server/app/services/playerCeService.ts b/game-server/app/services/playerCeService.ts index 9203e7299..bafa9536c 100644 --- a/game-server/app/services/playerCeService.ts +++ b/game-server/app/services/playerCeService.ts @@ -305,7 +305,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve let hero = await HeroModel.updateHeroInfo(roleId, hid, { ...heroUpdate, ce }); calCe.setResultHero(hero); heroes.push(hero); - await PvpDefenseModel.updateCe(roleId, hid, inc); // 更新pvp防守阵战力 + await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力 pushHeros.push({ hid, ce, incHeroCe: inc }); changeHids.push(hid); } else { @@ -316,6 +316,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve for(let [hid, { ce, inc }] of heroCe) { if(changeHids.indexOf(hid) == -1) { let hero = await HeroModel.updateHeroInfo(roleId, hid, { ce }); + await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力 pushHeros.push({ hid, ce: hero.ce, incHeroCe: inc }); changeHids.push(hid); } diff --git a/shared/db/PvpDefense.ts b/shared/db/PvpDefense.ts index 50f8bfa8f..07cbcf333 100644 --- a/shared/db/PvpDefense.ts +++ b/shared/db/PvpDefense.ts @@ -109,8 +109,8 @@ export default class PvpDefense extends BaseModel { } - public static async updateCe(roleId: string, hid: number, incCe: number, lean = true) { - const rec: PvpDefenseType = await PvpDefenseModel.findOneAndUpdate({ roleId, 'lineupCe.hid': hid }, { $inc: { 'lineupCe.$.ce': incCe } }).lean(lean); + public static async updateCe(roleId: string, hid: number, ce: number, lean = true) { + const rec: PvpDefenseType = await PvpDefenseModel.findOneAndUpdate({ roleId, 'lineupCe.hid': hid }, { $set: { 'lineupCe.$.ce': ce } }).lean(lean); return rec }