changed curve to linear OD + acc based curve

This commit is contained in:
Xexxar 2020-12-09 11:57:01 -06:00
parent cfc34a63bd
commit 05ad9aae8d

View File

@ -121,13 +121,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty
: 0.0);
}
// Scale the aim value with accuracy _alot_
if (accuracy > .8)
aimValue *= 0.5 + Math.Pow(Math.Sin(2.5 * (accuracy - .8) * Math.PI), 2) / 2;
else
aimValue *= accuracy * (.5 / .8);
// It is important to also consider accuracy difficulty when doing that
aimValue *= 0.975 + Math.Pow(Attributes.OverallDifficulty, 2) / 2000;
// Scale the aim value with accuracy and OD
aimValue *= .975 + Math.Pow(Attributes.OverallDifficulty, 2) / 1500 + 200 * (accuracy - 1) * Math.Pow(1 / Attributes.OverallDifficulty, 2);
return aimValue;
}
@ -157,13 +152,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty
if (mods.Any(m => m is OsuModHidden))
speedValue *= 1.0 + 0.04 * (12.0 - Attributes.ApproachRate);
// Scale the speed value with accuracy _alot_
if (accuracy > .8)
speedValue *= 0.5 + Math.Pow(Math.Sin(2.5 * (accuracy - .8) * Math.PI), 2) / 2;
else
speedValue *= accuracy * (.5 / .8);
// It is important to also consider accuracy difficulty when doing that
speedValue *= 0.95 + Math.Pow(Attributes.OverallDifficulty, 2) / 1000;
// Scale the speed value with accuracy and OD
speedValue *= .95 + Math.Pow(Attributes.OverallDifficulty, 2) / 750 + 200 * (accuracy - 1) * Math.Pow(1 / Attributes.OverallDifficulty, 2);
return speedValue;
}