diff --git a/osu.Game.Rulesets.Sentakki/Objects/SentakkiHitObject.cs b/osu.Game.Rulesets.Sentakki/Objects/SentakkiHitObject.cs index fb0108608..4b8ac6a31 100644 --- a/osu.Game.Rulesets.Sentakki/Objects/SentakkiHitObject.cs +++ b/osu.Game.Rulesets.Sentakki/Objects/SentakkiHitObject.cs @@ -57,7 +57,7 @@ public override IEnumerable LookupNames } #nullable enable - public override HitSampleInfo With(Optional newName = default, Optional newBank = default, Optional newSuffix = default, Optional newVolume = default) + public override HitSampleInfo With(Optional newName = default, Optional newBank = default, Optional newSuffix = default, Optional newVolume = default) { return new SentakkiHitSampleInfo(newName.GetOr(Name), newVolume.GetOr(Volume)); } diff --git a/osu.Game.Rulesets.Sentakki/Objects/SentakkiLanedHitObject.cs b/osu.Game.Rulesets.Sentakki/Objects/SentakkiLanedHitObject.cs index ad175a343..092c21c97 100644 --- a/osu.Game.Rulesets.Sentakki/Objects/SentakkiLanedHitObject.cs +++ b/osu.Game.Rulesets.Sentakki/Objects/SentakkiLanedHitObject.cs @@ -50,7 +50,7 @@ public HitSampleInfo[] CreateBreakSample() return new[] { - new SentakkiHitSampleInfo("Break", GetSampleInfo().Volume) + new SentakkiHitSampleInfo("Break", CreateHitSampleInfo().Volume) }; } } diff --git a/osu.Game.Rulesets.Sentakki/Objects/SlideBody.cs b/osu.Game.Rulesets.Sentakki/Objects/SlideBody.cs index 2416266c0..eac6ce40b 100644 --- a/osu.Game.Rulesets.Sentakki/Objects/SlideBody.cs +++ b/osu.Game.Rulesets.Sentakki/Objects/SlideBody.cs @@ -45,7 +45,7 @@ protected override void CreateNestedHitObjects(CancellationToken cancellationTok CreateSlideCheckpoints(); if (NestedHitObjects.Any()) - NestedHitObjects.First().Samples.Add(new SentakkiHitSampleInfo("slide", GetSampleInfo().Volume)); + NestedHitObjects.First().Samples.Add(new SentakkiHitSampleInfo("slide", CreateHitSampleInfo().Volume)); } protected void CreateSlideCheckpoints() diff --git a/osu.Game.Rulesets.Sentakki/Scoring/SentakkiScoreProcessor.cs b/osu.Game.Rulesets.Sentakki/Scoring/SentakkiScoreProcessor.cs index d81f23abc..8106bcce3 100644 --- a/osu.Game.Rulesets.Sentakki/Scoring/SentakkiScoreProcessor.cs +++ b/osu.Game.Rulesets.Sentakki/Scoring/SentakkiScoreProcessor.cs @@ -1,4 +1,5 @@ -using osu.Game.Rulesets.Scoring; +using System; +using osu.Game.Rulesets.Scoring; namespace osu.Game.Rulesets.Sentakki.Scoring { @@ -9,7 +10,11 @@ public SentakkiScoreProcessor(SentakkiRuleset ruleset) { } - protected override double DefaultAccuracyPortion => 0.9; - protected override double DefaultComboPortion => 0.1; + protected override double ComputeTotalScore(double comboProgress, double accuracyProgress, double bonusPortion) + { + return (200000 * comboProgress) + + (800000 * Math.Pow(Accuracy.Value, 2 + (2 * Accuracy.Value)) * accuracyProgress) + + bonusPortion; + } } } diff --git a/osu.Game.Rulesets.Sentakki/SentakkiRuleset.cs b/osu.Game.Rulesets.Sentakki/SentakkiRuleset.cs index a9646e7e3..d2c4111a3 100644 --- a/osu.Game.Rulesets.Sentakki/SentakkiRuleset.cs +++ b/osu.Game.Rulesets.Sentakki/SentakkiRuleset.cs @@ -139,40 +139,24 @@ public override IEnumerable GetDefaultKeyBindings(int variant = 0) = new KeyBinding(InputKey.Number8, SentakkiAction.Key8), }; - public override StatisticRow[] CreateStatisticsForScore(ScoreInfo score, IBeatmap playableBeatmap) => new[] + public override StatisticItem[] CreateStatisticsForScore(ScoreInfo score, IBeatmap playableBeatmap) => new[] { - new StatisticRow + new StatisticItem(SentakkiStatisticsStrings.TimingDistribution, () => new HitEventTimingDistributionGraph(score.HitEvents) { - Columns = new[] - { - new StatisticItem(SentakkiStatisticsStrings.TimingDistribution, () => new HitEventTimingDistributionGraph(score.HitEvents) - { - RelativeSizeAxes = Axes.X, - Height = 250 - }, true) - } - }, - new StatisticRow + RelativeSizeAxes = Axes.X, + Height = 250 + }, true), + + new StatisticItem(SentakkiStatisticsStrings.JudgementChart, () => new JudgementChart(score.HitEvents.Where(e => e.HitObject is SentakkiHitObject).ToList()) { - Columns = new[] - { - new StatisticItem(SentakkiStatisticsStrings.JudgementChart, () => new JudgementChart(score.HitEvents.Where(e => e.HitObject is SentakkiHitObject).ToList()) - { - RelativeSizeAxes = Axes.X, - Size = new Vector2(1, 250) - }, true), - } - }, - new StatisticRow + RelativeSizeAxes = Axes.X, + Size = new Vector2(1, 250) + }, true), + + new StatisticItem(string.Empty, () => new SimpleStatisticTable(3, new SimpleStatisticItem[] { - Columns = new[] - { - new StatisticItem(string.Empty, () => new SimpleStatisticTable(3, new SimpleStatisticItem[] - { - new UnstableRate(score.HitEvents) - }), true) - } - } + new UnstableRate(score.HitEvents) + }), true) }; public override Drawable CreateIcon() => new SentakkiIcon(this); diff --git a/osu.Game.Rulesets.Sentakki/osu.Game.Rulesets.Sentakki.csproj b/osu.Game.Rulesets.Sentakki/osu.Game.Rulesets.Sentakki.csproj index c626e0971..736cad45b 100644 --- a/osu.Game.Rulesets.Sentakki/osu.Game.Rulesets.Sentakki.csproj +++ b/osu.Game.Rulesets.Sentakki/osu.Game.Rulesets.Sentakki.csproj @@ -9,7 +9,7 @@ osu.Game.Rulesets.Sentakki - +