diff --git a/osu.Game/Rulesets/Scoring/HitResult.cs b/osu.Game/Rulesets/Scoring/HitResult.cs
index a254f9b760..ddddf70cc6 100644
--- a/osu.Game/Rulesets/Scoring/HitResult.cs
+++ b/osu.Game/Rulesets/Scoring/HitResult.cs
@@ -133,6 +133,30 @@ namespace osu.Game.Rulesets.Scoring
public static bool AffectsAccuracy(this HitResult result)
=> IsScorable(result) && !IsBonus(result);
+ ///
+ /// Whether a is a non-tick and non-bonus result.
+ ///
+ public static bool IsBasic(this HitResult result)
+ => IsScorable(result) && !IsTick(result) && !IsBonus(result);
+
+ ///
+ /// Whether a should be counted as a tick.
+ ///
+ public static bool IsTick(this HitResult result)
+ {
+ switch (result)
+ {
+ case HitResult.LargeTickHit:
+ case HitResult.LargeTickMiss:
+ case HitResult.SmallTickHit:
+ case HitResult.SmallTickMiss:
+ return true;
+
+ default:
+ return false;
+ }
+ }
+
///
/// Whether a should be counted as bonus score.
///