diff --git a/scripts/characterStepEvent.gml b/scripts/characterStepEvent.gml index 4060568..cc65d6a 100644 --- a/scripts/characterStepEvent.gml +++ b/scripts/characterStepEvent.gml @@ -13,7 +13,7 @@ if (state == STANDING || state == RUNNING) { xVel *= 0.25; xAcc = 0; } - if (state == RUNNING && speedboost) { + if (state == RUNNING && (speedboost || dash >= 45)) { if (facing == RIGHT && (kRight == 0 || kLeft > 0) || facing == LEFT && (kLeft == 0 || kRight > 0)) { state = BRAKING; statetime = 0; @@ -40,13 +40,20 @@ if (state == STANDING || state == RUNNING) { } } } // if (facing == RIGHT && (kRight == 0 || kLeft > 0) || facing == LEFT && (kLeft == 0 || kRight > 0)) + if (statetime <= 8){ + if (facing == RIGHT){ + xVel = 9; + } else { + xVel = -9; + } + } } // if (state == RUNNING && speedboost) //if (walking < 0 && statetime <=5) xVel *= 0.5; - if (state == RUNNING && statetime <=8){ + if (state == RUNNING && statetime <=8 && speedboost = 0 && dash < 45){ if (facing == RIGHT){ - if (xVel > 0.5) xVel = 0.5; + if (xVel > 0.1) xVel = 0.1; } else { - if (xVel < -0.5) xVel = -0.5; + if (xVel < -0.1) xVel = -0.1; } } if (kLeft > 0) { @@ -63,7 +70,7 @@ if (state == STANDING || state == RUNNING) { if (!inwater && waterfall == 0 || global.currentsuit == 2) { if (statetime <= 5 && kLeft > 0 && turning = 0 && state == RUNNING){ if (turning == 0 && kWalk == 0 && walking == 0 && speedboost == 0){ - xVel = -1; + xVel = -0.5; xAcc -= runAcc / 8; xFric = 1; } else if (walking > 0){ @@ -124,7 +131,7 @@ if (state == STANDING || state == RUNNING) { if (statetime <= 5 && turning = 0 && kRight > 0 && state == RUNNING){ if (turning == 0 && kWalk == 0 && walking == 0 && speedboost == 0) { xAcc += runAcc / 8; - xVel = 1; + xVel = 0.5; xFric = 1; } else if (walking > 0) { xVel = 0.25; @@ -550,10 +557,10 @@ if (state == BALL || state == AIRBALL) { image_index = 0; } - if (dash > 0 || machball > 0) { - if (dash > 0) sjball = 1; + if (machball > 0) { + sjball = 1; if (state == BALL && (facing == RIGHT && kRight == 0 || facing == LEFT && kLeft == 0)) { - //dash = 0; + dash = 0; state = BRAKING; statetime = 0; canturn = 1; @@ -656,7 +663,7 @@ chStepSpiderBall(); if ((walking == 1 || (inwater || waterfall > 0) && global.currentsuit < 2 || turning) && monster_drain == 0 && state == RUNNING) speedboost_steps = 0; if (dash == 0 && state == RUNNING && speedboost_steps > 5 && (inwater == 0 || global.currentsuit == 2)) dash = 1; -if (global.speedbooster && speedboost == 0 && dash == 45 && state != BRAKING && state != STANDING) { +if (global.speedbooster && speedboost == 0 && dash >= 45 && state != BRAKING && state != STANDING && state != JUMPING) { speedboost = 1; canturn = 0; sjball = 0; @@ -1462,6 +1469,7 @@ if (kDown && kDownPushedSteps == 0 && platformCharacterIs(ON_GROUND) && state != sfx_play(sndCrouch); } } +//below is braking if (state == BRAKING) { //dash = 0; speedboost = 0; @@ -1486,15 +1494,15 @@ if (state == BRAKING) { statetime = 0; y += 1; } - if ((sjball == 1) && statetime == 15) { + if ((sjball > 0) && statetime >= 15) { state = BALL; + statetime = 0; canturn = 1; sjball = 0; machball = 0; unmorphing = 0; - morphing = 1; } - if (statetime >= 15 && sjball != 1){ + if (statetime >= 15 && sjball != 1 && machball == 0){ state = STANDING; dash = 0; canturn = 1; @@ -1505,8 +1513,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; @@ -1520,21 +1528,6 @@ if (state == BRAKING && statetime > 3 && kDown && kLeft == 0 && kRight == 0) { expl.sprite_index = sSBChargeFX; expl.depth = -150; } - else{ - 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 if (kUp && kUpPushedSteps == 0 && state == DUCKING) { @@ -1583,11 +1576,12 @@ if (state == AIRBALL && morphing == 0 && moverobj == 0 && nomorph == 0 && (globa statetime = 0; turning = 0; vjump = 1; + xVel *= 0.8; hijump = 0; unmorphing = 1; nomorph = 10; image_index = 0; - if (!speedboost && platformCharacterIs(IN_AIR) ) { + if (dash == 0 && platformCharacterIs(IN_AIR) ) { xVel = 0; xAcc = 0; } @@ -2631,8 +2625,8 @@ if (fxtimer >= 0) fxtimer -= 1; if (fxtimer == -1) fxtimer = 5; if (fixedx > 0) fixedx -= 1; if (fixedy > 0) fixedy -= 1; -if (dash > 0 && dash < 16 && state == RUNNING) dash += 1; -if (dash >= 16 && dash < 45 && state == RUNNING) dash += 0.5; +if (dash > 0 && dash < 16 && state == RUNNING) dash += 0.5; +if (dash >= 16 && dash < 45 && state == RUNNING) dash += 1; //run key leftover //if (dash > 0 && dash < 45 && state == RUNNING && kWalk > 0) dash += 1; if (shinespark > 0) shinespark -= 1; @@ -2665,6 +2659,7 @@ if (state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIP if !global.speedbooster && dash > 27 { dash = 27; } +if (dash > 45) dash = 45; if (xVelStoredTimer > 0) { if facing == RIGHT {