handle stupid damage values

This commit is contained in:
Robin Appelman 2020-07-05 13:00:07 +02:00
commit 5e3efdd2fb

View file

@ -121,7 +121,7 @@ pub enum RawWeaponStats {
Kills(u32), Kills(u32),
Stats { Stats {
kills: u32, kills: u32,
dmg: i32, dmg: i64,
#[serde(default)] #[serde(default)]
avg_dmg: f32, avg_dmg: f32,
shots: u32, shots: u32,
@ -133,7 +133,7 @@ pub enum RawWeaponStats {
#[serde(from = "RawWeaponStats")] #[serde(from = "RawWeaponStats")]
pub struct WeaponStat { pub struct WeaponStat {
pub kills: u32, pub kills: u32,
pub dmg: i32, pub dmg: u32,
pub avg_dmg: f32, pub avg_dmg: f32,
pub shots: u32, pub shots: u32,
pub hits: u32, pub hits: u32,
@ -157,8 +157,16 @@ impl From<RawWeaponStats> for WeaponStat {
hits, hits,
} => WeaponStat { } => WeaponStat {
kills, kills,
dmg, dmg: if dmg > 0 && dmg < 100_000 {
avg_dmg, dmg as u32
} else {
0
},
avg_dmg: if dmg > 0 && dmg < 100_000 {
avg_dmg
} else {
0.0
},
shots, shots,
hits, hits,
}, },