diff --git a/osu.Game/Rulesets/Difficulty/DifficultyCalculator.cs b/osu.Game/Rulesets/Difficulty/DifficultyCalculator.cs index 39340776f09e..718184e04131 100644 --- a/osu.Game/Rulesets/Difficulty/DifficultyCalculator.cs +++ b/osu.Game/Rulesets/Difficulty/DifficultyCalculator.cs @@ -140,7 +140,7 @@ public List CalculateTimed([NotNull] IEnumerable /// This can only be used to compute difficulties for legacy mod combinations. /// /// A collection of structures describing the difficulty of the beatmap for each mod combination. - public IEnumerable CalculateAllLegacyCombinations(CancellationToken cancellationToken = default) + public IEnumerable<(Mod[] Mods, IDifficultyAttributes Attributes)> CalculateAllLegacyCombinations(CancellationToken cancellationToken = default) { var rulesetInstance = ruleset.CreateInstance(); @@ -148,11 +148,13 @@ public IEnumerable CalculateAllLegacyCombinations(Cancell { Mod classicMod = rulesetInstance.CreateMod(); - var finalCombination = ModUtils.FlattenMod(combination); + IEnumerable finalCombination = ModUtils.FlattenMod(combination); if (classicMod != null) finalCombination = finalCombination.Append(classicMod); - yield return Calculate(finalCombination.ToArray(), cancellationToken); + Mod[] finalMods = finalCombination.ToArray(); + + yield return (finalMods, Calculate(finalMods, cancellationToken)); } }