战力:pvp远征匹配系数修改
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user