fix: prevent underflow on fails due to sliders
This commit is contained in:
@@ -6,6 +6,9 @@
|
||||
- __Adjustments:__
|
||||
- Specified clock rates can go below 0.001 again
|
||||
|
||||
- __Fixes:__
|
||||
- Fixed underflow for osu!std scores that were FCs but quit mid-slider
|
||||
|
||||
# v0.9.4 (2023-02-09)
|
||||
|
||||
- __Additions:__
|
||||
|
||||
+2
-1
@@ -500,7 +500,8 @@ impl OsuPpInner {
|
||||
if self.attrs.n_sliders > 0 {
|
||||
let estimate_slider_ends_dropped =
|
||||
((self.state.n100 + self.state.n50 + self.state.n_misses)
|
||||
.min(self.attrs.max_combo - self.state.max_combo) as f64)
|
||||
.min(self.attrs.max_combo.saturating_sub(self.state.max_combo))
|
||||
as f64)
|
||||
.clamp(0.0, estimate_diff_sliders);
|
||||
let slider_nerf_factor = (1.0 - self.attrs.slider_factor)
|
||||
* (1.0 - estimate_slider_ends_dropped / estimate_diff_sliders).powi(3)
|
||||
|
||||
Reference in New Issue
Block a user