远征:重置使用历史最高战力
This commit is contained in:
@@ -6,7 +6,7 @@ import { ExpeditionPointModel } from '../../../db/ExpeditionPoint';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { genCode, getWarTypeName } from '../../../pubUtils/util';
|
||||
import { getPointRewardStatus, getResetRemainCnt, findOrCreateEnemies, getExpeditionStatus } from '../../../services/expeditionService';
|
||||
import { DEBUG_MAGIC_WORD, EXPEDITION_WAR_RECORD_STATUS, ITEM_CHANGE_REASON, KING_EXP_RATIO_TYPE, LINEUP_NUM, TASK_TYPE, TA_EVENT } from '../../../consts';
|
||||
import { DEBUG_MAGIC_WORD, EXPEDITION_WAR_RECORD_STATUS, ITEM_CHANGE_REASON, KING_EXP_RATIO_TYPE, TASK_TYPE, TA_EVENT } from '../../../consts';
|
||||
import { WarReward } from '../../../services/warRewardService';
|
||||
import { addItems } from '../../../services/role/rewardService';
|
||||
import { getAp, setAp } from '../../../services/actionPointService';
|
||||
@@ -60,7 +60,7 @@ export class ExpeditionBattleHandler {
|
||||
await ExpeditionRecordModel.hideRecord(roleId); // 刷掉旧关卡
|
||||
|
||||
// 我方战力
|
||||
let myCe = await getSumCe(roleId, LINEUP_NUM);
|
||||
let myCe = await getSumCe(roleId);
|
||||
// 每一关的挑战状态
|
||||
let { expeditionCode, heroes } = await ExpeditionRecordModel.createRecord({
|
||||
roleId, roleName, heroes: [], myCe
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { ExpeditionPointModel } from '../db/ExpeditionPoint';
|
||||
import Role, { RoleModel } from '../db/Role';
|
||||
import { shouldRefresh, getRandSingleEelm } from '../pubUtils/util';
|
||||
import { LINEUP_NUM, EXPEDITION_WAR_RECORD_STATUS, SYSTEM_OPEN_ID } from '../consts';
|
||||
import { EXPEDITION_WAR_RECORD_STATUS, SYSTEM_OPEN_ID } from '../consts';
|
||||
import { ExpeditionWarRecordModel } from '../db/ExpeditionWarRecord';
|
||||
import { HeroType } from '../db/Hero';
|
||||
import { gameData } from '../pubUtils/data';
|
||||
@@ -27,7 +27,7 @@ export async function getExpeditionStatus(roleId: string, roleName: string, isEn
|
||||
let expeditionRecord = await ExpeditionRecordModel.getCurRecord(roleId);
|
||||
if (!expeditionRecord) { // 首次新建一条记录
|
||||
// 我方战力
|
||||
let myCe = await getSumCe(roleId, LINEUP_NUM);
|
||||
let myCe = await getSumCe(roleId);
|
||||
expeditionRecord = await ExpeditionRecordModel.createRecord({
|
||||
roleId, roleName, heroes: [], myCe
|
||||
});
|
||||
|
||||
@@ -10,7 +10,7 @@ import { HERO_SYSTEM_TYPE, PUSH_ROUTE, REDIS_KEY } from '../consts';
|
||||
import { updateUserInfo } from './redisService';
|
||||
import { GuildModel, GuildType } from '../db/Guild';
|
||||
import { CalCe } from './role/calCe';
|
||||
import { RoleCeModel } from '../db/RoleCe';
|
||||
import { RoleCeModel, RoleCeUpdate } from '../db/RoleCe';
|
||||
import { PvpDefenseModel } from '../db/PvpDefense';
|
||||
import { saveCeChangeLog } from '../pubUtils/logUtil';
|
||||
import { JewelType } from '../db/Jewel';
|
||||
@@ -360,7 +360,10 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
|
||||
}
|
||||
|
||||
let { topLineup, topLineupCe } = calCe.getTopLineup();
|
||||
let roleCeUpdate = calCe.getRoleCeTable();
|
||||
let roleCeUpdate: RoleCeUpdate = calCe.getRoleCeTable();
|
||||
if(topLineupCe > roleCe.historyLineupCe) {
|
||||
roleCeUpdate = { ...roleCeUpdate, historyLineupCe: topLineupCe };
|
||||
}
|
||||
roleCe = await RoleCeModel.updateRoleCe(roleId, roleCeUpdate);
|
||||
let role = await RoleModel.incRoleInfo(roleId, { ...roleIncUpdate, ce: roleInc }, { ...roleUpdate, topLineup, topLineupCe });
|
||||
let guild = await GuildModel.updateCe(roleId, roleInc); // 公会更新战力
|
||||
@@ -416,18 +419,9 @@ async function updateRank(roleId: string, serverId: number, topLineupCe: number,
|
||||
await r6.setRankWithRoleInfo(roleId, role.heroNum, role.heroNumUpdatedAt, role);
|
||||
}
|
||||
|
||||
export async function getSumCe(roleId: string, num: number) {
|
||||
export async function getSumCe(roleId: string) {
|
||||
let roleCe = await RoleCeModel.findByRoleId(roleId);
|
||||
let calCe = new CalCe(roleId);
|
||||
calCe.setRoleCe(roleCe);
|
||||
let arr = calCe.getResultCeArr();
|
||||
let ce = 0;
|
||||
for(let i = 0; i < num; i++) {
|
||||
if(arr[i]) {
|
||||
ce += arr[i].ce;
|
||||
}
|
||||
}
|
||||
return ce;
|
||||
return roleCe.historyLineupCe;
|
||||
}
|
||||
|
||||
export async function getHeroesAttributes(roleId: string) {
|
||||
|
||||
@@ -105,6 +105,9 @@ export default class RoleCe extends BaseModel {
|
||||
@prop({ required: true, type: Attribute, _id: false })
|
||||
attributes: Attribute[];
|
||||
|
||||
@prop({ required: true })
|
||||
historyLineupCe: number;
|
||||
|
||||
public static async findByRoleId(roleId: string) {
|
||||
let result: RoleCeType = await RoleCeModel.findOne({ roleId }).lean();
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user