1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-13 02:23:18 +08:00

Cap Buzz Slider Related Misses

After letting the comments @Flamiii left brew for a while, I realized they were very much right about the buzz slider thing. As such, I've implemented a quick and dirty untested fix that will hopefully have zero unintended side-effects :)

I don't see this as a permanent or final solution yet. There's definitely some potential issues/inaccuracies that could arise with maps like Notch Hell or IOException's Black Rover, but afaik this implementation would not cause any issues that stable doesn't already have.
This commit is contained in:
Fina 2024-04-10 20:31:52 -07:00 committed by GitHub
parent c24f99ed5f
commit 2dd49036ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -44,10 +44,11 @@ namespace osu.Game.Rulesets.Osu.Difficulty
countLargeTickMiss = score.Statistics.GetValueOrDefault(HitResult.LargeTickMiss);
countSliderEndsDropped = score.Statistics.GetValueOrDefault(HitResult.SmallTickMiss);
if (!score.Mods.Any(h => h is OsuModClassic cl && cl.NoSliderHeadAccuracy.Value))
effectiveMissCount = countMiss + countLargeTickMiss;
effectiveMissCount = countMiss + Math.Min(countLargeTickMiss, calculateEffectiveMissCount(osuAttributes) - countMiss); // Cap stuff like buzz-slider related drops to a sane value
else
effectiveMissCount = calculateEffectiveMissCount(osuAttributes);
double multiplier = PERFORMANCE_BASE_MULTIPLIER;
if (score.Mods.Any(m => m is OsuModNoFail))