From 683d420c7e0d45cbd4d6392aed83784bded2aecb Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 8 Jan 2021 17:11:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=93=E7=AE=97=E6=97=B6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=9C=80=E9=AB=98=E7=A7=AF=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/battle/handler/pvpHandler.ts | 10 +++++++--- shared/db/PvpDefense.ts | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/game-server/app/servers/battle/handler/pvpHandler.ts b/game-server/app/servers/battle/handler/pvpHandler.ts index 57ea10eb0..cc8f7209c 100644 --- a/game-server/app/servers/battle/handler/pvpHandler.ts +++ b/game-server/app/servers/battle/handler/pvpHandler.ts @@ -44,7 +44,10 @@ export class PvpHandler { let myRank = await getMyRank(REDIS_KEY.PVP_RANK, 0, roleId);//去redis中获取排名 let { refOppCnt } = getRefOppCnt(pvpDefense.refOppCnt, pvpDefense.refOppTime); // 刷新次数 - let data = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry} + let data = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes: heroes.map(cur => { + let {actorId, dataId, order} = cur; + return { actorId, dataId, order } + }), score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry} return resResult(STATUS.SUCCESS, data); } @@ -210,7 +213,7 @@ export class PvpHandler { // 更新军功 let {pvpDefense, warId} = await findPvpDefByRoleId(roleId); if(!pvpDefense) return resResult(STATUS.PVP_NOT_OPEN); - let { oppPlayers, winStreakNum, heroScores, score } = pvpDefense; + let { oppPlayers, winStreakNum, heroScores, score, hisScore } = pvpDefense; let curOpp = oppPlayers.find(cur => cur.roleId == oppRoleId && cur.pos == pos); if(!curOpp) return resResult(STATUS.PVP_ROLE_NOT_FOUND); @@ -267,6 +270,7 @@ export class PvpHandler { } score += addSumScore; + if(score > hisScore) hisScore = score; let pLv = getLvByScore(heroScores); // 刷新对手 @@ -294,7 +298,7 @@ export class PvpHandler { // 增加挑战次数 let { challengeCnt, challengeRefTime } = comsumeChallengeCnt(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, pvpDefense.seasonEndTime); - pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { oppPlayers: newOppPlayers, heroScores, score, pLv, winStreakNum, challengeCnt, challengeRefTime }); + pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { oppPlayers: newOppPlayers, heroScores, score, hisScore, pLv, winStreakNum, challengeCnt, challengeRefTime }); let result = await getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum); // 加入排行榜 diff --git a/shared/db/PvpDefense.ts b/shared/db/PvpDefense.ts index 37f81b767..ca47dc165 100644 --- a/shared/db/PvpDefense.ts +++ b/shared/db/PvpDefense.ts @@ -8,6 +8,7 @@ import { PVP_PLAYER_POS, PVP_HERO_POS } from '../consts'; interface pvpUpdateInter { _id?: string; oppPlayers?: OppPlayers[]; + hisScore?: number; score?: number; pLv?:number; heroScores?: HeroScores[];