战力:获取显示数据
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
import { pinus } from 'pinus';
|
||||
import { STATUS } from '../consts/statusCode';
|
||||
|
||||
import { resResult, reduceCe } from '../pubUtils/util';
|
||||
import { resResult } from '../pubUtils/util';
|
||||
import { HeroModel, HeroType, HeroUpdate } from '../db/Hero';
|
||||
|
||||
import { RoleUpdate, RoleType, RoleModel } from '../db/Role';
|
||||
@@ -19,6 +19,7 @@ import { PvpDefenseModel } from '../db/PvpDefense';
|
||||
import { saveCeChangeLog } from '../pubUtils/logUtil';
|
||||
import { JewelType } from '../db/Jewel';
|
||||
import { SchoolModel } from '../db/School';
|
||||
import { AttributeCal } from '../domain/roleField/attribute';
|
||||
|
||||
interface Param {
|
||||
isInitRole?: boolean,
|
||||
@@ -46,7 +47,7 @@ export async function calculateCeWithHero(type: HERO_SYSTEM_TYPE, roleId: string
|
||||
return { heroes, curHero, curRole }
|
||||
}
|
||||
|
||||
export async function calculateWithRole(type: HERO_SYSTEM_TYPE, roleId: string, serverId: number, sid: string, roleUpdate: RoleUpdate, param: Param = {}) {
|
||||
export async function calculateCeWithRole(type: HERO_SYSTEM_TYPE, roleId: string, serverId: number, sid: string, roleUpdate: RoleUpdate, param: Param = {}) {
|
||||
let { heroes, curRole } = await calculateCes(type, roleId, serverId, sid, new Map(), roleUpdate, {}, param);
|
||||
return { heroes, curRole };
|
||||
}
|
||||
@@ -64,8 +65,10 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
|
||||
calCe.setHeroStar(hid, job, quality, star, starStage, colorStar, colorStarStage);
|
||||
calCe.setJob(hid, job, jobStage);
|
||||
}
|
||||
console.log('####### roleUpdate', param.isInitRole, roleUpdate)
|
||||
if(param.isInitRole) {
|
||||
let { title, teraphs } = roleUpdate;
|
||||
let { title, teraphs, lv } = roleUpdate;
|
||||
calCe.setRoleLv(lv)
|
||||
calCe.setTitle(title);
|
||||
calCe.setTeraph(teraphs);
|
||||
}
|
||||
@@ -286,6 +289,12 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
|
||||
}
|
||||
break;
|
||||
}
|
||||
case HERO_SYSTEM_TYPE.ROLE_LV: // 31. 玩家等级
|
||||
{
|
||||
let { lv } = roleUpdate;
|
||||
calCe.setRoleLv(lv);
|
||||
break;
|
||||
}
|
||||
}
|
||||
let { heroCe, roleInc } = calCe.getCeInc(); // 计算战力,获得有变化的武将战力
|
||||
let changeHids: number[] = [];
|
||||
@@ -346,7 +355,7 @@ async function updateRank(roleId: string, serverId: number, topLineupCe: number,
|
||||
|
||||
// 最强阵容
|
||||
let r = new Rank(REDIS_KEY.TOP_LINEUP_RANK, { serverId });
|
||||
await r.setRankWithRoleInfo(roleId, reduceCe(topLineupCe), 0, role);
|
||||
await r.setRankWithRoleInfo(roleId, topLineupCe, 0, role);
|
||||
|
||||
// 最强武将
|
||||
for(let { hid, ce } of pushHeros) {
|
||||
@@ -359,7 +368,7 @@ async function updateRank(roleId: string, serverId: number, topLineupCe: number,
|
||||
|
||||
// 总战力
|
||||
let r3 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId });
|
||||
await r3.setRankWithRoleInfo(roleId, reduceCe(role.ce), 0, role);
|
||||
await r3.setRankWithRoleInfo(roleId, role.ce, 0, role);
|
||||
|
||||
// 更新最强五人阵容信息
|
||||
let r5 = new Rank(REDIS_KEY.TOP_LINEUP_INFO, { serverId });
|
||||
@@ -382,4 +391,16 @@ export async function getSumCe(roleId: string, num: number) {
|
||||
}
|
||||
}
|
||||
return ce;
|
||||
}
|
||||
|
||||
export async function getHeroesAttributes(roleId: string) {
|
||||
let roleCe = await RoleCeModel.findByRoleId(roleId);
|
||||
let attrByHid = new Map<number, AttributeCal>();
|
||||
for(let { hid, attrs } of roleCe.attributes||[]) {
|
||||
let cal = new AttributeCal();
|
||||
cal.setLv(roleCe.roleLv);
|
||||
cal.setByWarJson(attrs);
|
||||
attrByHid.set(hid, cal);
|
||||
}
|
||||
return attrByHid;
|
||||
}
|
||||
Reference in New Issue
Block a user