From d5e7c30e40aaeaf662e62f3bda42b71067516851 Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 14 Jan 2022 18:00:23 +0800 Subject: [PATCH] =?UTF-8?q?pvp=EF=BC=9A=E4=BF=AE=E5=A4=8D=E6=8C=91?= =?UTF-8?q?=E6=88=98=E9=98=B5=E5=AE=B9=E6=88=98=E5=8A=9B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/gm/handler/gmHandler.ts | 1 + shared/db/PvpDefense.ts | 2 +- shared/pubUtils/playerCe.ts | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/game-server/app/servers/gm/handler/gmHandler.ts b/game-server/app/servers/gm/handler/gmHandler.ts index 02ffd8b21..0cf0998d6 100644 --- a/game-server/app/servers/gm/handler/gmHandler.ts +++ b/game-server/app/servers/gm/handler/gmHandler.ts @@ -391,5 +391,6 @@ export class GmHandler { pinus.app.rpc.order.orderRemote.taflush.broadcast(); pinus.app.rpc.role.roleRemote.taflush.broadcast(); pinus.app.rpc.systimer.systimerRemote.taflush.broadcast(); + return resResult(STATUS.SUCCESS); } } \ No newline at end of file diff --git a/shared/db/PvpDefense.ts b/shared/db/PvpDefense.ts index 9f3734651..a5571556b 100644 --- a/shared/db/PvpDefense.ts +++ b/shared/db/PvpDefense.ts @@ -99,7 +99,7 @@ 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: { ce: incCe } }).lean(lean); + const rec: PvpDefenseType = await PvpDefenseModel.findOneAndUpdate({ roleId, 'lineupCe.hid': hid }, { $inc: { 'lineupCe.$.ce': incCe } }).lean(lean); return rec } diff --git a/shared/pubUtils/playerCe.ts b/shared/pubUtils/playerCe.ts index d98a1afb2..e8f722c57 100644 --- a/shared/pubUtils/playerCe.ts +++ b/shared/pubUtils/playerCe.ts @@ -46,7 +46,7 @@ export async function calPlayerCeAndSave(type: number, roleId: string, originHer let { topLineup, topLineupCe } = await calculatetopLineup(role, originHero.hid, heroCe, originHero._id); // 计算更新最强五人战力 role = await RoleModel.updateRoleInfo(roleId, { ce: role.ce + incCe, topLineup, topLineupCe }); - await PvpDefenseModel.updateCe(roleId, originHero.hid, incCe); // 更新pvp防守阵战力 + await PvpDefenseModel.updateCe(roleId, originHero.hid, reduceCe(incCe)); // 更新pvp防守阵战力 let guild = await GuildModel.updateCe(roleId, incCe); // 公会更新战力 let pushHeros = new Array<{ hid: number, ce: number, incHeroCe: number }>(); @@ -83,7 +83,7 @@ export async function reCalAllHeroCe(type: number, roleId: string, update: RoleU allIncCe += incHeroCe; pushHeros.push({ hid: hero.hid, ce: reduceCe(heroCe), incHeroCe: reduceCe(incHeroCe) }); await HeroModel.updateHeroInfo(roleId, hero.hid, { ce: heroCe }); - await PvpDefenseModel.updateCe(roleId, hero.hid, incHeroCe); // 更新pvp防守阵战力 + await PvpDefenseModel.updateCe(roleId, hero.hid, reduceCe(incHeroCe)); // 更新pvp防守阵战力 } }