diff --git a/Assets/Scripts/Games/Manzai/Manzai.cs b/Assets/Scripts/Games/Manzai/Manzai.cs
index 51975f331..663957c72 100644
--- a/Assets/Scripts/Games/Manzai/Manzai.cs
+++ b/Assets/Scripts/Games/Manzai/Manzai.cs
@@ -35,9 +35,9 @@ namespace HeavenStudio.Games.Loaders
var e = eventCaller.currentEntity;
Manzai.PunSFX(e.beat, e["pun"], e["pitch"], 0); },
- function = delegate {
+ /*function = delegate {
var e = eventCaller.currentEntity;
- Manzai.instance.DoPun(e.beat, 0, e["pun"]); },
+ Manzai.instance.DoPun(e.beat, 0, e["pun"]); },*/
defaultLength = 4,
parameters = new List()
@@ -59,9 +59,9 @@ namespace HeavenStudio.Games.Loaders
var e = eventCaller.currentEntity;
Manzai.PunSFX(e.beat, e["pun"], e["pitch"], 1); },
- function = delegate {
+ /*function = delegate {
var e = eventCaller.currentEntity;
- Manzai.instance.DoPun(e.beat, 1, e["pun"]); },
+ Manzai.instance.DoPun(e.beat, 1, e["pun"]); },*/
defaultLength = 4,
parameters = new List()
@@ -349,13 +349,18 @@ namespace HeavenStudio.Games
public static void PunSFX(double beat, int whichPun, bool isPitched, int isBoing)
{
var punName= Enum.GetName(typeof(Puns), whichPun);
- float pitch = isPitched ? Conductor.instance.GetBpmAtBeat(beat)/98 : 1;
+ float pitch = isPitched ? (Conductor.instance.GetBpmAtBeat(beat)/98)*Conductor.instance.TimelinePitch : 1;
double offset = isPitched ? (0.05/(Conductor.instance.GetBpmAtBeat(beat)/98)) : 0.05;
var sounds = new List();
int boing = isBoing;
int length = boingLengths.GetValueOrDefault(punName);
int syllables = boing == 0 ? 9 : (length != 0 ? length : 4);
+ BeatAction.New(instance, new List()
+ {
+ new BeatAction.Action(beat, delegate { Manzai.instance.DoPun(beat, isBoing, whichPun); }),
+ });
+
for (int i = 0; i < syllables; i++) {
sounds.Add(new MultiSound.Sound($"manzai/{punName}{i + 1}", beat + (i * 0.25), pitch, offset: i == 0 ? offset : 0));
}
@@ -410,9 +415,11 @@ namespace HeavenStudio.Games
randomBubbleBoth = UnityEngine.Random.Range(-100, 101) / 1000.0f;
}
- public void HaiJustFull(float state, int side)
+ public void HaiJustFull(float state, int side, PlayerActionEvent caller)
{
- SoundByte.PlayOneShotGame("manzai/hai", pitch: Conductor.instance.songBpm/98);
+ double beat = caller.startBeat + caller.timer;
+
+ SoundByte.PlayOneShotGame("manzai/hai", pitch: (Conductor.instance.GetBpmAtBeat(beat)/98)*Conductor.instance.TimelinePitch);
if (state >= 1f || state <= -1f)
{
SoundByte.PlayOneShotGame("manzai/miss1");
@@ -450,7 +457,7 @@ namespace HeavenStudio.Games
rotL.Set(0, 0, randomBubbleBoth + randomL, 1);
PivotL.rotation = rotL;
HaiBubbleL.DoScaledAnimationAsync("HaiL", 0.5f);
- HaiJustFull(state, side);
+ HaiJustFull(state, side, caller);
}
public void HaiJustR(PlayerActionEvent caller, float state)
@@ -462,7 +469,7 @@ namespace HeavenStudio.Games
rotR.Set(0, 0, randomBubbleBoth + randomR, 1);
PivotR.rotation = rotR;
HaiBubbleR.DoScaledAnimationAsync("HaiR", 0.5f);
- HaiJustFull(state, side);
+ HaiJustFull(state, side, caller);
}
@@ -563,7 +570,9 @@ namespace HeavenStudio.Games
public void BoingJust(PlayerActionEvent caller, float state)
{
- SoundByte.PlayOneShotGame("manzai/donaiyanen", pitch: Conductor.instance.songBpm/98);
+ double beat = caller.startBeat + caller.timer;
+
+ SoundByte.PlayOneShotGame("manzai/donaiyanen", pitch: (Conductor.instance.GetBpmAtBeat(beat)/98)*Conductor.instance.TimelinePitch);
if (state >= 1f || state <= -1f)
{
SoundByte.PlayOneShotGame("manzai/miss1");
@@ -614,8 +623,8 @@ namespace HeavenStudio.Games
public void CustomBoing(double beat)
{
- SoundByte.PlayOneShotGame("manzai/boing", pitch: Conductor.instance.songBpm/98, volume: 0.8f);
- SoundByte.PlayOneShotGame("manzai/comedy", pitch: Conductor.instance.songBpm/98, volume: 0.8f);
+ SoundByte.PlayOneShotGame("manzai/boing", pitch: (Conductor.instance.GetBpmAtBeat(beat)/98)*Conductor.instance.TimelinePitch, volume: 0.8f);
+ SoundByte.PlayOneShotGame("manzai/comedy", pitch: (Conductor.instance.GetBpmAtBeat(beat)/98)*Conductor.instance.TimelinePitch, volume: 0.8f);
VultureAnim.DoScaledAnimationAsync("Boing", 0.5f);
}
@@ -738,7 +747,7 @@ namespace HeavenStudio.Games
{
break;
}
- if((entity.datamodel != "manzai/pun" && entity.datamodel != "manzai/boing") || entity.beat + entity.length <= beat) //check for pun that happen right before the switch
+ if((entity.datamodel != "manzai/pun" && entity.datamodel != "manzai/boing") || entity.beat + entity.length < beat) //check for pun that happen right before the switch
{
continue;
}