fix: nf penalty bug

This commit is contained in:
tsunyoku
2022-11-21 17:40:05 +00:00
parent 6d78d06172
commit 568bacdba6
+3 -3
View File
@@ -244,9 +244,11 @@ impl<'m> OsuPP<'m> {
let total_hits = self.total_hits() as f32;
let mut multiplier = 1.12;
let effective_miss_count = self.calculate_effective_miss_count();
// NF penalty
if self.mods.nf() {
multiplier *= 0.9_f32.max(1.0 - 0.2 * self.n_misses as f32);
multiplier *= 0.9_f32.max(1.0 - 0.2 * effective_miss_count);
}
// SO penalty
@@ -255,8 +257,6 @@ impl<'m> OsuPP<'m> {
1.0 - (self.attributes.as_ref().unwrap().n_spinners as f32 / total_hits).powf(0.85);
}
let effective_miss_count = self.calculate_effective_miss_count();
let mut aim_value = self.compute_aim_value(total_hits, effective_miss_count);
let speed_value = self.compute_speed_value(total_hits, effective_miss_count);
let acc_value = self.compute_accuracy_value(total_hits);