pvp赛季结算界面
This commit is contained in:
@@ -21,6 +21,7 @@ import { nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { setPvpSeasonResult, resetPvpWarId, resetPvpSeasonTime } from '../../../services/timeTaskService';
|
||||
import { PvpSeasonResultModel } from '../../../db/PvpSeasonResult';
|
||||
import { PvpHistoryOppModel, PvpHistoryOppType } from '../../../db/PvpHistoryOpp';
|
||||
import { SystemConfigModel } from '../../../db/SystemConfig';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new PvpHandler(app);
|
||||
@@ -92,9 +93,9 @@ export class PvpHandler {
|
||||
|
||||
async getData (msg: {}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let { pvpDefense, warId } = await findPvpDefAllByRoleId(roleId);
|
||||
let { pvpDefense, warId, seasonEndTime } = await findPvpDefAllByRoleId(roleId);
|
||||
let oppPlayers = await getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum);
|
||||
let { isDefaultHero, heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, seasonNum, seasonEndTime } = pvpDefense;
|
||||
let { isDefaultHero, heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, seasonNum } = pvpDefense;
|
||||
if (isFirstEntry) {
|
||||
await PvpDefenseModel.updateInfo(roleId, {isFirstEntry:false});
|
||||
}
|
||||
@@ -103,12 +104,12 @@ export class PvpHandler {
|
||||
if (!!pvpSeasonResult) {
|
||||
var { oldSeasonData, show, heroGoods, rankGoods} = pvpSeasonResult;
|
||||
if ( oldSeasonData.seasonEndTime > nowSeconds()) {//结算中锁定玩家信息
|
||||
// seasonEndTime = oldSeasonData.seasonEndTime;
|
||||
// heroScores = oldSeasonData.heroScores;
|
||||
// score = oldSeasonData.score;
|
||||
// refOppCnt = oldSeasonData.refOppCnt;
|
||||
// challengeCnt = oldSeasonData.challengeCnt;
|
||||
// challengeRefTime = oldSeasonData.challengeRefTime;
|
||||
seasonEndTime = oldSeasonData.seasonEndTime;
|
||||
heroScores = oldSeasonData.heroScores;
|
||||
score = oldSeasonData.score;
|
||||
refOppCnt = oldSeasonData.refOppCnt;
|
||||
challengeCnt = oldSeasonData.challengeCnt;
|
||||
challengeRefTime = oldSeasonData.challengeRefTime;
|
||||
} else if(show) {
|
||||
await PvpSeasonResultModel.updatePvpSeasonResult(roleId, {show: false});
|
||||
flag = true;
|
||||
@@ -187,7 +188,8 @@ export class PvpHandler {
|
||||
const pvpDefense = await PvpDefenseModel.findByRoleId(roleId);
|
||||
if(!pvpDefense) return resResult(STATUS.PVP_NOT_OPEN);
|
||||
// 检查挑战次数
|
||||
let { challengeCnt } = refresh(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, pvpDefense.seasonEndTime);
|
||||
let { seasonEndTime } = await SystemConfigModel.findSystemConfig();
|
||||
let { challengeCnt } = refresh(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, seasonEndTime);
|
||||
if (challengeCnt == 0) {
|
||||
return resResult(STATUS.PVP_CHALLENGE_TIMES_NOT_ENOUGH);
|
||||
}
|
||||
@@ -266,9 +268,10 @@ export class PvpHandler {
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, {
|
||||
$set: { status: isSuccess?1:2 }
|
||||
}, true);
|
||||
let { seasonEndTime } = await SystemConfigModel.findSystemConfig();
|
||||
|
||||
// 减少挑战次数
|
||||
let { challengeCnt, challengeRefTime } = comsumeChallengeCnt(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, pvpDefense.seasonEndTime);
|
||||
let { challengeCnt, challengeRefTime } = comsumeChallengeCnt(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, seasonEndTime);
|
||||
if ( hisScore < score) {
|
||||
hisScore = score;
|
||||
}
|
||||
@@ -305,7 +308,8 @@ export class PvpHandler {
|
||||
heroes = uniq(heroes, function(item) {
|
||||
return item.order;
|
||||
});
|
||||
let { heroes: defHeros, seasonEndTime, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime } = await PvpDefenseModel.findByRoleId(roleId);
|
||||
let { seasonEndTime } = await SystemConfigModel.findSystemConfig();
|
||||
let { heroes: defHeros, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime } = await PvpDefenseModel.findByRoleId(roleId);
|
||||
let defCe = 0;
|
||||
let { challengeCnt, challengeRefTime } = refresh(lastChallengeCnt, lastChallengeRefTime, seasonEndTime);
|
||||
|
||||
@@ -419,7 +423,8 @@ export class PvpHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let roleName = session.get('roleName');
|
||||
let { hisScore, receivedBox, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime, seasonEndTime } = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
|
||||
let { seasonEndTime } = await SystemConfigModel.findSystemConfig();
|
||||
let { hisScore, receivedBox, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime } = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
|
||||
let pvpBoxs = getPvpBoxs();
|
||||
let pvpBox = findWhere(pvpBoxs, {id});
|
||||
if (hisScore < pvpBox.score) {
|
||||
|
||||
Reference in New Issue
Block a user