improve feedback on combo finish out

This commit is contained in:
minenice55 2022-08-07 20:24:07 -04:00
parent 9e3c90c093
commit f6b3a7fce5
2 changed files with 17 additions and 1 deletions

View file

@ -20,6 +20,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
float lastUpperCutTime = Single.MinValue; float lastUpperCutTime = Single.MinValue;
public bool inCombo = false; public bool inCombo = false;
public bool lockedInCombo = false; public bool lockedInCombo = false;
public bool comboWaiting = false;
int inComboId = -1; int inComboId = -1;
int shouldComboId = -1; int shouldComboId = -1;
public void SetComboId(int id) { inComboId = id; } public void SetComboId(int id) { inComboId = id; }
@ -199,15 +200,18 @@ namespace HeavenStudio.Games.Scripts_KarateMan
break; break;
case 2: case 2:
anim.DoScaledAnimationAsync("BackHand", 0.5f); anim.DoScaledAnimationAsync("BackHand", 0.5f);
comboWaiting = true;
break; break;
case 3: case 3:
anim.DoScaledAnimationAsync("UpperCut", 0.5f); anim.DoScaledAnimationAsync("UpperCut", 0.5f);
lockedInCombo = false; lockedInCombo = false;
comboWaiting = false;
break; break;
case 4: case 4:
anim.Play("ToReady", -1, 0); anim.Play("ToReady", -1, 0);
bop.startBeat = cond.songPositionInBeats + 0.5f; bop.startBeat = cond.songPositionInBeats + 0.5f;
lockedInCombo = false; lockedInCombo = false;
comboWaiting = false;
break; break;
default: default:
break; break;

View file

@ -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) public void ComboEndThrough(PlayerActionEvent caller)
{ {
if (GameManager.instance.currentGame != "karateman") return; if (GameManager.instance.currentGame != "karateman") return;