mirror of
https://github.com/ppy/osu.git
synced 2024-12-05 09:42:54 +08:00
Compare commits
8 Commits
6772bbc34e
...
90d98b4c54
Author | SHA1 | Date | |
---|---|---|---|
|
90d98b4c54 | ||
|
3d0b15c875 | ||
|
50cbcd4a0c | ||
|
9cadca84bb | ||
|
2fc4752999 | ||
|
9a05edab7a | ||
|
5977fbfce7 | ||
|
5ae56df32b |
@ -247,7 +247,7 @@ namespace osu.Game.Rulesets.Mania
|
||||
return new Mod[]
|
||||
{
|
||||
new ManiaModHardRock(),
|
||||
new MultiMod(new ManiaModSuddenDeath(), new ManiaModPerfect()),
|
||||
new MultiMod(new ManiaModSuddenDeath(), new ManiaModPerfect(), new ManiaModFullPerfect()),
|
||||
new MultiMod(new ManiaModDoubleTime(), new ManiaModNightcore()),
|
||||
new MultiMod(new ManiaModFadeIn(), new ManiaModHidden(), new ManiaModCover()),
|
||||
new ManiaModFlashlight(),
|
||||
|
38
osu.Game.Rulesets.Mania/Mods/ManiaModFullPerfect.cs
Normal file
38
osu.Game.Rulesets.Mania/Mods/ManiaModFullPerfect.cs
Normal file
@ -0,0 +1,38 @@
|
||||
// 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.4
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using osu.Framework.Localisation;
|
||||
using osu.Game.Rulesets.Judgements;
|
||||
using osu.Game.Rulesets.Scoring;
|
||||
|
||||
namespace osu.Game.Rulesets.Mania.Mods
|
||||
{
|
||||
public class ManiaModFullPerfect : ManiaModPerfect
|
||||
{
|
||||
public override string Name => "Full Perfect";
|
||||
public override string Acronym => "FP";
|
||||
public override LocalisableString Description => @"Placeholder";
|
||||
public override double ScoreMultiplier => 1;
|
||||
|
||||
public override Type[] IncompatibleMods => base.IncompatibleMods.Concat(new[]
|
||||
{
|
||||
typeof(ManiaModPerfect),
|
||||
}).ToArray();
|
||||
|
||||
|
||||
protected override bool FailCondition(HealthProcessor healthProcessor, JudgementResult result)
|
||||
{
|
||||
if (!isRelevantResult(result.Judgement.MinResult) && !isRelevantResult(result.Judgement.MaxResult) && !isRelevantResult(result.Type))
|
||||
return false;
|
||||
|
||||
if (result.Judgement.MaxResult == HitResult.Perfect)
|
||||
return result.Type < HitResult.Perfect;
|
||||
|
||||
return result.Type != result.Judgement.MaxResult;
|
||||
}
|
||||
|
||||
private bool isRelevantResult(HitResult result) => result.AffectsAccuracy() || result.AffectsCombo();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user