pvp:战力fix
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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> }) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user