The zoom in hole animations, some golfer stuff, weird monkey reactions

This commit is contained in:
blank3times 2024-03-01 18:46:46 -08:00
parent 1fb5eed1ea
commit d853129b5b
3 changed files with 49 additions and 28 deletions

View file

@ -14751,8 +14751,10 @@ MonoBehaviour:
SoundSequences: [] SoundSequences: []
scheduledInputs: [] scheduledInputs: []
MonkeyAnim: {fileID: 1030266998071523622} MonkeyAnim: {fileID: 1030266998071523622}
MonkeyHeadAnim: {fileID: 705573325190657106}
MandrillAnim: {fileID: 7328032147480881436} MandrillAnim: {fileID: 7328032147480881436}
GolferAnim: {fileID: 4858532593007320755} GolferAnim: {fileID: 4858532593007320755}
HoleAnim: {fileID: 4009601525859638624}
--- !u!1 &8142126674384551194 --- !u!1 &8142126674384551194
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -28,7 +28,7 @@ namespace HeavenStudio.Games.Loaders
new Param("autobop", false, "Bop (Auto)", "Toggle if the characters should automatically bop until another Bop event is reached.") new Param("autobop", false, "Bop (Auto)", "Toggle if the characters should automatically bop until another Bop event is reached.")
} }
}, },
new GameAction("mandrill", "Mandrill (no visuals)") new GameAction("mandrill", "Mandrill")
{ {
function = delegate { HoleInOne.instance.DoMandrill(eventCaller.currentEntity.beat); }, function = delegate { HoleInOne.instance.DoMandrill(eventCaller.currentEntity.beat); },
defaultLength = 4.0f, defaultLength = 4.0f,
@ -38,16 +38,16 @@ namespace HeavenStudio.Games.Loaders
function = delegate { HoleInOne.instance.DoMonkey(eventCaller.currentEntity.beat); }, function = delegate { HoleInOne.instance.DoMonkey(eventCaller.currentEntity.beat); },
defaultLength = 3.0f, defaultLength = 3.0f,
}, },
new GameAction("whale", "Whale") // new GameAction("whale", "Whale")
{ // {
function = delegate { var e = eventCaller.currentEntity; HoleInOne.instance.Whale(e.beat, e.length, e["ease"], e["appear"]); }, // function = delegate { var e = eventCaller.currentEntity; HoleInOne.instance.Whale(e.beat, e.length, e["ease"], e["appear"]); },
parameters = new List<Param>() // parameters = new List<Param>()
{ // {
new Param("appear", true, "Enter", "Toggle if the whale should enter or exit the scene."), // new Param("appear", true, "Enter", "Toggle if the whale should enter or exit the scene."),
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.") // new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.")
}, // },
resizable = true // resizable = true
}, // },
}//, }//,
// new List<string>() { "rvl", "normal" }, // new List<string>() { "rvl", "normal" },
// "rvlgolf", "en", // "rvlgolf", "en",
@ -64,8 +64,10 @@ namespace HeavenStudio.Games
public class HoleInOne : Minigame public class HoleInOne : Minigame
{ {
public Animator MonkeyAnim; public Animator MonkeyAnim;
public Animator MonkeyHeadAnim;
public Animator MandrillAnim; public Animator MandrillAnim;
public Animator GolferAnim; public Animator GolferAnim;
public Animator HoleAnim;
double whaleStartBeat; double whaleStartBeat;
float whaleLength; float whaleLength;
@ -97,6 +99,7 @@ namespace HeavenStudio.Games
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress)) if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress))
{ {
SoundByte.PlayOneShotGame("holeInOne/hole1"); // temp miss sound. Should be: whiff sound SoundByte.PlayOneShotGame("holeInOne/hole1"); // temp miss sound. Should be: whiff sound
GolferAnim.Play("GolferWhiff");
ScoreMiss(); ScoreMiss();
} }
} }
@ -133,7 +136,7 @@ namespace HeavenStudio.Games
public void DoMandrill(double beat) public void DoMandrill(double beat)
{ {
//Mandrill Multisound //Mandrill Multisound
ScheduleInput(beat, 3f, InputAction_FlickPress, MandrillSuccess, MandrillMiss, Whiff); ScheduleInput(beat, 3f, InputAction_FlickPress, MandrillSuccess, MandrillMiss, Nothing);
MultiSound.Play(new MultiSound.Sound[] { MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("holeInOne/mandrill1", beat), new MultiSound.Sound("holeInOne/mandrill1", beat),
new MultiSound.Sound("holeInOne/mandrill2", beat + 1f), new MultiSound.Sound("holeInOne/mandrill2", beat + 1f),
@ -143,17 +146,20 @@ namespace HeavenStudio.Games
BeatAction.New(instance, new List<BeatAction.Action>() BeatAction.New(instance, new List<BeatAction.Action>()
{ {
new BeatAction.Action(beat, delegate { MandrillAnim.Play("MandrillReady1");}), new BeatAction.Action(beat, delegate { MandrillAnim.Play("MandrillReady1");}),
new BeatAction.Action(beat + 1.0f, delegate { MandrillAnim.Play("MandrillReady2");}), new BeatAction.Action(beat + 1f, delegate { MandrillAnim.Play("MandrillReady2");}),
new BeatAction.Action(beat + 2.0f, delegate { MandrillAnim.Play("MandrillReady3");}), new BeatAction.Action(beat + 2f, delegate { MandrillAnim.Play("MandrillReady3");}),
new BeatAction.Action(beat + 3.0f, delegate { MandrillAnim.Play("MandrillPitch");}), new BeatAction.Action(beat + 2f, delegate { GolferAnim.DoScaledAnimationAsync("GolferPrepare", 1.0f);}),
new BeatAction.Action(beat + 3f, delegate { MandrillAnim.Play("MandrillPitch");}),
new BeatAction.Action(beat + 3f, delegate { MonkeyAnim.Play("MonkeySpin");}),
}); });
} }
public void DoMonkey(double beat) public void DoMonkey(double beat)
{ {
//Monkey Multisound //Monkey Multisound
ScheduleInput(beat, 2f, InputAction_FlickPress, MonkeySuccess, MonkeyMiss, Whiff); ScheduleInput(beat, 2f, InputAction_FlickPress, MonkeySuccess, MonkeyMiss, Nothing);
MultiSound.Play(new MultiSound.Sound[] { MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("holeInOne/monkey1", beat), new MultiSound.Sound("holeInOne/monkey1", beat),
new MultiSound.Sound("holeInOne/monkey2", beat + 1f) new MultiSound.Sound("holeInOne/monkey2", beat + 1f)
@ -161,8 +167,9 @@ namespace HeavenStudio.Games
BeatAction.New(instance, new List<BeatAction.Action>() BeatAction.New(instance, new List<BeatAction.Action>()
{ {
new BeatAction.Action(beat, delegate { MonkeyAnim.Play("MonkeyPrepare");}), new BeatAction.Action(beat, delegate { MonkeyAnim.Play("MonkeyPrepare");}),
new BeatAction.Action(beat + 1.0f, delegate { MonkeyAnim.Play("MonkeyThrow");}), new BeatAction.Action(beat + 1f, delegate { MonkeyAnim.Play("MonkeyThrow");}),
new BeatAction.Action(beat + 1f, delegate { GolferAnim.DoScaledAnimationAsync("GolferPrepare", 1.0f);}),
}); });
} }
@ -177,18 +184,22 @@ namespace HeavenStudio.Games
new MultiSound.Sound("holeInOne/mandrill1", beat),// temp should be miss new MultiSound.Sound("holeInOne/mandrill1", beat),// temp should be miss
new MultiSound.Sound("holeInOne/hole2", beat + 1f)// temp should be splash new MultiSound.Sound("holeInOne/hole2", beat + 1f)// temp should be splash
}); });
MonkeyAnim.Play("MonkeySpin"); GolferAnim.Play("GolferMiss");
} }
else else
{ {
double beat = caller.startBeat + caller.timer; double beat = caller.startBeat + caller.timer;
int randomSuccess = UnityEngine.Random.Range(1,5);
MultiSound.Play(new MultiSound.Sound[] { MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("holeInOne/mandrill4", beat), new MultiSound.Sound("holeInOne/mandrill4", beat),
new MultiSound.Sound((isWhale) ? "holeInOne/whale" : ("holeInOne/hole" + randomSuccess), beat + 2f) new MultiSound.Sound((isWhale) ? "holeInOne/whale" : "holeInOne/hole4", beat + 2f)
});
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { GolferAnim.Play("GolferJust");}),
new BeatAction.Action(beat + 2f, delegate { HoleAnim.Play("ZoomBig");}),
}); });
MonkeyAnim.Play("MonkeySpin");
} }
} }
@ -196,7 +207,8 @@ namespace HeavenStudio.Games
public void MandrillMiss(PlayerActionEvent caller) public void MandrillMiss(PlayerActionEvent caller)
{ {
SoundByte.PlayOneShotGame("holeInOne/whale"); SoundByte.PlayOneShotGame("holeInOne/whale");
MonkeyAnim.Play("MonkeySpin"); MonkeyAnim.Play("MonkeySpin");
GolferAnim.Play("GolferThroughMandrill");
} }
public void MonkeySuccess(PlayerActionEvent caller, float state) public void MonkeySuccess(PlayerActionEvent caller, float state)
@ -209,7 +221,8 @@ namespace HeavenStudio.Games
new MultiSound.Sound("holeInOne/mandrill1", beat),// temp should be miss new MultiSound.Sound("holeInOne/mandrill1", beat),// temp should be miss
new MultiSound.Sound("holeInOne/hole2", beat + 1f)// temp should be splash new MultiSound.Sound("holeInOne/hole2", beat + 1f)// temp should be splash
}); });
MonkeyAnim.Play("MonkeySpin"); MonkeyHeadAnim.Play("MonkeySadHead");
GolferAnim.Play("GolferMiss");
} }
else else
{ {
@ -220,14 +233,21 @@ namespace HeavenStudio.Games
new MultiSound.Sound("holeInOne/monkey3", beat), new MultiSound.Sound("holeInOne/monkey3", beat),
new MultiSound.Sound((isWhale) ? "holeInOne/whale" : ("holeInOne/hole" + randomSuccess), beat + 2f) new MultiSound.Sound((isWhale) ? "holeInOne/whale" : ("holeInOne/hole" + randomSuccess), beat + 2f)
}); });
MonkeyAnim.Play("MonkeySpin");
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { MonkeyHeadAnim.Play("MonkeyJustHead");}),
new BeatAction.Action(beat, delegate { GolferAnim.Play("GolferJust");}),
new BeatAction.Action(beat + 2f, delegate { HoleAnim.Play("ZoomSmall" + randomSuccess);}),
});
} }
} }
public void MonkeyMiss(PlayerActionEvent caller) public void MonkeyMiss(PlayerActionEvent caller)
{ {
SoundByte.PlayOneShotGame("holeInOne/whale"); SoundByte.PlayOneShotGame("holeInOne/whale");
MonkeyAnim.Play("MonkeySpin"); MonkeyAnim.Play("MonkeyJust");
GolferAnim.Play("GolferThrough");
} }
public void Nothing(PlayerActionEvent caller) public void Nothing(PlayerActionEvent caller)

View file

@ -17,7 +17,6 @@ MonoBehaviour:
DenseViewWidthThreshold: 512 DenseViewWidthThreshold: 512
_disableAutoReloadInBackground: 0 _disableAutoReloadInBackground: 0
ImportedScriptPaths: ImportedScriptPaths:
- Assets/Scripts/Games/FanClub/NtrIdolFan.cs - Assets/Scripts/Games/FanClub/NtrIdolFan.cs
- Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/BoolChartPropertyPrefab.cs - Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/BoolChartPropertyPrefab.cs
- Assets/Scripts/Games/AirRally/AirRally.cs - Assets/Scripts/Games/AirRally/AirRally.cs