From 915223cab56be7c5b473294b7be4ba3acf55c8bd Mon Sep 17 00:00:00 2001 From: StanR Date: Fri, 13 Dec 2024 15:34:48 +0500 Subject: [PATCH] Consider slider->slider jump timing leniency --- osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs | 4 ++-- .../Difficulty/Preprocessing/OsuDifficultyHitObject.cs | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs b/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs index 9fdd1f2bed86..9816f6d0a412 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs @@ -13,7 +13,7 @@ public static class AimEvaluator { private const double wide_angle_multiplier = 1.5; private const double acute_angle_multiplier = 1.95; - private const double slider_multiplier = 1.05; + private const double slider_multiplier = 1.35; private const double velocity_change_multiplier = 0.75; /// @@ -127,7 +127,7 @@ public static double EvaluateDifficultyOf(DifficultyHitObject current, bool with // Add in additional slider velocity bonus. if (withSliderTravelDistance) - aimStrain += sliderBonus * 1.0; + aimStrain += sliderBonus * slider_multiplier; return aimStrain; } diff --git a/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs b/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs index bfddd831a75d..8c148771e716 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs @@ -191,6 +191,12 @@ private void setDistances(double clockRate) double lastTravelTime = Math.Max(lastSlider.LazyTravelTime / clockRate, MIN_DELTA_TIME); MinimumJumpTime = Math.Max(StrainTime - lastTravelTime, MIN_DELTA_TIME); + if (BaseObject is Slider) + { + // Jumping slider->slider gives extra timing leniency + MinimumJumpTime += HitWindowGreat / 2; + } + // // There are two types of slider-to-object patterns to consider in order to better approximate the real movement a player will take to jump between the hitobjects. //