diff --git a/game-server/app/services/pvpService.ts b/game-server/app/services/pvpService.ts index 2072874e0..7e539461f 100644 --- a/game-server/app/services/pvpService.ts +++ b/game-server/app/services/pvpService.ts @@ -672,7 +672,7 @@ export async function savePvpSeasonResult(pvpDefense: PvpDefenseType, seasonNum: let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum, groupId }); rankLv = await r.getMyRank({ roleId: pvpDefense.roleId });// 获得排行榜排名 } - let pvpRankReward: DicRankRewads = getPvpRankRewardsByRank(seasonNum, rankLv); + let pvpRankReward: DicRankRewads = getPvpRankRewardsByRank(seasonNum, rankLv, pvpDefense.score); let rankGoods: RewardInter[] = []; if (pvpRankReward) { rankGoods = pvpRankReward.reward;//排名奖励 diff --git a/shared/pubUtils/data.ts b/shared/pubUtils/data.ts index 55c534529..151a7e889 100644 --- a/shared/pubUtils/data.ts +++ b/shared/pubUtils/data.ts @@ -584,9 +584,13 @@ export function getPvpRankMaxRewardsBySeasonNum(seasonNum: number) { } } -export function getPvpRankRewardsByRank(seasonNum: number, rankLv: number) { - if(rankLv == 0) return null +export function getPvpRankRewardsByRank(seasonNum: number, rankLv: number, score: number) { + if(score <= 0) return null let ranks = getPvpRankRewardsBySeasonNum(seasonNum)??[]; + if(rankLv == 0) { + let item = ranks.find(cur => cur.max == -1); + return item; + } for (let item of ranks) { if ((item.max >= rankLv || item.max == -1) && rankLv >= item.min) {