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:
AstrlJelly
2023-06-04 00:30:42 -04:00
committed by GitHub
parent bb6559fe58
commit 11044922d3
84 changed files with 19587 additions and 1855 deletions

View File

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