diff --git a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonJudgementPiece.cs b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonJudgementPiece.cs
index 94766cb077e3..edeece029396 100644
--- a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonJudgementPiece.cs
+++ b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonJudgementPiece.cs
@@ -62,14 +62,7 @@ protected override SpriteText CreateJudgementText() =>
///
public virtual void PlayAnimation()
{
- if (Result.IsHit())
- {
- JudgementText
- .FadeInFromZero(300, Easing.OutQuint)
- .ScaleTo(Vector2.One)
- .ScaleTo(new Vector2(1.2f), 1800, Easing.OutQuint);
- }
- else
+ if (Result.IsMiss())
{
this.ScaleTo(1.6f);
this.ScaleTo(1, 100, Easing.In);
@@ -80,6 +73,13 @@ public virtual void PlayAnimation()
this.RotateTo(0);
this.RotateTo(40, 800, Easing.InQuint);
}
+ else
+ {
+ JudgementText
+ .FadeInFromZero(300, Easing.OutQuint)
+ .ScaleTo(Vector2.One)
+ .ScaleTo(new Vector2(1.2f), 1800, Easing.OutQuint);
+ }
this.FadeOutFromOne(800);
diff --git a/osu.Game/Rulesets/Scoring/HitResult.cs b/osu.Game/Rulesets/Scoring/HitResult.cs
index b4905010212a..bdb2a9db2335 100644
--- a/osu.Game/Rulesets/Scoring/HitResult.cs
+++ b/osu.Game/Rulesets/Scoring/HitResult.cs
@@ -269,6 +269,25 @@ public static bool IsBonus(this HitResult result)
}
}
+ ///
+ /// Whether a represents a miss of any type.
+ ///
+ public static bool IsMiss(this HitResult result)
+ {
+ switch (result)
+ {
+ case HitResult.IgnoreMiss:
+ case HitResult.Miss:
+ case HitResult.SmallTickMiss:
+ case HitResult.LargeTickMiss:
+ case HitResult.ComboBreak:
+ return true;
+
+ default:
+ return false;
+ }
+ }
+
///
/// Whether a represents a successful hit.
///
diff --git a/osu.Game/Skinning/LegacyJudgementPieceNew.cs b/osu.Game/Skinning/LegacyJudgementPieceNew.cs
index a93c48ba63b1..5ff28726c02a 100644
--- a/osu.Game/Skinning/LegacyJudgementPieceNew.cs
+++ b/osu.Game/Skinning/LegacyJudgementPieceNew.cs
@@ -50,7 +50,7 @@ public LegacyJudgementPieceNew(HitResult result, Func createMainDrawab
});
}
- if (result.IsHit())
+ if (!result.IsMiss())
{
//new judgement shows old as a temporary effect
AddInternal(temporaryOldStyle = new LegacyJudgementPieceOld(result, createMainDrawable, 1.05f, true)
diff --git a/osu.Game/Skinning/LegacyJudgementPieceOld.cs b/osu.Game/Skinning/LegacyJudgementPieceOld.cs
index 6ad188bb47e9..39697090d10c 100644
--- a/osu.Game/Skinning/LegacyJudgementPieceOld.cs
+++ b/osu.Game/Skinning/LegacyJudgementPieceOld.cs
@@ -52,18 +52,7 @@ public virtual void PlayAnimation()
if (animation?.FrameCount > 1 && !forceTransforms)
return;
- if (result.IsHit())
- {
- this.ScaleTo(0.6f).Then()
- .ScaleTo(1.1f, fade_in_length * 0.8f).Then() // t = 0.8
- .Delay(fade_in_length * 0.2f) // t = 1.0
- .ScaleTo(0.9f, fade_in_length * 0.2f).Then() // t = 1.2
- // stable dictates scale of 0.9->1 over time 1.0 to 1.4, but we are already at 1.2.
- // so we need to force the current value to be correct at 1.2 (0.95) then complete the
- // second half of the transform.
- .ScaleTo(0.95f).ScaleTo(finalScale, fade_in_length * 0.2f); // t = 1.4
- }
- else
+ if (result.IsMiss())
{
bool isTick = result != HitResult.Miss;
@@ -92,6 +81,17 @@ public virtual void PlayAnimation()
.Then().RotateTo(rotation * 2, fade_out_delay + fade_out_length - fade_in_length, Easing.In);
}
}
+ else
+ {
+ this.ScaleTo(0.6f).Then()
+ .ScaleTo(1.1f, fade_in_length * 0.8f).Then() // t = 0.8
+ .Delay(fade_in_length * 0.2f) // t = 1.0
+ .ScaleTo(0.9f, fade_in_length * 0.2f).Then() // t = 1.2
+ // stable dictates scale of 0.9->1 over time 1.0 to 1.4, but we are already at 1.2.
+ // so we need to force the current value to be correct at 1.2 (0.95) then complete the
+ // second half of the transform.
+ .ScaleTo(0.95f).ScaleTo(finalScale, fade_in_length * 0.2f); // t = 1.4
+ }
}
public Drawable GetAboveHitObjectsProxiedContent() => CreateProxy();
diff --git a/osu.Game/Skinning/LegacySkin.cs b/osu.Game/Skinning/LegacySkin.cs
index 7516c73b689c..a37a38688963 100644
--- a/osu.Game/Skinning/LegacySkin.cs
+++ b/osu.Game/Skinning/LegacySkin.cs
@@ -453,7 +453,7 @@ protected override void ParseConfigurationStream(Stream stream)
private Drawable? getJudgementAnimation(HitResult result)
{
- if (!result.IsHit())
+ if (result.IsMiss())
return this.GetAnimation("hit0", true, false);
switch (result)