pvp:战力fix

This commit is contained in:
luying
2021-02-26 11:55:54 +08:00
parent 56efab8cb7
commit e80818e660
3 changed files with 6 additions and 5 deletions
+2 -2
View File
@@ -50,7 +50,7 @@ export async function initPvpInfo(role: RoleType) {
} }
export async function checkPvp(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) if (!!result)
return result; return result;
result = await initPvpInfo(role); result = await initPvpInfo(role);
@@ -495,7 +495,7 @@ export function getRobotAttribute(attribute: Attributes, ce: number, enemyCe: nu
let newAttribute = new CeAttrNumber(); let newAttribute = new CeAttrNumber();
for(let attrName in newAttribute) { 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['speed'] = 0;
newAttribute['ap'] = 0; newAttribute['ap'] = 0;
+2 -2
View File
@@ -100,8 +100,8 @@ export default class PvpDefense extends BaseModel {
seasonNum: number; seasonNum: number;
@prop({ required: true, default: true }) @prop({ required: true, default: true })
isFirstEntry: boolean; isFirstEntry: boolean;
public static async findByRoleId(roleId: string, lean = true) { public static async findByRoleId(roleId: string, getters = false) {
const result: PvpDefenseType = await PvpDefenseModel.findOne({ roleId }).lean(lean); const result: PvpDefenseType = await PvpDefenseModel.findOne({ roleId }).lean({ getters});
return result; return result;
} }
+2 -1
View File
@@ -166,12 +166,13 @@ export function decodeIdCntArrayStr(str: string, multi: number) {
// 计算当前武将战力 // 计算当前武将战力
export async function calculateSumCE(roleId: string, type: number, param: { num?: number, heroes?: Array<number> }) { export async function calculateSumCE(roleId: string, type: number, param: { num?: number, heroes?: Array<number> }) {
let sum; let sum: number;
if (type == 1) { // 最高num人历史最高战力和 if (type == 1) { // 最高num人历史最高战力和
sum = await HeroModel.sumTopHeroCe(roleId, param.num || 0); sum = await HeroModel.sumTopHeroCe(roleId, param.num || 0);
} else if (type == 2) { // 所有人战力和 } else if (type == 2) { // 所有人战力和
sum = await HeroModel.sumHeroCe(roleId); sum = await HeroModel.sumHeroCe(roleId);
} }
sum = reduceCe(sum);
return sum; return sum;
} }