diff --git a/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs b/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs index 4b1554b1ee..a0f4cb5b3a 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs @@ -172,6 +172,9 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Evaluators double relevantStrainTime = Math.Max(osuLast0Obj.StrainTime, osuLast2Obj.StrainTime); doubletapHitWindow *= DifficultyCalculationUtils.Smoothstep(doubletapHitWindow, relevantStrainTime / 2, relevantStrainTime); + // Don't nerf if difference in straintimes is too big + doubletapHitWindow *= DifficultyCalculationUtils.ReverseLerp(osuLast0Obj.StrainTime, osuCurrObj.StrainTime * 0.4, osuCurrObj.StrainTime * 0.9); + // Divide by 2 because only half of hitwindow is used to abuse consecutive jumps double strainTimeAdjust = doubletappability * doubletapHitWindow / 2;