From ffa0fac5ebdc183f9e3eb48c6941a9c30653f24a Mon Sep 17 00:00:00 2001 From: Xexxar Date: Sat, 25 Sep 2021 04:08:05 +0000 Subject: [PATCH] refactored to clean up issues with streams --- osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs b/osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs index 5ee984350e..af7e9900c1 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Skills/Aim.cs @@ -29,7 +29,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills private const double wide_angle_multiplier = 1.0; private const double acute_angle_multiplier = 1.0; private const double rhythm_variance_multiplier = 1.0; - private const double vel_change_multiplier = 2.0; + private const double vel_change_multiplier = 1.0; protected override double StrainValueOf(DifficultyHitObject current) { @@ -76,9 +76,11 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills if (prevVector.Length > currVector.Length) { - double velChangeBonus = Math.Max(0, Math.Sqrt((prevVector.Length - currVector.Length) * currVector.Length) - Math.Max(0, currVector.Length - 100 / osuCurrObj.StrainTime)) * Math.Min(1, osuCurrObj.JumpDistance / 100); + double velChangeBonus = Math.Max(0, (prevVector.Length - currVector.Length) - Math.Min(0, currVector.Length - 100 / osuCurrObj.StrainTime)) + * Math.Min(1, osuCurrObj.JumpDistance / 100) + * Math.Min(1, (osuPrevObj.JumpDistance - osuCurrObj.JumpDistance) / 100); - aimStrain += velChangeBonus * (1 + wideAngleBonus)* vel_change_multiplier; + aimStrain += velChangeBonus * Math.Sqrt(100 / osuCurrObj.StrainTime) * (1 + wideAngleBonus) * vel_change_multiplier; } } }