mirror of
https://github.com/osukey/osukey.git
synced 2025-05-17 11:37:32 +09:00
Added the ouendan 2 style hidden
Added as an option for nostalgia nerds like me
This commit is contained in:
parent
00d0221fd5
commit
6b9e8dbd2e
@ -5,6 +5,8 @@ using System;
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
|
using osu.Framework.Bindables;
|
||||||
|
using osu.Game.Configuration;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Rulesets.Mods;
|
using osu.Game.Rulesets.Mods;
|
||||||
using osu.Game.Rulesets.Objects;
|
using osu.Game.Rulesets.Objects;
|
||||||
@ -13,10 +15,14 @@ using osu.Game.Rulesets.Osu.Objects.Drawables;
|
|||||||
using osu.Game.Rulesets.Osu.Objects;
|
using osu.Game.Rulesets.Osu.Objects;
|
||||||
using osu.Game.Rulesets.Osu.Skinning;
|
using osu.Game.Rulesets.Osu.Skinning;
|
||||||
|
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.Osu.Mods
|
namespace osu.Game.Rulesets.Osu.Mods
|
||||||
{
|
{
|
||||||
public class OsuModHidden : ModHidden, IHidesApproachCircles
|
public class OsuModHidden : ModHidden, IHidesApproachCircles
|
||||||
{
|
{
|
||||||
|
[SettingSource("Don't fade out hit circles", "This makes the hidden mod only remove approach circles.")]
|
||||||
|
public Bindable<bool> NoHitCircles { get; } = new BindableBool(false);
|
||||||
|
|
||||||
public override string Description => @"Play with no approach circles and fading circles/sliders.";
|
public override string Description => @"Play with no approach circles and fading circles/sliders.";
|
||||||
public override double ScoreMultiplier => 1.06;
|
public override double ScoreMultiplier => 1.06;
|
||||||
|
|
||||||
@ -65,6 +71,7 @@ namespace osu.Game.Rulesets.Osu.Mods
|
|||||||
{
|
{
|
||||||
case DrawableSliderTail _:
|
case DrawableSliderTail _:
|
||||||
using (drawableObject.BeginAbsoluteSequence(fadeStartTime))
|
using (drawableObject.BeginAbsoluteSequence(fadeStartTime))
|
||||||
|
if (!NoHitCircles.Value)
|
||||||
drawableObject.FadeOut(fadeDuration);
|
drawableObject.FadeOut(fadeDuration);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -72,6 +79,7 @@ namespace osu.Game.Rulesets.Osu.Mods
|
|||||||
case DrawableSliderRepeat sliderRepeat:
|
case DrawableSliderRepeat sliderRepeat:
|
||||||
using (drawableObject.BeginAbsoluteSequence(fadeStartTime))
|
using (drawableObject.BeginAbsoluteSequence(fadeStartTime))
|
||||||
// only apply to circle piece – reverse arrow is not affected by hidden.
|
// only apply to circle piece – reverse arrow is not affected by hidden.
|
||||||
|
if (!NoHitCircles.Value)
|
||||||
sliderRepeat.CirclePiece.FadeOut(fadeDuration);
|
sliderRepeat.CirclePiece.FadeOut(fadeDuration);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -82,6 +90,7 @@ namespace osu.Game.Rulesets.Osu.Mods
|
|||||||
if (increaseVisibility)
|
if (increaseVisibility)
|
||||||
{
|
{
|
||||||
// only fade the circle piece (not the approach circle) for the increased visibility object.
|
// only fade the circle piece (not the approach circle) for the increased visibility object.
|
||||||
|
if (!NoHitCircles.Value)
|
||||||
fadeTarget = circle.CirclePiece;
|
fadeTarget = circle.CirclePiece;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -92,17 +101,20 @@ namespace osu.Game.Rulesets.Osu.Mods
|
|||||||
}
|
}
|
||||||
|
|
||||||
using (drawableObject.BeginAbsoluteSequence(fadeStartTime))
|
using (drawableObject.BeginAbsoluteSequence(fadeStartTime))
|
||||||
|
if (!NoHitCircles.Value)
|
||||||
fadeTarget.FadeOut(fadeDuration);
|
fadeTarget.FadeOut(fadeDuration);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DrawableSlider slider:
|
case DrawableSlider slider:
|
||||||
using (slider.BeginAbsoluteSequence(fadeStartTime))
|
using (slider.BeginAbsoluteSequence(fadeStartTime))
|
||||||
|
if (!NoHitCircles.Value)
|
||||||
slider.Body.FadeOut(fadeDuration, Easing.Out);
|
slider.Body.FadeOut(fadeDuration, Easing.Out);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DrawableSliderTick sliderTick:
|
case DrawableSliderTick sliderTick:
|
||||||
using (sliderTick.BeginAbsoluteSequence(fadeStartTime))
|
using (sliderTick.BeginAbsoluteSequence(fadeStartTime))
|
||||||
|
if (!NoHitCircles.Value)
|
||||||
sliderTick.FadeOut(fadeDuration);
|
sliderTick.FadeOut(fadeDuration);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user