diff --git a/Directory.Build.props b/Directory.Build.props index f6820b0..1bef016 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - 8.0 + 12.0 true true true diff --git a/osu.Game.Rulesets.Rush.Tests/osu.Game.Rulesets.Rush.Tests.csproj b/osu.Game.Rulesets.Rush.Tests/osu.Game.Rulesets.Rush.Tests.csproj index 6f86580..9015bd3 100644 --- a/osu.Game.Rulesets.Rush.Tests/osu.Game.Rulesets.Rush.Tests.csproj +++ b/osu.Game.Rulesets.Rush.Tests/osu.Game.Rulesets.Rush.Tests.csproj @@ -12,7 +12,7 @@ - + diff --git a/osu.Game.Rulesets.Rush/Mods/RushModDaycore.cs b/osu.Game.Rulesets.Rush/Mods/RushModDaycore.cs index 7893be0..0e6f1f4 100644 --- a/osu.Game.Rulesets.Rush/Mods/RushModDaycore.cs +++ b/osu.Game.Rulesets.Rush/Mods/RushModDaycore.cs @@ -5,8 +5,5 @@ namespace osu.Game.Rulesets.Rush.Mods { - public class RushModDaycore : ModDaycore - { - public override double ScoreMultiplier => 0.3; - } + public class RushModDaycore : ModDaycore { } } diff --git a/osu.Game.Rulesets.Rush/Mods/RushModDoubleTime.cs b/osu.Game.Rulesets.Rush/Mods/RushModDoubleTime.cs index c87728a..b94ee1b 100644 --- a/osu.Game.Rulesets.Rush/Mods/RushModDoubleTime.cs +++ b/osu.Game.Rulesets.Rush/Mods/RushModDoubleTime.cs @@ -5,8 +5,5 @@ namespace osu.Game.Rulesets.Rush.Mods { - public class RushModDoubleTime : ModDoubleTime - { - public override double ScoreMultiplier => 1.12; - } + public class RushModDoubleTime : ModDoubleTime { } } diff --git a/osu.Game.Rulesets.Rush/Mods/RushModFlashlight.cs b/osu.Game.Rulesets.Rush/Mods/RushModFlashlight.cs index 5e20bff..06a03a1 100644 --- a/osu.Game.Rulesets.Rush/Mods/RushModFlashlight.cs +++ b/osu.Game.Rulesets.Rush/Mods/RushModFlashlight.cs @@ -15,8 +15,6 @@ namespace osu.Game.Rulesets.Rush.Mods { public partial class RushModFlashlight : ModFlashlight { - public override double ScoreMultiplier => 1.12; - public override float DefaultFlashlightSize => 330; [SettingSource("Flashlight size", "Multiplier applied to the default flashlight size.")] diff --git a/osu.Game.Rulesets.Rush/Mods/RushModHalfTime.cs b/osu.Game.Rulesets.Rush/Mods/RushModHalfTime.cs index 09c4409..e62b5e3 100644 --- a/osu.Game.Rulesets.Rush/Mods/RushModHalfTime.cs +++ b/osu.Game.Rulesets.Rush/Mods/RushModHalfTime.cs @@ -5,8 +5,5 @@ namespace osu.Game.Rulesets.Rush.Mods { - public class RushModHalfTime : ModHalfTime - { - public override double ScoreMultiplier => 0.3; - } + public class RushModHalfTime : ModHalfTime { } } diff --git a/osu.Game.Rulesets.Rush/Mods/RushModNightcore.cs b/osu.Game.Rulesets.Rush/Mods/RushModNightcore.cs index ad12857..0aa56a5 100644 --- a/osu.Game.Rulesets.Rush/Mods/RushModNightcore.cs +++ b/osu.Game.Rulesets.Rush/Mods/RushModNightcore.cs @@ -6,8 +6,5 @@ namespace osu.Game.Rulesets.Rush.Mods { - public class RushModNightcore : ModNightcore - { - public override double ScoreMultiplier => 1.12; - } + public class RushModNightcore : ModNightcore { } } diff --git a/osu.Game.Rulesets.Rush/RushDifficultyCalculator.cs b/osu.Game.Rulesets.Rush/RushDifficultyCalculator.cs index 30d8754..1ad0535 100644 --- a/osu.Game.Rulesets.Rush/RushDifficultyCalculator.cs +++ b/osu.Game.Rulesets.Rush/RushDifficultyCalculator.cs @@ -1,9 +1,7 @@ // Copyright (c) Shane Woolcock. Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. -using System; using System.Collections.Generic; -using System.Linq; using osu.Game.Beatmaps; using osu.Game.Rulesets.Difficulty; using osu.Game.Rulesets.Difficulty.Preprocessing; @@ -19,13 +17,12 @@ public RushDifficultyCalculator(IRulesetInfo ruleset, IWorkingBeatmap beatmap) { } - protected override DifficultyAttributes CreateDifficultyAttributes(IBeatmap beatmap, Mod[] mods, Skill[] skills, double clockRate) - { - return new DifficultyAttributes(mods, 0) { StarRating = beatmap.BeatmapInfo.StarRating }; - } - protected override IEnumerable CreateDifficultyHitObjects(IBeatmap beatmap, double clockRate) => Enumerable.Empty(); + protected override DifficultyAttributes CreateDifficultyAttributes(IBeatmap beatmap, Mod[] mods, Skill[] skills) + => new DifficultyAttributes(mods, 0) { StarRating = beatmap.BeatmapInfo.StarRating }; + + protected override IEnumerable CreateDifficultyHitObjects(IBeatmap beatmap, Mod[] mods) => []; - protected override Skill[] CreateSkills(IBeatmap beatmap, Mod[] mods, double clockRate) => Array.Empty(); + protected override Skill[] CreateSkills(IBeatmap beatmap, Mod[] mods) => []; } } diff --git a/osu.Game.Rulesets.Rush/Scoring/RushScoreMultiplierCalculator.cs b/osu.Game.Rulesets.Rush/Scoring/RushScoreMultiplierCalculator.cs new file mode 100644 index 0000000..cae6236 --- /dev/null +++ b/osu.Game.Rulesets.Rush/Scoring/RushScoreMultiplierCalculator.cs @@ -0,0 +1,33 @@ +// Copyright (c) Shane Woolcock. Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using osu.Game.Rulesets.Rush.Mods; +using osu.Game.Rulesets.Scoring; + +namespace osu.Game.Rulesets.Rush.Scoring +{ + public class RushScoreMultiplierCalculator : ScoreMultiplierCalculator + { + public RushScoreMultiplierCalculator(ScoreMultiplierContext context) : base(context) + { + #region Difficulty Reduction + Single(hasMultiplier: 0.3); + Single(hasMultiplier: 0.3); + // No-fail + #endregion + + #region Difficulty Increase + Single(hasMultiplier: 1.12); + Single(hasMultiplier: 1.12); + Single(hasMultiplier: 1.12); + // Perfect + // Sudden death + #endregion + + #region Automation + // Autoplay + // Cinema + #endregion + } + } +} diff --git a/osu.Game.Rulesets.Rush/osu.Game.Rulesets.Rush.csproj b/osu.Game.Rulesets.Rush/osu.Game.Rulesets.Rush.csproj index 14affee..1e3fa13 100644 --- a/osu.Game.Rulesets.Rush/osu.Game.Rulesets.Rush.csproj +++ b/osu.Game.Rulesets.Rush/osu.Game.Rulesets.Rush.csproj @@ -33,6 +33,6 @@ - +