Alexander Medvedev 2026-05-02 18:47:19 +02:00
parent f683de2bf8
commit 9c0adaa576

View File

@ -2877,10 +2877,14 @@ impl Player {
let current_level = self.experience_level.load(Ordering::Relaxed);
let current_points = self.experience_points.load(Ordering::Relaxed);
let total_exp = experience::points_to_level(current_level) + current_points;
let new_total_exp = total_exp + added_points;
let (new_level, new_points) = experience::total_to_level_and_points(new_total_exp);
let total_exp = experience::points_to_level(current_level) as i64 + current_points as i64;
let new_total_exp = total_exp + added_points as i64;
let safe_new_total = new_total_exp.clamp(0, i32::MAX as i64) as i32;
let (new_level, new_points) = experience::total_to_level_and_points(safe_new_total);
let progress = experience::progress_in_level(new_points, new_level);
self.set_experience(new_level, progress, new_points).await;
}