1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 17:32:54 +08:00

added ppcalc changes to build

This commit is contained in:
Xexxar 2021-10-21 17:18:24 +00:00
parent 81e817f881
commit dba0ee0b1d

View File

@ -100,22 +100,18 @@ namespace osu.Game.Rulesets.Osu.Difficulty
double approachRateFactor = 0.0; double approachRateFactor = 0.0;
if (Attributes.ApproachRate > 10.33) if (Attributes.ApproachRate > 10.33)
approachRateFactor = Attributes.ApproachRate - 10.33; approachRateFactor = 0.3 * (Attributes.ApproachRate - 10.33);
else if (Attributes.ApproachRate < 8.0) else if (Attributes.ApproachRate < 8.0)
approachRateFactor = 0.025 * (8.0 - Attributes.ApproachRate); approachRateFactor = 0.1 * (8.0 - Attributes.ApproachRate);
double approachRateTotalHitsFactor = 1.0 / (1.0 + Math.Exp(-(0.007 * (totalHits - 400)))); aimValue *= 1.0 + approachRateFactor;
double approachRateBonus = 1.0 + (0.03 + 0.37 * approachRateTotalHitsFactor) * approachRateFactor;
// We want to give more reward for lower AR when it comes to aim and HD. This nerfs high AR and buffs lower AR. // We want to give more reward for lower AR when it comes to aim and HD. This nerfs high AR and buffs lower AR.
if (mods.Any(h => h is OsuModHidden)) if (mods.Any(h => h is OsuModHidden))
aimValue *= 1.0 + 0.04 * (12.0 - Attributes.ApproachRate); aimValue *= 1.0 + 0.04 * (12.0 - Attributes.ApproachRate);
aimValue *= approachRateBonus; // Scale the aim value with accuracy
aimValue *= accuracy;
// Scale the aim value with accuracy _slightly_.
aimValue *= 0.5 + accuracy / 2.0;
// It is important to also consider accuracy difficulty when doing that. // It is important to also consider accuracy difficulty when doing that.
aimValue *= 0.98 + Math.Pow(Attributes.OverallDifficulty, 2) / 2500; aimValue *= 0.98 + Math.Pow(Attributes.OverallDifficulty, 2) / 2500;
@ -141,11 +137,9 @@ namespace osu.Game.Rulesets.Osu.Difficulty
double approachRateFactor = 0.0; double approachRateFactor = 0.0;
if (Attributes.ApproachRate > 10.33) if (Attributes.ApproachRate > 10.33)
approachRateFactor = Attributes.ApproachRate - 10.33; approachRateFactor = 0.3 * (Attributes.ApproachRate - 10.33);
double approachRateTotalHitsFactor = 1.0 / (1.0 + Math.Exp(-(0.007 * (totalHits - 400)))); speedValue *= 1.0 + approachRateFactor;
speedValue *= 1.0 + (0.03 + 0.37 * approachRateTotalHitsFactor) * approachRateFactor;
if (mods.Any(m => m is OsuModHidden)) if (mods.Any(m => m is OsuModHidden))
speedValue *= 1.0 + 0.04 * (12.0 - Attributes.ApproachRate); speedValue *= 1.0 + 0.04 * (12.0 - Attributes.ApproachRate);