Merge pull request #25649 from smoogipoo/remove-mania-drain-again

Once again remove Mania passive HP drain
This commit is contained in:
Dean Herbert 2023-12-04 12:03:32 +09:00 committed by GitHub
commit e06d5f5875
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,31 @@
// 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 NUnit.Framework;
using osu.Game.Rulesets.Mania.Beatmaps;
using osu.Game.Rulesets.Mania.Objects;
using osu.Game.Rulesets.Mania.Scoring;
namespace osu.Game.Rulesets.Mania.Tests
{
[TestFixture]
public class ManiaHealthProcessorTest
{
[Test]
public void TestNoDrain()
{
var processor = new ManiaHealthProcessor(0);
processor.ApplyBeatmap(new ManiaBeatmap(new StageDefinition(4))
{
HitObjects =
{
new Note { StartTime = 0 },
new Note { StartTime = 1000 },
}
});
// No matter what, mania doesn't have passive HP drain.
Assert.That(processor.DrainRate, Is.Zero);
}
}
}

View File

@ -15,6 +15,15 @@ namespace osu.Game.Rulesets.Mania.Scoring
{
}
protected override double ComputeDrainRate()
{
// Base call is run only to compute HP recovery (namely, `HpMultiplierNormal`).
// This closely mirrors (broken) behaviour of stable and as such is preserved unchanged.
base.ComputeDrainRate();
return 0;
}
protected override IEnumerable<HitObject> EnumerateTopLevelHitObjects() => Beatmap.HitObjects;
protected override IEnumerable<HitObject> EnumerateNestedHitObjects(HitObject hitObject) => hitObject.NestedHitObjects;