|
@@ -225,7 +225,11 @@ class HeroProc {
|
|
|
$myPacketItems->$costItemId = 0;
|
|
|
}
|
|
|
$req->userInfo->game->store->items = $myPacketItems; # 更新背包数据
|
|
|
- UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
+ if ($targetHero->xp < 0) {
|
|
|
+
|
|
|
+ } else {
|
|
|
+ UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
+ }
|
|
|
self::CalcUserFightPower($req->zoneid, $req->uid, $req->userInfo->game); # 跟新战力统计
|
|
|
return Resp::ok($targetHero);
|
|
|
}
|
|
@@ -1057,18 +1061,22 @@ class HeroProc {
|
|
|
if ($targetHero->level >= $maxLevel) {
|
|
|
return; # 已达顶级
|
|
|
}
|
|
|
- $lvs = GameConfig::hero_levelexp_getItem($targetHero->level);
|
|
|
+ $lvs = GameConfig::hero_levelexp_getItem($targetHero->level + 1);
|
|
|
$targetHero->xp += $totalEXP;
|
|
|
+ var_dump("+" . $totalEXP);
|
|
|
CLog:: Assert("HeroProc", $targetHero->xp >= 0, #
|
|
|
"[" . $req->uid . "] : HeroLevelUpgrade Exp is negative!");
|
|
|
-
|
|
|
+ var_dump($targetHero->xp);
|
|
|
+ var_dump($lvs);
|
|
|
while ($targetHero->xp >= $lvs->needExp) {
|
|
|
if ($targetHero->level < $maxLevel) { # 如果未到达最大等级
|
|
|
$targetHero->level += 1;
|
|
|
$lvs = GameConfig::hero_levelexp_getItem($targetHero->level);
|
|
|
if ($targetHero->level >= $maxLevel) {
|
|
|
+ echoLine("maxlevel");
|
|
|
$targetHero->xp = $lvs->needExp;
|
|
|
} else {
|
|
|
+ echoLine("targetHero->xp -= $lvs->needExp");
|
|
|
$targetHero->xp -= $lvs->needExp;
|
|
|
}
|
|
|
// $targetHero->maxXp = $lvs->needExp;
|
|
@@ -1077,6 +1085,8 @@ class HeroProc {
|
|
|
break;
|
|
|
}
|
|
|
} // end while
|
|
|
+ CLog:: Assert("HeroProc", $targetHero->xp >= 0, #
|
|
|
+ "[" . $req->uid . "] : HeroLevelUpgrade Exp is negative!");
|
|
|
$collectHeros->$heroUID = $targetHero; # 更新英雄的数据
|
|
|
return $targetHero; # 将英雄对象返回
|
|
|
}
|