diff --git a/game-server/app/servers/role/handler/heroHandler.ts b/game-server/app/servers/role/handler/heroHandler.ts index 3a1b49531..1ab1e8d38 100644 --- a/game-server/app/servers/role/handler/heroHandler.ts +++ b/game-server/app/servers/role/handler/heroHandler.ts @@ -100,7 +100,9 @@ export class HeroHandler { if(!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS); let {lv: playerLv} = await RoleModel.findByRoleId(roleId); let {lv: oldLv, exp: oldExp} = hero; - if(oldLv + addLv > playerLv ) return resResult(STATUS.ROLE_HERO_LV_OVER); + if(oldLv >= playerLv ) return resResult(STATUS.ROLE_HERO_LV_OVER); + if(oldLv + addLv > playerLv ) addLv = playerLv - oldLv; + let nextExp = getHeroExpByLv(oldLv + addLv - 1); let needExp = nextExp - oldExp; let newExp = oldExp;