1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-25 22:23:04 +08:00
osu-lazer/osu.Game.Rulesets.Osu/Scoring/OsuHitWindows.cs

40 lines
1.2 KiB
C#
Raw Normal View History

2019-09-06 14:24:00 +08:00
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Game.Rulesets.Scoring;
namespace osu.Game.Rulesets.Osu.Scoring
{
public class OsuHitWindows : HitWindows
{
/// <summary>
/// osu! ruleset has a fixed miss window regardless of difficulty settings.
/// </summary>
public const double MISS_WINDOW = 400;
2019-09-06 14:24:00 +08:00
private static readonly DifficultyRange[] osu_ranges =
{
new DifficultyRange(HitResult.Great, 80, 50, 20),
2020-09-29 16:16:55 +08:00
new DifficultyRange(HitResult.Ok, 140, 100, 60),
2019-09-06 14:24:00 +08:00
new DifficultyRange(HitResult.Meh, 200, 150, 100),
new DifficultyRange(HitResult.Miss, MISS_WINDOW, MISS_WINDOW, MISS_WINDOW),
2019-09-06 14:24:00 +08:00
};
2019-09-06 14:37:20 +08:00
public override bool IsHitResultAllowed(HitResult result)
{
switch (result)
{
case HitResult.Great:
2020-09-29 16:16:55 +08:00
case HitResult.Ok:
2019-09-06 14:37:20 +08:00
case HitResult.Meh:
case HitResult.Miss:
return true;
}
return false;
}
2019-09-06 14:24:00 +08:00
protected override DifficultyRange[] GetRanges() => osu_ranges;
}
}