diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs index 3b58cdab11..ba86e4497d 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs @@ -25,7 +25,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty public const double DIFFICULTY_MULTIPLIER = 0.0668; public const double SUM_POWER = 1.1; public const double FL_SUM_POWER = 1.5; - public const double AR_SUM_POWER = 2.0; + public const double AR_SUM_POWER = 1.0; public override int Version => 20220902; public OsuDifficultyCalculator(IRulesetInfo ruleset, IWorkingBeatmap beatmap) @@ -73,7 +73,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty baseFlashlightPerformance = Flashlight.DifficultyToPerformance(flashlightRating); double baseReadingLowARPerformance = ReadingLowAR.DifficultyToPerformance(readingLowARRating); - double baseReadingHighARPerformance = OsuStrainSkill.DifficultyToPerformance(readingHighARRating) * 0.5; // WARNING, this is purely visual change to reduce SR inflation on high-end + double baseReadingHighARPerformance = OsuStrainSkill.DifficultyToPerformance(readingHighARRating); // WARNING, this is purely visual change to reduce SR inflation on high-end double baseReadingARPerformance = Math.Pow(Math.Pow(baseReadingLowARPerformance, AR_SUM_POWER) + Math.Pow(baseReadingHighARPerformance, AR_SUM_POWER), 1.0 / AR_SUM_POWER); double baseFlashlightARPerformance = Math.Pow(Math.Pow(baseFlashlightPerformance, FL_SUM_POWER) + Math.Pow(baseReadingARPerformance, FL_SUM_POWER), 1.0 / FL_SUM_POWER); diff --git a/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs b/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs index d2474b1a2d..01771ce5ac 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs @@ -83,8 +83,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Preprocessing public double? Angle { get; private set; } /// - /// Angle the player has to take to hit this . - /// Calculated as the angle between the circles (current-2, current-1, current). + /// Signed version of the Angle. + /// Potentially should be used for more accurate angle bonuses /// Ranges from -PI to PI /// public double? AngleSigned { get; private set; } diff --git a/osu.Game.Rulesets.Osu/Difficulty/Skills/Reading.cs b/osu.Game.Rulesets.Osu/Difficulty/Skills/Reading.cs index 73496e474c..51f87a7bb1 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/Skills/Reading.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/Skills/Reading.cs @@ -37,7 +37,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills double densityAimingFactor = ReadingEvaluator.EvaluateAimingDensityFactorOf(current); currentDensityAimStrain *= strainDecay(current.DeltaTime); - currentDensityAimStrain += densityAimingFactor * AimEvaluator.EvaluateDifficultyOf(current, false) * aimComponentMultiplier; + currentDensityAimStrain += densityAimingFactor * AimEvaluator.EvaluateDifficultyOf(current, true) * aimComponentMultiplier; double totalDensityDifficulty = (currentDensityAimStrain + densityReadingDifficulty) * skillMultiplier;