From ecab9970a2dc4b5722b3e8da3404e4f87f990c7d Mon Sep 17 00:00:00 2001 From: sunsetbear Date: Sat, 25 Jun 2022 20:00:43 -0400 Subject: [PATCH] More fixes to mockball --- 0.2a changelog.txt | 19 ++++++++++++++----- scripts/characterStepEvent.gml | 27 +++++++++++++++++++-------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/0.2a changelog.txt b/0.2a changelog.txt index d7c53dc..2e0f222 100644 --- a/0.2a changelog.txt +++ b/0.2a changelog.txt @@ -1,15 +1,16 @@ -Changelog from vanilla AM2R to Momentum Mod 0.2a: +Changelog from vanilla AM2R to Momentum Mod 0.3a: MECHANICS CHANGES: RUNNING AND JUMPING: - -Running responds to player input slightly faster. - -Speed increases gradually while running, even before acquiring speedbooster + -Running responds to player input faster. (this does not apply when turning, so as to allow players to aim shots and position themselves more precisely.) + -Speed increases gradually (starting from vanilla run speed) while running, even before acquiring speedbooster -Jumping before speedbooster is active will no longer cap your speed -While in spinjump state, there is no air friction, so you can maintain your speed. In normal jumping/falling state, you will slow down quickly, so respin to keep speed. -The faster you run, the higher you jump. -New sound effect and graphic that indicates speedbooster activation. -Upon landing, Samus will no longer stop in her tracks for 5 frames like she does in vanilla (this was likely done to mimic gba metroid movement.) + -Added vertical spinjump from RoS and Super. BALL STATES: - -Mockball is now possible before (and after) speedbooster, functions like super metroid. To activate, morph within 10 frames of landing. + -Mockball is now possible before (and after) speedbooster, functions like super metroid. To activate, morph within 12 frames of landing. -Morphing in the air no longer halts vertical or horizontal speed (unmorphing does.) -Unmorphing on the ground while holding left or right will put the player straight into the running state, instead of crouch. -Note that in earlier versions of momentum mod, spider ball's speed was doubled. This change has since been reverted. @@ -19,4 +20,12 @@ OTHER: -Power grip is no longer available from the start of the game. -Platform layouts before power grip is acquired has been altered to accomodate this change. -Arachnus now drops Power Grip instead of Spring Ball. - \ No newline at end of file + + +Changes from 0.2a to 0.3a: +-Made running, jumping, and landing MUCH more responsive and intuitive. This is the highlight of the update. +-Fixed arachnus CoreX dropping spring ball instead of power grip +-Fixed morph ball speedboost into the ground applying the wrong speed to the player. +-Fixed mockball speeds sometimes not translating to the player's prior airspeed. Added a minimum mockball speed. +-Fixed a bug where doing mockball at below speedbooster speed would allow you to store a shinespark, even without speedbooster. +-Fixed a bug where ballsparking into a slope would steal all of your speed. \ No newline at end of file diff --git a/scripts/characterStepEvent.gml b/scripts/characterStepEvent.gml index 60315d3..a909617 100644 --- a/scripts/characterStepEvent.gml +++ b/scripts/characterStepEvent.gml @@ -1479,6 +1479,7 @@ if (state == BRAKING) { } if (statetime >= 15 && sjball != 1){ state = STANDING; + dash = 0; canturn = 1; idle = 0; image_index = 0; @@ -1487,8 +1488,8 @@ if (state == BRAKING) { } } if (state == BRAKING && statetime > 3 && kDown && kLeft == 0 && kRight == 0) { - if (sjball == 0) state = DUCKING; - if (sjball == 1) state = BALL; + //if (sjball == 0) state = DUCKING; + //if (sjball == 1) state = BALL; if (brakeSB > 0){ statetime = 0; brakeSB = 0; @@ -1503,10 +1504,19 @@ if (state == BRAKING && statetime > 3 && kDown && kLeft == 0 && kRight == 0) { expl.depth = -150; } else{ - state = BALL; - canturn = 1; - sjball = 0; - machball = 0; + if (sjball > 0){ + state = BALL; + canturn = 1; + sjball = 0; + machball = 0; + dash = 0; + } + else { + state = DUCKING; + statetime = 0; + turning = 0; + sfx_play(sndCrouch); + } } } //below is uncrouch @@ -2566,7 +2576,7 @@ if (footstep == 0) { } } if (!sfx_isplaying(spinjump_sound) && state == JUMPING && vjump == 0 && statetime >= 10) LoopSoundMono(spinjump_sound); -if (sfx_isplaying(spinjump_sound) && (state != JUMPING || state == JUMPING && vjump == 1)) sfx_stop(spinjump_sound); +if (sfx_isplaying(spinjump_sound) && (state != JUMPING && machball == 0 || state == JUMPING && vjump == 1 )) sfx_stop(spinjump_sound); if (sfx_isplaying(sndSBLoop) && dash == 0) sfx_stop(sndSBLoop); if (sfx_isplaying(sndSBStart) && dash == 0) sfx_stop(sndSBStart); if (charge == 0 && sfx_isplaying(sndSBChargeLoop)) sfx_stop(sndSBChargeLoop); @@ -2693,7 +2703,8 @@ if machball > 0 && state == BALL && (kRight > 0 || kLeft > 0){ } else { xVel = -6; } - LoopSoundMono(sndChargeLoop); + //LoopSoundMono(sndChargeLoop); + LoopSoundMono(spinjump_sound); if (state != BRAKING){ if xVel > 0 && kLeft > 0 { xVel = 0;