diff --git a/Admin/Templates/playerheroinfo.tpl b/Admin/Templates/playerheroinfo.tpl index 36a9374e..312c0e15 100644 --- a/Admin/Templates/playerheroinfo.tpl +++ b/Admin/Templates/playerheroinfo.tpl @@ -129,12 +129,27 @@ if ($hero !== false) { Defence Off-Bonus% Def-Bonus% - Regeneration/Day + Regeneration/Day $count_level_exp) $h['points']=$count_level_exp; - $expPct = ($h['experience'] < 495000) ? (int)(($h['experience'] - $hero_levels[$h['level']]) / ($hero_levels[$h['level']+1] - $hero_levels[$h['level']])*100) : 100; + // 1. puncte rămase - nu lăsa negativ + $used = (int)$h['attack'] + (int)$h['defence'] + (int)$h['attackbonus'] + (int)$h['defencebonus'] + (int)$h['regeneration']; + $count_level_exp = max(0, 500 - $used); + if ($h['points'] > $count_level_exp) $h['points'] = $count_level_exp; + + // 2. procent XP - protejat pentru level 100 + $level = (int)$h['level']; + if ($level >= 100 || !isset($hero_levels[$level+1])) { + $expPct = 100; + } else { + $curr = $hero_levels[$level] ?? 0; + $next = $hero_levels[$level+1] ?? $curr; + $den = $next - $curr; + $expPct = ($den > 0 && $h['experience'] < $next) + ? (int)(($h['experience'] - $curr) * 100 / $den) + : 100; + } + $expPct = max(0, min(100, $expPct)); ?> Experience: %