From 1870673fbd10e70058869d96c64ed3bdfdd56e3c Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 19 Oct 2022 15:57:48 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(=E5=B7=85=E5=B3=B0=E6=BC=94?= =?UTF-8?q?=E6=AD=A6):=20=E8=B5=9B=E5=AD=A3=E7=BB=93=E7=AE=97=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当新玩家,或是未结算到的玩家进入时,结算弹出条件错误 --- game-server/app/servers/battle/handler/pvpHandler.ts | 5 +++-- game-server/app/services/pvpService.ts | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/game-server/app/servers/battle/handler/pvpHandler.ts b/game-server/app/servers/battle/handler/pvpHandler.ts index f857d578a..7367a679a 100644 --- a/game-server/app/servers/battle/handler/pvpHandler.ts +++ b/game-server/app/servers/battle/handler/pvpHandler.ts @@ -46,9 +46,10 @@ export class PvpHandler { if(!pvpDefense) { let role = await RoleModel.findByRoleId(roleId); pvpDefense = await PvpDefenseModel.createPvpDefense(seasonNum, { serverId: role.serverId, roleId: role.roleId, roleName: role.roleName, role: role._id }); + } else { + // 如果没有发过,将上赛季的奖励发下 + pvpDefense = await sendLastSeasonRewardIfNotSent(pvpDefense); } - // 如果没有发过,将上赛季的奖励发下 - pvpDefense = await sendLastSeasonRewardIfNotSent(pvpDefense); let update: pvpUpdateInter = { }; let result = new PvpDataReturn(); // 返回对象 diff --git a/game-server/app/services/pvpService.ts b/game-server/app/services/pvpService.ts index fc18934e7..53662b7f1 100644 --- a/game-server/app/services/pvpService.ts +++ b/game-server/app/services/pvpService.ts @@ -371,8 +371,8 @@ export async function comsumeChallengeCnt(challengeCnt: number, challengeRefTime export async function sendLastSeasonRewardIfNotSent(pvpDefense: PvpDefenseType) { let seasonSettleNum: number = pinus.app.get('pvpSettleSeasonNum'); - console.log('##### sendLastSeasonRewardIfNotSent seasonSettleNum', seasonSettleNum) - if(seasonSettleNum && pvpDefense.score && !await checkHasSettled(seasonSettleNum, pvpDefense.roleId)) { + console.log('##### sendLastSeasonRewardIfNotSent seasonSettleNum', pvpDefense.roleId, pvpDefense.rankSeasonNum, seasonSettleNum) + if(seasonSettleNum && pvpDefense.rankSeasonNum < seasonSettleNum) { let oldPvpCongig = await PVPConfigModel.findPVPConfig(seasonSettleNum); let result = await sendPVPRewardToUser(pvpDefense, seasonSettleNum, oldPvpCongig.seasonEndTime); pvpDefense = result.pvpDefense; @@ -380,10 +380,10 @@ export async function sendLastSeasonRewardIfNotSent(pvpDefense: PvpDefenseType) return pvpDefense; } -async function checkHasSettled(seasonSettleNum: number, roleId: string) { - let hasData = await PvpSeasonResultModel.checkResultBySeasonNum(roleId, seasonSettleNum); - return hasData; -} +// async function checkHasSettled(seasonSettleNum: number, roleId: string) { +// let hasData = await PvpSeasonResultModel.checkResultBySeasonNum(roleId, seasonSettleNum); +// return hasData; +// } // 获取刷新对手次数及消耗 export function refreshRefOppCnt(pvpDefense: PvpDefenseType) {