From ac2fc62f6946a1702688014c99cab01641f6f46b Mon Sep 17 00:00:00 2001 From: mamengke01 <794347210@qq.com> Date: Wed, 30 Dec 2020 15:02:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E5=A4=87=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/role/handler/equipHandler.ts | 2 +- game-server/app/services/equipService.ts | 2 +- shared/db/Hero.ts | 5 ----- shared/pubUtils/playerCe.ts | 6 ++++-- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/game-server/app/servers/role/handler/equipHandler.ts b/game-server/app/servers/role/handler/equipHandler.ts index 3bba6b9a8..7be0c95be 100644 --- a/game-server/app/servers/role/handler/equipHandler.ts +++ b/game-server/app/servers/role/handler/equipHandler.ts @@ -422,7 +422,7 @@ export class EquipHandler { let obj = ITID.get(goodInfo.itid); let id = obj.type; let curEquips: Array<{ seqId: number, hid: number}> = []; - let hero = await HeroModel.getHeroEquip(roleId, hid); + let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId); if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (type == 1) { diff --git a/game-server/app/services/equipService.ts b/game-server/app/services/equipService.ts index 8e9e1c9b8..c4b3b78c2 100644 --- a/game-server/app/services/equipService.ts +++ b/game-server/app/services/equipService.ts @@ -42,7 +42,7 @@ export function checkMaterialEnough(consumes:Array<{id: number, count: number}>, export async function changeEquip(roleId: string, sid: string, equip: EquipType, hid: number, id: number, seqId: number) { let hero; if (!!hid) //需要卸下或者替换的武将 - hero = await HeroModel.findByHidAndRole(hid, roleId); + hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId); if (!!equip) {//需要卸下的装备 if (!!hero) {//判断是否替换装备 let goodInfo = getGoodById(equip.id); diff --git a/shared/db/Hero.ts b/shared/db/Hero.ts index c635b4d50..d9915e8d7 100644 --- a/shared/db/Hero.ts +++ b/shared/db/Hero.ts @@ -226,11 +226,6 @@ export default class Hero extends BaseModel { let result: HeroType = await HeroModel.findOneAndUpdate({roleId, hid}, {$set:heroUpdate}, {new: true}).select(select).lean(lean); return result; } - - public static async getHeroEquip(roleId: string, hid: number, lean = true) { - let result: HeroType = await HeroModel.findOne({ roleId, hid }).populate('ePlace.equip').lean(lean); - return result; - } public static async unloadHeroAndEquip(roleId: string, hid: number, id: number, lean = true) { const hero: HeroType = await HeroModel.findOneAndUpdate( diff --git a/shared/pubUtils/playerCe.ts b/shared/pubUtils/playerCe.ts index ed85c6785..fbf7920a3 100644 --- a/shared/pubUtils/playerCe.ts +++ b/shared/pubUtils/playerCe.ts @@ -465,8 +465,10 @@ export function calEquipSeids(hero: HeroType) { for (let { equip } of ePlace) { if (equip) { let e = equip; - for (let { seid, rand } of e.randSe) { - seids.push(seid, rand); + if (!!e.randSe) { + for (let { seid, rand } of e.randSe) { + seids.push(seid, rand); + } } if (e.suitId > 0) { if (suits.has(e.suitId)) {