From 2433f7367bc832f556340187262e6fea23c527fe Mon Sep 17 00:00:00 2001 From: dingchaolin Date: Fri, 24 Feb 2023 12:08:11 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(gm):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=88=98=E5=8A=9B=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/servers/gm/handler/gmRoleHandler.ts | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/game-server/app/servers/gm/handler/gmRoleHandler.ts b/game-server/app/servers/gm/handler/gmRoleHandler.ts index cdb363ed2..a1a2d8c5a 100644 --- a/game-server/app/servers/gm/handler/gmRoleHandler.ts +++ b/game-server/app/servers/gm/handler/gmRoleHandler.ts @@ -193,19 +193,23 @@ export class GmRoleHandler { }) } }) + + // 更新装备信息 + await HeroModel.updateHeroInfo(roleId, hid, { ePlace: hero.ePlace }); + // 获取战力重算需要的数据 + let role = await RoleModel.findByRoleId(roleId); + let schools = await SchoolModel.findByRoleId(roleId); + let jewels = await JewelModel.findbyRole(roleId); + let heroes = await HeroModel.findByRole(roleId); + let skins = await SkinModel.findbyRole(roleId); + let artifacts = await ArtifactModel.findbyRole(roleId); + // 所有战力重算 + await calculateCeWithRole(HERO_SYSTEM_TYPE.RE_CAL, roleId, role.serverId, null, {}, { role, schools, jewels, heroes, skins, artifacts }); + // 获取更新装备的英雄 + hero = await HeroModel.findByHidAndRole(hid, roleId); - // 战力重算 - let { sid } = await getRoleOnlineInfo(roleId); - hero.ePlace.forEach(async (ePlaceItem) => { - // 装备升品 - await calculateCeWithHero(HERO_SYSTEM_TYPE.EQUIP_QUALITY, roleId, hero.serverId, sid, hid, { ePlace: hero.ePlace }, { ePlaceId: ePlaceItem.id }); - // 装备升星 - await calculateCeWithHero(HERO_SYSTEM_TYPE.EQUIP_STAR, roleId, hero.serverId, sid, hid, { ePlace: hero.ePlace }, { ePlaceId: ePlaceItem.id, skinId: hero.skinId }); - }); - // 装备强化 - const { curHero } = await calculateCeWithHero(HERO_SYSTEM_TYPE.EQUIP_STRENGTH, roleId, hero.serverId, sid, hid, { ePlace: hero.ePlace }, { ePlaceIds: EPLACE_IDS }); // 返回强化,升星,升品后的hero数据 - return resResult(STATUS.SUCCESS, { curHero }); + return resResult(STATUS.SUCCESS, { curHero: hero }); } async deleteHero(msg: { roleId: string, hid: number }, session: BackendSession) {