improve feedback on combo finish out

This commit is contained in:
minenice55 2022-08-07 20:24:07 -04:00
parent 3f7af6a0eb
commit 7e93d62347
2 changed files with 17 additions and 1 deletions

View file

@ -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;

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)
{
if (GameManager.instance.currentGame != "karateman") return;