From e80818e6601e981d47be8a8cf6bded7bccf10089 Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 26 Feb 2021 11:55:54 +0800 Subject: [PATCH] =?UTF-8?q?pvp=EF=BC=9A=E6=88=98=E5=8A=9Bfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/pvpService.ts | 4 ++-- shared/db/PvpDefense.ts | 4 ++-- shared/pubUtils/util.ts | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/game-server/app/services/pvpService.ts b/game-server/app/services/pvpService.ts index 8a8e780da..36787b48f 100644 --- a/game-server/app/services/pvpService.ts +++ b/game-server/app/services/pvpService.ts @@ -50,7 +50,7 @@ export async function initPvpInfo(role: RoleType) { } export async function checkPvp(role: RoleType) { - let result = await PvpDefenseModel.findByRoleId(role.roleId); + let result = await PvpDefenseModel.findByRoleId(role.roleId, true); if (!!result) return result; result = await initPvpInfo(role); @@ -495,7 +495,7 @@ export function getRobotAttribute(attribute: Attributes, ce: number, enemyCe: nu let newAttribute = new CeAttrNumber(); for(let attrName in newAttribute) { - newAttribute[attrName] = Math.floor(attribute[attrName] * reduceCe(ce) / enemyCe * ratio); + newAttribute[attrName] = Math.floor(attribute[attrName] * ce / enemyCe * ratio); } newAttribute['speed'] = 0; newAttribute['ap'] = 0; diff --git a/shared/db/PvpDefense.ts b/shared/db/PvpDefense.ts index 5cf83f0e4..8404f096d 100644 --- a/shared/db/PvpDefense.ts +++ b/shared/db/PvpDefense.ts @@ -100,8 +100,8 @@ export default class PvpDefense extends BaseModel { seasonNum: number; @prop({ required: true, default: true }) isFirstEntry: boolean; - public static async findByRoleId(roleId: string, lean = true) { - const result: PvpDefenseType = await PvpDefenseModel.findOne({ roleId }).lean(lean); + public static async findByRoleId(roleId: string, getters = false) { + const result: PvpDefenseType = await PvpDefenseModel.findOne({ roleId }).lean({ getters}); return result; } diff --git a/shared/pubUtils/util.ts b/shared/pubUtils/util.ts index a2869b568..a9a18ff29 100644 --- a/shared/pubUtils/util.ts +++ b/shared/pubUtils/util.ts @@ -166,12 +166,13 @@ export function decodeIdCntArrayStr(str: string, multi: number) { // 计算当前武将战力 export async function calculateSumCE(roleId: string, type: number, param: { num?: number, heroes?: Array }) { - let sum; + let sum: number; if (type == 1) { // 最高num人历史最高战力和 sum = await HeroModel.sumTopHeroCe(roleId, param.num || 0); } else if (type == 2) { // 所有人战力和 sum = await HeroModel.sumHeroCe(roleId); } + sum = reduceCe(sum); return sum; }