pvp保存阵容

This commit is contained in:
mamengke01
2021-01-07 20:36:17 +08:00
parent 5bfac1723c
commit 2470f7582f
8 changed files with 119 additions and 36 deletions

View File

@@ -12,6 +12,8 @@ interface pvpUpdateInter {
pLv?:number;
heroScores?: HeroScores[];
winStreakNum?: number;
defCe?:number;
heroes?: Array<Heroes>;
}
export class Heroes {
@@ -167,7 +169,7 @@ export default class PvpDefense extends BaseModel {
}
public static async updateCe(roleId: string, hid: number, defCe: number, lean = true) {
public static async updateCe(roleId: string, hid: number, defCe: number, lean = true) {
const rec: PvpDefenseType = await PvpDefenseModel.findOneAndUpdate({ roleId, 'heroes.actorId': hid }, { $set: { defCe } }).lean(lean);
return rec
}

View File

@@ -17,7 +17,7 @@ export default class SystemConfig extends BaseModel {
}
public static async createSystemConfig(seasonEndTime: number, warId: number, lean = true) {
const result: SystemConfigType = await SystemConfigModel.findOneAndUpdate({ id: 1}, { seasonEndTime, warId }, { upsert: true, new: true }).lean(lean);
const result: SystemConfigType = await SystemConfigModel.findOneAndUpdate({ id: 1}, { seasonEndTime, warId, seasonNum: 1 }, { upsert: true, new: true }).lean(lean);
return result;
}
@@ -27,7 +27,7 @@ export default class SystemConfig extends BaseModel {
}
public static async updateSeason( seasonEndTime: number, lean = true) {
const result: SystemConfigType = await SystemConfigModel.findOneAndUpdate({ id: 1}, { $seasonEndTime: seasonEndTime, $inc: { seasonNum:1 } }, { upsert: true, new: true }).lean(lean);
const result: SystemConfigType = await SystemConfigModel.findOneAndUpdate({ id: 1}, { seasonEndTime, $inc: { seasonNum: 1 } }, { upsert: true, new: true }).lean(lean);
return result;
}
}

View File

@@ -16,7 +16,7 @@ import { DicRandomEffectPool } from './dictionary/DicRandomEffectPool';
import { getGoodById } from './gamedata';
import { SchoolModel } from '../db/School';
import { getTeraphAttr, HEROTARIN } from '../consts/constModules/abilityConst'
import { PvpDefenseModel } from '../db/PvpDefense';
// import { PvpDefenseModel } from '../db/PvpDefense';
const HERO_CE_RATIO = 100;
const _ = require('underscore');
//战力计算TODO
@@ -108,7 +108,7 @@ export async function calPlayerCeAndSave(roleId: string, heros: Array<HeroType>,
incPlayerCe += incHeroCe;
await calculateTopFive(role, hero.hid, hero.ce, hero._id); // 计算更新最强五人战力
await HeroModel.updateHeroInfo(roleId, hero.hid, hero);
await PvpDefenseModel.updateCe(roleId, hero.hid, hero.ce); // 更新pvp防守阵最强五人战力
//await PvpDefenseModel.updateCe(roleId, hero.hid, hero.ce); // 更新pvp防守阵最强五人战力
pushHeros.push({
hid: hero.hid,
ce: reduceCe(hero.ce),
@@ -152,7 +152,6 @@ async function calculateTopFive(role: RoleType, hid: number, ce: number, heroId:
role.topFive = topFive;
role.topFiveCe = topFiveCe;
return role;
}

View File

@@ -496,7 +496,7 @@ export function reduceCe(ce: number = 0) {
}
export function getRandNum(min, max) {
let randNum = min + Math.floor(Math.random()*(max - min + 1));
let randNum = min + Math.floor(Math.random() * (max - min + 1));
return randNum;
}
@@ -516,10 +516,10 @@ export function getRandomArr(allarr, ranNum) {
// 获取全部属性
export function getAllAttrStage () {
export function getAllAttrStage() {
let attrs = new Array<number>(); // 有升级的属性 1-hp 2-atk 3-def 4-mdef 5-agi 6-luk
for(let stage = ABI_STAGE.START + 1; stage <= ABI_STAGE.END; stage++) {
attrs.push(stage)
for (let stage = ABI_STAGE.START + 1; stage <= ABI_STAGE.END; stage++) {
attrs.push(stage)
};
return attrs;
}
}