diff --git a/osu.Game.Modes.Taiko/Beatmaps/TaikoBeatmapConverter.cs b/osu.Game.Modes.Taiko/Beatmaps/TaikoBeatmapConverter.cs
index 0606ee4d5a..d00d6ae473 100644
--- a/osu.Game.Modes.Taiko/Beatmaps/TaikoBeatmapConverter.cs
+++ b/osu.Game.Modes.Taiko/Beatmaps/TaikoBeatmapConverter.cs
@@ -3,6 +3,7 @@
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Legacy;
+using osu.Game.Beatmaps.Samples;
using osu.Game.Modes.Objects;
using osu.Game.Modes.Objects.Types;
using osu.Game.Modes.Taiko.Objects;
@@ -43,12 +44,15 @@ namespace osu.Game.Modes.Taiko.Beatmaps
IHasRepeats repeatsData = original as IHasRepeats;
IHasEndTime endTimeData = original as IHasEndTime;
+ bool isFinisher = (original.Sample.Type & SampleType.Finish) > 0;
+
if (distanceData != null)
{
return new DrumRoll
{
StartTime = original.StartTime,
Sample = original.Sample,
+ IsFinisher = isFinisher,
Distance = distanceData.Distance * (repeatsData?.RepeatCount ?? 1)
};
@@ -61,6 +65,7 @@ namespace osu.Game.Modes.Taiko.Beatmaps
{
StartTime = original.StartTime,
Sample = original.Sample,
+ IsFinisher = isFinisher,
EndTime = original.StartTime + endTimeData.Duration * bash_convert_factor
};
@@ -70,6 +75,7 @@ namespace osu.Game.Modes.Taiko.Beatmaps
{
StartTime = original.StartTime,
Sample = original.Sample,
+ IsFinisher = isFinisher
};
}
}
diff --git a/osu.Game.Modes.Taiko/Objects/TaikoHitObject.cs b/osu.Game.Modes.Taiko/Objects/TaikoHitObject.cs
index 4505065489..a27d842053 100644
--- a/osu.Game.Modes.Taiko/Objects/TaikoHitObject.cs
+++ b/osu.Game.Modes.Taiko/Objects/TaikoHitObject.cs
@@ -19,6 +19,11 @@ namespace osu.Game.Modes.Taiko.Objects
///
public double PreEmpt;
+ ///
+ /// Whether this HitObject is a finisher.
+ ///
+ public bool IsFinisher;
+
///
/// Whether this HitObject is in Kiai time.
///