pvp刷新对手
This commit is contained in:
@@ -99,7 +99,7 @@ export class PvpHandler {
|
|||||||
let flag = false;
|
let flag = false;
|
||||||
if (!!pvpSeasonResult) {
|
if (!!pvpSeasonResult) {
|
||||||
var { oldSeasonData, show, heroGoods, rankGoods} = pvpSeasonResult;
|
var { oldSeasonData, show, heroGoods, rankGoods} = pvpSeasonResult;
|
||||||
if ( oldSeasonData.seasonEndTime > nowSeconds()) {
|
if ( oldSeasonData.seasonEndTime > nowSeconds()) {//结算中锁定玩家信息
|
||||||
seasonEndTime = oldSeasonData.seasonEndTime;
|
seasonEndTime = oldSeasonData.seasonEndTime;
|
||||||
heroScores = oldSeasonData.heroScores;
|
heroScores = oldSeasonData.heroScores;
|
||||||
score = oldSeasonData.score;
|
score = oldSeasonData.score;
|
||||||
@@ -119,7 +119,7 @@ export class PvpHandler {
|
|||||||
let {actorId, dataId, order} = cur;
|
let {actorId, dataId, order} = cur;
|
||||||
return { actorId, dataId, order }
|
return { actorId, dataId, order }
|
||||||
}), score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, isDefaultHero }
|
}), score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, isDefaultHero }
|
||||||
// if (show) {
|
// if (show) {//是否弹出结算奖励
|
||||||
data.resultRecord = { oldSeasonData, heroGoods, rankGoods }
|
data.resultRecord = { oldSeasonData, heroGoods, rankGoods }
|
||||||
// }
|
// }
|
||||||
return resResult(STATUS.SUCCESS, data);
|
return resResult(STATUS.SUCCESS, data);
|
||||||
|
|||||||
@@ -418,7 +418,7 @@ export function getRefOppCnt(refOppCnt: number, refOppTime: Date) {
|
|||||||
export async function findPvpDefAllByRoleId(roleId: string) {
|
export async function findPvpDefAllByRoleId(roleId: string) {
|
||||||
let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
|
let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
|
||||||
let { warId, seasonNum, seasonEndTime } = await SystemConfigModel.findSystemConfig();
|
let { warId, seasonNum, seasonEndTime } = await SystemConfigModel.findSystemConfig();
|
||||||
if (pvpDefense.seasonNum !== seasonNum) {
|
if (pvpDefense.seasonNum != seasonNum) {
|
||||||
let { score, pLv, winStreakNum, heroScores, challengeCnt, challengeRefTime } = await pinus.app.rpc.systimer.systimerRemote.setPvpDefResult.toServer('systimer-server-1', pvpDefense, seasonNum, seasonEndTime);
|
let { score, pLv, winStreakNum, heroScores, challengeCnt, challengeRefTime } = await pinus.app.rpc.systimer.systimerRemote.setPvpDefResult.toServer('systimer-server-1', pvpDefense, seasonNum, seasonEndTime);
|
||||||
pvpDefense.score = score;
|
pvpDefense.score = score;
|
||||||
pvpDefense.pLv = pLv;
|
pvpDefense.pLv = pLv;
|
||||||
@@ -426,9 +426,9 @@ export async function findPvpDefAllByRoleId(roleId: string) {
|
|||||||
pvpDefense.heroScores = heroScores;
|
pvpDefense.heroScores = heroScores;
|
||||||
pvpDefense.challengeCnt = challengeCnt;
|
pvpDefense.challengeCnt = challengeCnt;
|
||||||
pvpDefense.challengeRefTime = challengeRefTime;
|
pvpDefense.challengeRefTime = challengeRefTime;
|
||||||
pvpDefense.seasonNum = seasonNum;
|
|
||||||
pvpDefense.seasonEndTime = seasonEndTime;
|
|
||||||
}
|
}
|
||||||
|
pvpDefense.seasonNum = seasonNum;
|
||||||
|
pvpDefense.seasonEndTime = seasonEndTime;
|
||||||
let {challengeCnt, challengeRefTime} = refresh(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, pvpDefense.seasonEndTime);
|
let {challengeCnt, challengeRefTime} = refresh(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, pvpDefense.seasonEndTime);
|
||||||
let { refOppCnt, refOppTime, shouldRefOpp } = getRefOppCnt(pvpDefense.refOppCnt, pvpDefense.refOppTime); // 刷新次数
|
let { refOppCnt, refOppTime, shouldRefOpp } = getRefOppCnt(pvpDefense.refOppCnt, pvpDefense.refOppTime); // 刷新次数
|
||||||
if (challengeCnt != pvpDefense.challengeCnt || refOppCnt != pvpDefense.refOppCnt || shouldRefOpp) {
|
if (challengeCnt != pvpDefense.challengeCnt || refOppCnt != pvpDefense.refOppCnt || shouldRefOpp) {
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ export async function setPvpDefResultOnTime(pvpDefense: PvpDefenseType, seasonNu
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let { score, pLv, heroScores, winStreakNum, challengeCnt, challengeRefTime, goods } = await checkResult(pvpDefense, seasonNum, seasonEndTime);
|
let { score, pLv, heroScores, winStreakNum, challengeCnt, challengeRefTime, goods } = await checkResult(pvpDefense, seasonNum, seasonEndTime);
|
||||||
pvpDefense = await PvpDefenseModel.updateInfo(pvpDefense.roleId, {score, pLv, heroScores, winStreakNum, seasonNum, challengeCnt, challengeRefTime, seasonEndTime, oldSeasonEndTime: pvpDefense.oldSeasonEndTime});
|
pvpDefense = await PvpDefenseModel.updateInfo(pvpDefense.roleId, {score, pLv, heroScores, winStreakNum, seasonNum, challengeCnt, challengeRefTime, seasonEndTime});
|
||||||
let { roleName, lv, vLv, headHid, sHid, title } = role;
|
let { roleName, lv, vLv, headHid, sHid, title } = role;
|
||||||
let params = new RankParam(roleName, lv, vLv, headHid, sHid, title);
|
let params = new RankParam(roleName, lv, vLv, headHid, sHid, title);
|
||||||
setRank(REDIS_KEY.PVP_RANK, 0, pvpDefense.roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params);
|
setRank(REDIS_KEY.PVP_RANK, 0, pvpDefense.roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params);
|
||||||
@@ -131,7 +131,7 @@ export async function setPvpDefResult(pvpDefense: PvpDefenseType, seasonNum: num
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let {score, pLv, heroScores, winStreakNum, challengeCnt, challengeRefTime, goods } = await checkResult(pvpDefense, seasonNum, seasonEndTime);
|
let {score, pLv, heroScores, winStreakNum, challengeCnt, challengeRefTime, goods } = await checkResult(pvpDefense, seasonNum, seasonEndTime);
|
||||||
pvpDefense = await PvpDefenseModel.updateInfoAndInclude(pvpDefense.roleId, {score, pLv, heroScores, winStreakNum, seasonNum, challengeCnt, challengeRefTime, seasonEndTime, oldSeasonEndTime: pvpDefense.oldSeasonEndTime});
|
pvpDefense = await PvpDefenseModel.updateInfo(pvpDefense.roleId, {score, pLv, heroScores, winStreakNum, seasonNum, challengeCnt, challengeRefTime, seasonEndTime});
|
||||||
let { roleName, lv, vLv, headHid, sHid, title , roleId } = role;
|
let { roleName, lv, vLv, headHid, sHid, title , roleId } = role;
|
||||||
let params = new RankParam(roleName, lv, vLv, headHid, sHid, title);
|
let params = new RankParam(roleName, lv, vLv, headHid, sHid, title);
|
||||||
setRank(REDIS_KEY.PVP_RANK, 0, pvpDefense.roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params);
|
setRank(REDIS_KEY.PVP_RANK, 0, pvpDefense.roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params);
|
||||||
@@ -196,8 +196,8 @@ export async function resetPvpSeasonTime(hour: number) {
|
|||||||
systemConfig = await SystemConfigModel.createSystemConfig( seasonEndTime, warId );
|
systemConfig = await SystemConfigModel.createSystemConfig( seasonEndTime, warId );
|
||||||
} else {
|
} else {
|
||||||
seasonEndTime = hour * 60 * 60 + getTodayZeroPoint();
|
seasonEndTime = hour * 60 * 60 + getTodayZeroPoint();
|
||||||
seasonNum = systemConfig.seasonNum + 1;
|
seasonNum = systemConfig.seasonNum;
|
||||||
await SystemConfigModel.updateSystemConfig({ seasonEndTime, seasonNum: seasonNum});
|
await SystemConfigModel.updateSystemConfig({ seasonEndTime, seasonNum});
|
||||||
}
|
}
|
||||||
let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
|
let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
|
||||||
console.log('settleTime = ' + settleTime)
|
console.log('settleTime = ' + settleTime)
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ export interface pvpUpdateInter {
|
|||||||
receivedBox?: Array<number>;
|
receivedBox?: Array<number>;
|
||||||
seasonEndTime?:number;
|
seasonEndTime?:number;
|
||||||
isDefaultHero?:boolean;
|
isDefaultHero?:boolean;
|
||||||
oldSeasonEndTime?:number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export class Heroes {
|
export class Heroes {
|
||||||
@@ -148,8 +147,6 @@ export default class PvpDefense extends BaseModel {
|
|||||||
seasonEndTime: number;
|
seasonEndTime: number;
|
||||||
@prop({ required: true, default: true })
|
@prop({ required: true, default: true })
|
||||||
isFirstEntry: boolean;
|
isFirstEntry: boolean;
|
||||||
@prop({ required: true, default: 0 })
|
|
||||||
oldSeasonEndTime:number;
|
|
||||||
public static async findByRoleId(roleId: string, lean = true) {
|
public static async findByRoleId(roleId: string, lean = true) {
|
||||||
const result: PvpDefenseType = await PvpDefenseModel.findOne({ roleId }).lean(lean);
|
const result: PvpDefenseType = await PvpDefenseModel.findOne({ roleId }).lean(lean);
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
Reference in New Issue
Block a user