From f9ec0d782b6ecbbc88a562e0c6beaeb22c4e9589 Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 27 May 2022 19:20:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B6=E4=BB=96=E5=9C=B0=E6=96=B9=E4=B9=9F?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A4=E7=A9=BA=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/pvpService.ts | 5 ++++- shared/pubUtils/data.ts | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/game-server/app/services/pvpService.ts b/game-server/app/services/pvpService.ts index cefab3f5d..a99979fdd 100644 --- a/game-server/app/services/pvpService.ts +++ b/game-server/app/services/pvpService.ts @@ -259,7 +259,9 @@ async function matchRobot(chosenOpps: string[], role: RoleType, score: number, d let dicHero = gameData.hero.get(actorId); if (!dicHero) continue; let heroInfo = new PvpHeroInfo(); - let { attribute, ce, lv } = getRobotAttribute(actorId, ratio, score); + let robotInfo = getRobotAttribute(actorId, ratio, score); + if(!robotInfo) continue; + let { attribute, ce, lv } = robotInfo; heroInfo.setRobotInfo(dicHero, lv); defCe += ce; heroInfo.setAttribute(attribute); @@ -373,6 +375,7 @@ export function refreshRefOppCnt(pvpDefense: PvpDefenseType) { export function getRobotAttribute(hid: number, posRatio: number, score: number) { let difficultRatio = getPvpDifficultByScore(score); + if(!difficultRatio) return null let dicHero = gameData.hero.get(hid); let newAttribute = new AttributeCal(); diff --git a/shared/pubUtils/data.ts b/shared/pubUtils/data.ts index 069f6f7f5..9551f09fa 100644 --- a/shared/pubUtils/data.ts +++ b/shared/pubUtils/data.ts @@ -456,7 +456,14 @@ export function getPvpHeroRewardsByScore(score: number) { return item; } } - return null + return getMaxPvpHeroRewards() +} + +function getMaxPvpHeroRewards() { + if(gameData.pvpHeroRewards.length <= 0) return null + return gameData.pvpHeroRewards.reduce((pre, cur) => { + return cur.max > pre.max? cur: pre; + }, gameData.pvpHeroRewards[0]) } export function getPvpRankRewardsByRank(rankLv: number) {