1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-27 03:39:53 +08:00

Move TD difficulty reduction to Aim (#36476)

This commit is contained in:
StanR
2026-01-26 19:23:44 +05:00
committed by GitHub
Unverified
parent 0afcebe8bf
commit 02b76db094
2 changed files with 12 additions and 5 deletions
@@ -31,9 +31,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty
double aimRating = CalculateDifficultyRating(aimDifficultyValue);
if (mods.Any(m => m is OsuModTouchDevice))
aimRating = Math.Pow(aimRating, 0.8);
if (mods.Any(m => m is OsuModRelax))
aimRating *= 0.9;
+12 -2
View File
@@ -10,6 +10,7 @@ using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Osu.Difficulty.Evaluators;
using osu.Game.Rulesets.Osu.Difficulty.Preprocessing;
using osu.Game.Rulesets.Osu.Difficulty.Utils;
using osu.Game.Rulesets.Osu.Mods;
using osu.Game.Rulesets.Osu.Objects;
namespace osu.Game.Rulesets.Osu.Difficulty.Skills
@@ -50,11 +51,20 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
double decayAim = strainDecayAim(((OsuDifficultyHitObject)current).AdjustedDeltaTime);
double decaySpeed = strainDecaySpeed(((OsuDifficultyHitObject)current).AdjustedDeltaTime);
double aimDifficulty = AimEvaluator.EvaluateDifficultyOf(current, IncludeSliders);
double speedDifficulty = SpeedAimEvaluator.EvaluateDifficultyOf(current);
if (Mods.Any(m => m is OsuModTouchDevice))
{
aimDifficulty = Math.Pow(aimDifficulty, 0.8);
speedDifficulty = Math.Pow(speedDifficulty, 0.95);
}
currentAimStrain *= decayAim;
currentAimStrain += AimEvaluator.EvaluateDifficultyOf(current, IncludeSliders) * (1 - decayAim) * skillMultiplierAim;
currentAimStrain += aimDifficulty * (1 - decayAim) * skillMultiplierAim;
currentSpeedStrain *= decaySpeed;
currentSpeedStrain += SpeedAimEvaluator.EvaluateDifficultyOf(current) * (1 - decaySpeed) * skillMultiplierSpeed;
currentSpeedStrain += speedDifficulty * (1 - decaySpeed) * skillMultiplierSpeed;
double totalStrain = DifficultyCalculationUtils.Norm(meanExponent, currentAimStrain, currentSpeedStrain);