This commit is contained in:
parent
f683de2bf8
commit
9c0adaa576
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user