养成:修复武将升级
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user