战力:pvp远征匹配系数修改

This commit is contained in:
luying
2021-03-10 15:34:38 +08:00
parent 831661ec66
commit b822337b82
3 changed files with 52 additions and 12 deletions
@@ -14,6 +14,7 @@ import { getRoleOnlineInfo, getAllOnlineRoles } from '../../../services/redisSer
import { pushComposeOrangeHero, pushHeroQualityUpMsg, pushHeroStarMax } from '../../../services/chatService';
import { calculatetopLineup } from '../../../pubUtils/playerCe';
import { PvpDefenseModel } from '../../../db/PvpDefense';
import { Attribute } from '../../../domain/roleField/attribute';
export default function(app: Application) {
return new HeroHandler(app);
@@ -25,13 +26,40 @@ export class HeroHandler {
private channelService: ChannelService = this.app.get('channelService');
public async test(msg: { items:Array<{id: number, count: number, seqId:number, type:number}>}, session: BackendSession) {
let roleId: string = session.get('roleId');
public async test(msg: { }, session: BackendSession) {
let roles = await RoleModel.find({}).lean();
for(let role of roles) {
let { roleId, attr: roleAttr, topLineup } = role;
let heros = await HeroModel.findByRole(roleId);
let sumCe = 0;
let role = await getRoleOnlineInfo(roleId);
let list = await getAllOnlineRoles();
return resResult(STATUS.SUCCESS, {role, list});
let pvpdefense = await PvpDefenseModel.findByRoleId(roleId);
let { heroes: defHeroes } = pvpdefense;
for(let hero of heros) {
let { hid, attr: heroAttr } = hero;
let attr = new Attribute();
attr.setByDbData(roleAttr, heroAttr);
let ce = attr.calCe();
await HeroModel.updateHeroInfo(roleId, hid, { ce, historyCe: ce });
sumCe += ce;
let curHero = topLineup.find(cur => cur.hid == hid);
if(curHero) curHero.ce = ce;
let curDefHero = defHeroes.find(cur => cur.actorId == hid);
if(curDefHero) curDefHero.ce = ce;
console.log(roleId, hid, ce, sumCe)
}
let topLineupCe = topLineup.reduce((pre, cur) => {
return pre + cur.ce
}, 0);
let defCe = defHeroes.reduce((pre, cur) => {
return pre + cur.ce
}, 0);
await RoleModel.updateRoleInfo(roleId, { ce: sumCe, topLineup, topLineupCe });
await PvpDefenseModel.updateInfo(roleId, { defCe, heroes: defHeroes }); // 更新pvp防守阵战力
}
}
// ! 测试接口,用来测试前清理并初始化某个武将;代码抄自:gm-server/app/service/users.ts deleteHero