diff --git a/osu.Game.Rulesets.Osu/Difficulty/Evaluators/Aim/SnapAimEvaluator.cs b/osu.Game.Rulesets.Osu/Difficulty/Evaluators/Aim/SnapAimEvaluator.cs index a345b2aa5fb7..528d9b20d292 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Evaluators/Aim/SnapAimEvaluator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Evaluators/Aim/SnapAimEvaluator.cs @@ -28,10 +28,10 @@ public static double EvaluateDifficultyOf(DifficultyHitObject current, bool with if (current.BaseObject is Spinner || current.Index <= 1 || osuLastObj.BaseObject is Spinner) return 0; - const double wide_angle_multiplier = 9.67; + const double wide_angle_multiplier = 10.0; const double acute_angle_multiplier = 2.41; const double slider_multiplier = 1.5; - const double velocity_change_multiplier = 0.9; + const double velocity_change_multiplier = 1.0; // WARNING: Increasing this multiplier beyond 1.02 reduces difficulty as distance increases. Refer to the desmos link above the wiggle bonus calculation const double wiggle_multiplier = 1.02; @@ -58,7 +58,8 @@ public static double EvaluateDifficultyOf(DifficultyHitObject current, bool with double snapDifficulty = currVelocity; // Start difficulty with regular velocity. // Penalize angle repetition. - snapDifficulty *= vectorAngleRepetition(osuCurrObj, osuLastObj); + if (Math.Max(osuCurrObj.AdjustedDeltaTime, osuLastObj.AdjustedDeltaTime) < 1.1 * Math.Min(osuCurrObj.AdjustedDeltaTime, osuLastObj.AdjustedDeltaTime)) // If rhythms are the same. + snapDifficulty *= vectorAngleRepetition(osuCurrObj, osuLastObj); if (osuCurrObj.Angle != null && osuLastObj.Angle != null) { diff --git a/osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs b/osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs index 30a20d2827d5..e1821e91c132 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs @@ -56,8 +56,8 @@ protected override double StrainValueAt(DifficultyHitObject current) private double calculateAdjustedDifficulty(DifficultyHitObject current) { - const double skill_multiplier_snap = 70.9; - const double skill_multiplier_agility = 2.35; + const double skill_multiplier_snap = 70.6; + const double skill_multiplier_agility = 2.25; const double skill_multiplier_flow = 242.0; double snapDifficulty = SnapAimEvaluator.EvaluateDifficultyOf(current, IncludeSliders) * skill_multiplier_snap;