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: % |
|