diff --git a/osu.Game.Rulesets.Sentakki/Objects/Hold.cs b/osu.Game.Rulesets.Sentakki/Objects/Hold.cs index 37779d798..8bc744d0e 100644 --- a/osu.Game.Rulesets.Sentakki/Objects/Hold.cs +++ b/osu.Game.Rulesets.Sentakki/Objects/Hold.cs @@ -49,7 +49,7 @@ protected override void CreateNestedHitObjects(CancellationToken cancellationTok base.CreateNestedHitObjects(cancellationToken); } - protected override HitWindows CreateHitWindows() => new SentakkiTapHitWindows(); + protected override HitWindows CreateHitWindows() => new SentakkiHoldReleaseWindows(); public class HoldHead : SentakkiLanedHitObject { diff --git a/osu.Game.Rulesets.Sentakki/Scoring/SentakkiHoldReleaseWindows.cs b/osu.Game.Rulesets.Sentakki/Scoring/SentakkiHoldReleaseWindows.cs new file mode 100644 index 000000000..999247c43 --- /dev/null +++ b/osu.Game.Rulesets.Sentakki/Scoring/SentakkiHoldReleaseWindows.cs @@ -0,0 +1,37 @@ +using osu.Game.Rulesets.Scoring; + +namespace osu.Game.Rulesets.Sentakki.Scoring; + +public class SentakkiHoldReleaseWindows : SentakkiHitWindows +{ + private static readonly DifficultyRange[] default_ranges = + { + SimpleDifficultyRange(HitResult.Miss, 12 * timing_unit), + SimpleDifficultyRange(HitResult.Ok, 12 * timing_unit), + SimpleDifficultyRange(HitResult.Good, 9 * timing_unit), + SimpleDifficultyRange(HitResult.Great, 6 * timing_unit), + SimpleDifficultyRange(HitResult.Perfect, 3 * timing_unit), + }; + + private static readonly DifficultyRange[] maji_ranges = + { + SimpleDifficultyRange(HitResult.Miss, 9 * timing_unit), + SimpleDifficultyRange(HitResult.Ok, 9 * timing_unit), + SimpleDifficultyRange(HitResult.Good, 6 * timing_unit), + SimpleDifficultyRange(HitResult.Great, 3 * timing_unit), + SimpleDifficultyRange(HitResult.Perfect, 1 * timing_unit), + }; + + private static readonly DifficultyRange[] gachi_ranges = + { + SimpleDifficultyRange(HitResult.Miss, 9 * timing_unit), + SimpleDifficultyRange(HitResult.Ok, 9 * timing_unit), + SimpleDifficultyRange(HitResult.Good, 6 * timing_unit), + SimpleDifficultyRange(HitResult.Great, 3 * timing_unit), + SimpleDifficultyRange(HitResult.Perfect, 1 * timing_unit), + }; + + protected override DifficultyRange[] GetDefaultRanges() => default_ranges; + protected override DifficultyRange[] GetMajiRanges() => maji_ranges; + protected override DifficultyRange[] GetGachiRanges() => gachi_ranges; +}