初始进入pvp

This commit is contained in:
mamengke01
2021-01-08 11:29:45 +08:00
parent 88695dbad5
commit b46681c909
2 changed files with 8 additions and 3 deletions

View File

@@ -37,16 +37,18 @@ export class PvpHandler {
let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId); let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
let oppPlayers = getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum); let oppPlayers = getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum);
let {warId, seasonNum, seasonEndTime} = await SystemConfigModel.findSystemConfig(); let {warId, seasonNum, seasonEndTime} = await SystemConfigModel.findSystemConfig();
let {heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores} = pvpDefense; let {heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry} = pvpDefense;
if (pvpDefense.seasonNum !== seasonNum) { if (pvpDefense.seasonNum !== seasonNum) {
let { score, pLv, winStreakNum, heroScores, refOppCnt, challengeCnt, challengeRefTime } = await setPvpDefResult(pvpDefense, seasonNum); let { score, pLv, winStreakNum, heroScores, refOppCnt, challengeCnt, challengeRefTime } = await setPvpDefResult(pvpDefense, seasonNum);
} }
if (isFirstEntry) {
await PvpDefenseModel.updateInfo(roleId, {isFirstEntry:false});
}
let myRank = 999;//TODO去redis中获取 let myRank = 999;//TODO去redis中获取
let data = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores} let data = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry}
return resResult(STATUS.SUCCESS, data); return resResult(STATUS.SUCCESS, data);
} }
// TODO 刷新 // TODO 刷新
async refreshOppPlayer (msg: {}, session: BackendSession) { async refreshOppPlayer (msg: {}, session: BackendSession) {
let roleId = session.get('roleId'); let roleId = session.get('roleId');

View File

@@ -18,6 +18,7 @@ interface pvpUpdateInter {
refOppCnt?:number; refOppCnt?:number;
challengeCnt?:number; challengeCnt?:number;
challengeRefTime?:number; challengeRefTime?:number;
isFirstEntry?:boolean;
} }
export class Heroes { export class Heroes {
@@ -137,6 +138,8 @@ export default class PvpDefense extends BaseModel {
receivedBox: Array<number>; receivedBox: Array<number>;
@prop({ required: true, default: 0 }) @prop({ required: true, default: 0 })
seasonNum: number; seasonNum: number;
@prop({ required: true, default: true })
isFirstEntry: boolean;
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;