flashlight combo hotfix

This commit is contained in:
tsunyoku
2024-07-13 13:44:48 +01:00
parent b439e81dc0
commit 6e840d5720
+14
View File
@@ -381,6 +381,8 @@ impl<'m> OsuPP<'m> {
// FL bonus
if self.mods.fl() {
aim_value *= self.calculate_combo_scaling_factor();
aim_value *= 1.0
+ 0.3 * (total_hits / 200.0).min(1.0)
+ (total_hits > 200.0) as u8 as f32
@@ -530,6 +532,18 @@ impl<'m> OsuPP<'m> {
combo_based_miss_count = combo_based_miss_count.min(n100 + n50 + self.n_misses as f32);
combo_based_miss_count.max(self.n_misses as f32)
}
#[inline]
fn calculate_combo_scaling_factor(&self) -> f32 {
let attributes = self.attributes.as_ref().unwrap();
let combo = self.combo.unwrap_or(attributes.max_combo) as f32;
if combo <= 0.0 {
1.0
} else {
(combo.powf(0.8) / (attributes.max_combo as f32).powf(0.8)).min(1.0)
}
}
}
/// Provides attributes for an osu! beatmap.