From 822c48ac47b14878bfb8914da0923000830c4af9 Mon Sep 17 00:00:00 2001 From: luying Date: Thu, 30 Dec 2021 17:31:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BB=E6=88=90=EF=BC=9A=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=AD=A6=E5=B0=86=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/role/handler/heroHandler.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/game-server/app/servers/role/handler/heroHandler.ts b/game-server/app/servers/role/handler/heroHandler.ts index a8863b936..69307d8df 100644 --- a/game-server/app/servers/role/handler/heroHandler.ts +++ b/game-server/app/servers/role/handler/heroHandler.ts @@ -79,8 +79,10 @@ export class HeroHandler { let { lv: oldLv, exp: oldExp } = hero; if (oldLv >= playerLv) return resResult(STATUS.ROLE_HERO_LV_OVER); if (oldLv + addLv > playerLv) addLv = playerLv - oldLv; + console.log('******* addLv', addLv, oldLv, playerLv); let nextExp = getHeroExpByLv(oldLv + addLv - 1); + console.log('nextExp', nextExp, oldLv + addLv - 1, oldExp) let needExp = nextExp - oldExp; let newExp = oldExp; @@ -90,14 +92,17 @@ export class HeroHandler { for (let { id, count } of originalConsumes) { let dicGoods = gameData.goods.get(id); if (!dicGoods) return resResult(STATUS.DIC_DATA_NOT_FOUND); + if(needExp < 0) break; let _count = Math.ceil(needExp / dicGoods.value); if (_count < count) { material.push({ id, count: _count }); newExp += dicGoods.value * _count; + needExp -= dicGoods.value * _count; break; } else { material.push({ id, count }); newExp += dicGoods.value * count; + needExp -= dicGoods.value * count; } }