From 7e93d62347b76bb4bf5cac6537a8012dc9b9f43e Mon Sep 17 00:00:00 2001 From: minenice55 Date: Sun, 7 Aug 2022 20:24:07 -0400 Subject: [PATCH] improve feedback on combo finish out --- Assets/Scripts/Games/KarateMan/KarateManJoe.cs | 4 ++++ Assets/Scripts/Games/KarateMan/KarateManPot.cs | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Games/KarateMan/KarateManJoe.cs b/Assets/Scripts/Games/KarateMan/KarateManJoe.cs index dd8c2614..d6637fa8 100644 --- a/Assets/Scripts/Games/KarateMan/KarateManJoe.cs +++ b/Assets/Scripts/Games/KarateMan/KarateManJoe.cs @@ -20,6 +20,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan float lastUpperCutTime = Single.MinValue; public bool inCombo = false; public bool lockedInCombo = false; + public bool comboWaiting = false; int inComboId = -1; int shouldComboId = -1; public void SetComboId(int id) { inComboId = id; } @@ -199,15 +200,18 @@ namespace HeavenStudio.Games.Scripts_KarateMan break; case 2: anim.DoScaledAnimationAsync("BackHand", 0.5f); + comboWaiting = true; break; case 3: anim.DoScaledAnimationAsync("UpperCut", 0.5f); lockedInCombo = false; + comboWaiting = false; break; case 4: anim.Play("ToReady", -1, 0); bop.startBeat = cond.songPositionInBeats + 0.5f; lockedInCombo = false; + comboWaiting = false; break; default: break; diff --git a/Assets/Scripts/Games/KarateMan/KarateManPot.cs b/Assets/Scripts/Games/KarateMan/KarateManPot.cs index 17b58e67..c81d47aa 100644 --- a/Assets/Scripts/Games/KarateMan/KarateManPot.cs +++ b/Assets/Scripts/Games/KarateMan/KarateManPot.cs @@ -677,7 +677,19 @@ namespace HeavenStudio.Games.Scripts_KarateMan } } - public void ComboEndOut(PlayerActionEvent caller) {} + public void ComboEndOut(PlayerActionEvent caller) { + if (GameManager.instance.currentGame != "karateman") return; + var joe = KarateMan.instance.Joe; + if (status == FlyStatus.Fly && joe.inCombo && joe.GetComboId() == comboId && joe.comboWaiting) + { + joe.inCombo = false; + joe.SetComboId(-1); + joe.SetShouldComboId(-1); + joe.ComboSequence(3); + Jukebox.PlayOneShotGame("karateman/swingKick", forcePlay: true); + } + } + public void ComboEndThrough(PlayerActionEvent caller) { if (GameManager.instance.currentGame != "karateman") return;