diff --git a/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs b/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs index f5f6d3c629..5024a9b710 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Evaluators/AimEvaluator.cs @@ -126,11 +126,13 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Evaluators double currFlowBonus = Math.Pow((osuLastObj?.MinimumJumpDistance?? 0) / 125, 3.6); double prevFlowBonus = Math.Pow((osuLastLastObj?.MinimumJumpDistance?? 0) / 125, 3.6); double flowBonus = Math.Max(prevFlowBonus, currFlowBonus); + // Part of the aiming difficulty for this object is accounted for in the speed evaluator, so reduce aim difficulty here if (flowBonus < 1) { aimStrain *= 0.5 + 0.5 * Math.Sqrt(flowBonus); } + // Add in acute angle bonus or wide angle bonus + velocity change bonus, whichever is larger. aimStrain += Math.Max(acuteAngleBonus * acute_angle_multiplier, wideAngleBonus * wide_angle_multiplier + velocityChangeBonus * velocity_change_multiplier);