diff --git a/src/p_user.c b/src/p_user.c index 553086ebb35edb1de1392441ea929daa821bdcac..1b49e52e80565287f1f6183e80b314d69c2b2ca9 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -8046,7 +8046,7 @@ void P_MovePlayer(player_t *player) } // If Springing (or nojumpspinning), but travelling DOWNWARD, change back! - if ((player->panim == PA_SPRING && P_MobjFlip(player->mo)*player->mo->momz < 0) + if (((player->panim == PA_SPRING || player->mo->state-states == S_PLAY_WALK) && P_MobjFlip(player->mo)*player->mo->momz < 0) || ((((player->charflags & SF_NOJUMPSPIN) && (player->pflags & PF_JUMPED) && player->panim == PA_JUMP)) && (P_MobjFlip(player->mo)*player->mo->momz < 0))) P_SetPlayerMobjState(player->mo, S_PLAY_FALL);