diff --git a/PerformanceCalculator/Simulate/OsuSimulateCommand.cs b/PerformanceCalculator/Simulate/OsuSimulateCommand.cs index e42511b..10151ee 100644 --- a/PerformanceCalculator/Simulate/OsuSimulateCommand.cs +++ b/PerformanceCalculator/Simulate/OsuSimulateCommand.cs @@ -3,11 +3,13 @@ using System; using System.Collections.Generic; +using System.Linq; using JetBrains.Annotations; using McMaster.Extensions.CommandLineUtils; using osu.Game.Beatmaps; using osu.Game.Rulesets; using osu.Game.Rulesets.Osu; +using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Scoring; namespace PerformanceCalculator.Simulate @@ -31,6 +33,14 @@ namespace PerformanceCalculator.Simulate [Option(Template = "-C|--percent-combo ", Description = "Percentage of beatmap maximum combo achieved. Alternative to combo option. Enter as decimal 0-100.")] public override double PercentCombo { get; } = 100; + [UsedImplicitly] + [Option(Template = "-L|--large-tick-misses ", Description = "Number of large tick misses. Defaults to 0.")] + private int largeTickMisses { get; } + + [UsedImplicitly] + [Option(Template = "-S|--slider-tail-misses ", Description = "Number of slider tail misses. Defaults to 0.")] + private int sliderTailMisses { get; } + public override Ruleset Ruleset => new OsuRuleset(); protected override int GetMaxCombo(IBeatmap beatmap) => beatmap.GetMaxCombo(); @@ -116,6 +126,8 @@ namespace PerformanceCalculator.Simulate { HitResult.Great, countGreat }, { HitResult.Ok, countGood ?? 0 }, { HitResult.Meh, countMeh ?? 0 }, + { HitResult.LargeTickMiss, largeTickMisses }, + { HitResult.SliderTailHit, beatmap.HitObjects.Count(x => x is Slider) - sliderTailMisses }, { HitResult.Miss, countMiss } }; }