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