mirror of
https://github.com/ppy/osu.git
synced 2026-05-27 02:01:18 +08:00
Merge pull request #34007 from bdach/not-implemented-mods-cannot-be-freestyled
Disallow Classic mod from being valid in freestyle as required mod
This commit is contained in:
@@ -342,13 +342,14 @@ namespace osu.Game.Tests.Mods
|
||||
{
|
||||
foreach (var mod in ruleset.CreateAllMods())
|
||||
{
|
||||
if (mod.ValidForFreestyleAsRequiredMod && mod.UserPlayable && !commonAcronyms.Contains(mod.Acronym))
|
||||
Assert.Fail($"{mod.GetType().ReadableName()} declares {nameof(Mod.ValidForFreestyleAsRequiredMod)} but does not exist in all four basic rulesets!");
|
||||
if (mod.ValidForFreestyleAsRequiredMod && !mod.UserPlayable)
|
||||
Assert.Fail($"Mod {mod.GetType().ReadableName()} declares {nameof(Mod.ValidForFreestyleAsRequiredMod)} but is not playable!");
|
||||
|
||||
// downgraded to warning, because there are valid reasons why they may still not be specified to be valid for freestyle as required
|
||||
// (see `TestModsValidForRequiredFreestyleAreConsistentlyCompatibleAcrossRulesets()` test case below).
|
||||
if (!mod.ValidForFreestyleAsRequiredMod && mod.UserPlayable && commonAcronyms.Contains(mod.Acronym))
|
||||
Assert.Warn($"{mod.GetType().ReadableName()} does not declare {nameof(Mod.ValidForFreestyleAsRequiredMod)} but exists in all four basic rulesets.");
|
||||
if (mod.ValidForFreestyleAsRequiredMod && !mod.HasImplementation)
|
||||
Assert.Fail($"Mod {mod.GetType().ReadableName()} declares {nameof(Mod.ValidForFreestyleAsRequiredMod)} but is not implemented!");
|
||||
|
||||
if (mod.ValidForFreestyleAsRequiredMod && mod.UserPlayable && mod.HasImplementation && !commonAcronyms.Contains(mod.Acronym))
|
||||
Assert.Fail($"{mod.GetType().ReadableName()} declares {nameof(Mod.ValidForFreestyleAsRequiredMod)} but does not exist in all four basic rulesets!");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -31,6 +31,6 @@ namespace osu.Game.Rulesets.Mods
|
||||
/// </summary>
|
||||
public sealed override bool Ranked => false;
|
||||
|
||||
public sealed override bool ValidForFreestyleAsRequiredMod => true;
|
||||
public sealed override bool ValidForFreestyleAsRequiredMod => false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user