初始进入pvp
This commit is contained in:
@@ -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');
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user