mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-12 08:27:40 +02:00
Marching Orders Rework + Bug Fixes (#442)
* first things first, kill mr. downbeat. now onto fixing meat grinder forrealzies * meat grinder fix * fixed munchy monk icon + mr upbeat ding bug * a few little changes * lotta stuff yeahh just look at the pr description * point and clap * anim Adjustment * new sheet + adjustments for it * IM USING THE INTERNET i hate merge conflicts * grrr merge conflicts * insane changes * progress * fixed The Spaceball Camera Bug (literally a single line of code wtf guys) * colrs * k im done :3 --------- Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
This commit is contained in:
@ -109,6 +109,10 @@ namespace HeavenStudio.Games.Loaders
|
||||
var e = eventCaller.currentEntity;
|
||||
MunchyMonk.instance.PlayMonkAnim(e.beat, e["whichAnim"], e["vineBoom"]);
|
||||
},
|
||||
inactiveFunction = delegate {
|
||||
var e = eventCaller.currentEntity;
|
||||
MunchyMonk.instance.PlayMonkAnimInactive(e["vineBoom"]);
|
||||
},
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("whichAnim", MunchyMonk.WhichMonkAnim.Stare, "Which Animation", "Which animation will the Monk play?"),
|
||||
@ -211,8 +215,6 @@ namespace HeavenStudio.Games
|
||||
float movingLength;
|
||||
string moveAnim;
|
||||
EasingFunction.Ease lastEase;
|
||||
|
||||
private Dumpling currentDumpling;
|
||||
ScrollObject[] scrollObjects;
|
||||
const string sfxName = "munchyMonk/";
|
||||
|
||||
@ -227,9 +229,7 @@ namespace HeavenStudio.Games
|
||||
private void Start()
|
||||
{
|
||||
scrollObjects = FindObjectsByType<ScrollObject>(FindObjectsSortMode.None);
|
||||
foreach (var obj in scrollObjects) {
|
||||
obj.SpeedMod = scrollModCurrent;
|
||||
}
|
||||
foreach (var obj in scrollObjects) obj.SpeedMod = scrollModCurrent;
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
@ -254,15 +254,12 @@ namespace HeavenStudio.Games
|
||||
private void Update()
|
||||
{
|
||||
// input stuff
|
||||
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN))
|
||||
{
|
||||
if (PlayerInput.Pressed(true) && (!IsExpectingInputNow(InputType.STANDARD_DOWN) || !IsExpectingInputNow(InputType.DIRECTION_DOWN))) {
|
||||
MonkArmsAnim.DoScaledAnimationAsync("WristSlap", 0.5f);
|
||||
Jukebox.PlayOneShotGame(sfxName+"slap");
|
||||
isStaring = false;
|
||||
// early input stuff
|
||||
if (dumplings.Count != 0) {
|
||||
InputFunctions(3);
|
||||
}
|
||||
if (dumplings.Count != 0) InputFunctions(3);
|
||||
}
|
||||
|
||||
// blushes when done eating but not when staring
|
||||
@ -285,18 +282,14 @@ namespace HeavenStudio.Games
|
||||
}
|
||||
|
||||
// resets the monk when game is stopped
|
||||
if (!Conductor.instance.NotStopped()) {
|
||||
MonkAnim.DoScaledAnimationAsync("Idle", 0.5f);
|
||||
}
|
||||
if (!Conductor.instance.NotStopped()) MonkAnim.DoScaledAnimationAsync("Idle", 0.5f);
|
||||
|
||||
if (isMoving) {
|
||||
float normalizedBeat = Conductor.instance.GetPositionFromBeat(movingStartBeat, movingLength);
|
||||
EasingFunction.Function func = EasingFunction.GetEasingFunction(lastEase);
|
||||
float newPos = func(0f, 1f, normalizedBeat);
|
||||
MonkHolderAnim.DoNormalizedAnimation(moveAnim, newPos);
|
||||
if (normalizedBeat >= 1f) {
|
||||
isMoving = false;
|
||||
}
|
||||
if (normalizedBeat >= 1f) isMoving = false;
|
||||
}
|
||||
|
||||
if (scrollRampUp) {
|
||||
@ -308,24 +301,22 @@ namespace HeavenStudio.Games
|
||||
scrollModCurrent = scrollMod;
|
||||
}
|
||||
|
||||
foreach (var obj in scrollObjects) {
|
||||
obj.SpeedMod = newPos;
|
||||
}
|
||||
foreach (var obj in scrollObjects) obj.SpeedMod = newPos;
|
||||
}
|
||||
|
||||
// cue queuing stuff
|
||||
if (queuedOnes.Count > 0) {
|
||||
foreach (var dumpling in queuedOnes) { OneGoCue(dumpling.beat, dumpling.color1); }
|
||||
foreach (var dumpling in queuedOnes) OneGoCue(dumpling.beat, dumpling.color1);
|
||||
queuedOnes.Clear();
|
||||
}
|
||||
|
||||
if (queuedTwoTwos.Count > 0) {
|
||||
foreach (var dumpling in queuedTwoTwos) { TwoTwoCue(dumpling.beat, dumpling.color1, dumpling.color2); }
|
||||
foreach (var dumpling in queuedTwoTwos) TwoTwoCue(dumpling.beat, dumpling.color1, dumpling.color2);
|
||||
queuedTwoTwos.Clear();
|
||||
}
|
||||
|
||||
if (queuedThrees.Count > 0) {
|
||||
foreach (var dumpling in queuedThrees) { ThreeGoCue(dumpling.beat, dumpling.color1, dumpling.color2, dumpling.color3); }
|
||||
foreach (var dumpling in queuedThrees) ThreeGoCue(dumpling.beat, dumpling.color1, dumpling.color2, dumpling.color3);
|
||||
queuedThrees.Clear();
|
||||
}
|
||||
}
|
||||
@ -360,17 +351,16 @@ namespace HeavenStudio.Games
|
||||
|
||||
public void InputFunctions(int whichVar, float state = 0)
|
||||
{
|
||||
currentDumpling = dumplings[dumplings.Count-1];
|
||||
switch (whichVar)
|
||||
{
|
||||
case 1:
|
||||
currentDumpling.HitFunction(state);
|
||||
dumplings[dumplings.Count-1].HitFunction(state);
|
||||
break;
|
||||
case 2:
|
||||
currentDumpling.MissFunction();
|
||||
dumplings[dumplings.Count-1].MissFunction();
|
||||
break;
|
||||
case 3:
|
||||
currentDumpling.EarlyFunction();
|
||||
dumplings[dumplings.Count-1].EarlyFunction();
|
||||
break;
|
||||
}
|
||||
dumplings.RemoveAt(dumplings.Count-1);
|
||||
@ -390,10 +380,7 @@ namespace HeavenStudio.Games
|
||||
|
||||
public static void PreOneGoCue(float beat, Color firstColor)
|
||||
{
|
||||
MultiSound.Play(new MultiSound.Sound[] {
|
||||
new MultiSound.Sound(sfxName+"one_1", beat),
|
||||
new MultiSound.Sound(sfxName+"one_2", beat + 1f),
|
||||
}, forcePlay: true);
|
||||
PlaySoundSequence("munchyMonk", "one_go", beat);
|
||||
|
||||
queuedOnes.Add(new QueuedDumpling()
|
||||
{ beat = beat, color1 = firstColor, });
|
||||
@ -420,13 +407,8 @@ namespace HeavenStudio.Games
|
||||
|
||||
public static void PreTwoTwoCue(float beat, Color firstColor, Color secondColor)
|
||||
{
|
||||
MultiSound.Play(new MultiSound.Sound[] {
|
||||
new MultiSound.Sound(sfxName+"two_1", beat - 0.5f),
|
||||
new MultiSound.Sound(sfxName+"two_2", beat),
|
||||
new MultiSound.Sound(sfxName+"two_3", beat + 1f),
|
||||
new MultiSound.Sound(sfxName+"two_4", beat + 1.5f),
|
||||
}, forcePlay: true);
|
||||
|
||||
PlaySoundSequence("munchyMonk", "two_go", beat);
|
||||
|
||||
queuedTwoTwos.Add(new QueuedDumpling() {
|
||||
beat = beat,
|
||||
color1 = firstColor,
|
||||
@ -463,12 +445,7 @@ namespace HeavenStudio.Games
|
||||
|
||||
public static void PreThreeGoCue(float beat, Color firstColor, Color secondColor, Color thirdColor)
|
||||
{
|
||||
MultiSound.Play(new MultiSound.Sound[] {
|
||||
new MultiSound.Sound(sfxName+"three_1", beat),
|
||||
new MultiSound.Sound(sfxName+"three_2", beat + 1f),
|
||||
new MultiSound.Sound(sfxName+"three_3", beat + 2f),
|
||||
new MultiSound.Sound(sfxName+"three_4", beat + 3f),
|
||||
}, forcePlay: true);
|
||||
PlaySoundSequence("munchyMonk", "three_go", beat);
|
||||
|
||||
queuedThrees.Add(new QueuedDumpling() {
|
||||
beat = beat,
|
||||
@ -546,6 +523,11 @@ namespace HeavenStudio.Games
|
||||
if (vineBoom) Jukebox.PlayOneShotGame("fanClub/arisa_dab", forcePlay: true);
|
||||
}
|
||||
|
||||
public void PlayMonkAnimInactive(bool vineBoom)
|
||||
{
|
||||
if (vineBoom) Jukebox.PlayOneShotGame("fanClub/arisa_dab", forcePlay: true);
|
||||
}
|
||||
|
||||
public void MonkMove(float beat, float length, int goToSide, int ease)
|
||||
{
|
||||
movingStartBeat = beat;
|
||||
|
Reference in New Issue
Block a user