diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs index fe430915f4..d30f556c77 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs @@ -146,11 +146,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty public static double SumCognitionDifficulty(double reading, double flashlight) { - // Base LP summed value, accounting for map being partially memorized with FL - double cognition = DifficultyCalculationUtils.Norm(2, reading, flashlight); - - // Inrease FL bonus when it's lower than reading to avoid situations where high reading difficulty makes FL give practically 0 bonus - return flashlight >= reading ? cognition : double.Lerp(reading + flashlight, cognition, flashlight / reading); + // Nerf flashlight value in cognition sum when reading is greater than flashlight + return DifficultyCalculationUtils.Norm(OsuPerformanceCalculator.PERFORMANCE_NORM_EXPONENT, reading, flashlight * Math.Clamp(flashlight / reading, 0.25, 1.0)); } private double calculateStarRating(double basePerformance)