diff --git a/src/p_user.c b/src/p_user.c index c5ea892f0..c3d3586cd 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -2307,7 +2307,7 @@ boolean P_PlayerHitFloor(player_t *player, boolean dorollstuff) else if (!player->skidtime) player->pflags &= ~PF_GLIDING; } - else if (player->charability == CA_GLIDEANDCLIMB && player->pflags & PF_THOKKED && !(player->pflags & PF_SHIELDABILITY) && player->mo->state-states == S_PLAY_FALL) + else if (player->charability == CA_GLIDEANDCLIMB && player->pflags & PF_THOKKED && !(player->pflags & (PF_JUMPED|PF_SHIELDABILITY)) && player->mo->state-states == S_PLAY_FALL) { if (player->mo->state-states != S_PLAY_GLIDE_LANDING) { @@ -3534,7 +3534,7 @@ static void P_DoClimbing(player_t *player) { P_SetObjectMomZ(player->mo, 2*FRACUNIT, true); if (cmd->forwardmove) - P_SetObjectMomZ(player->mo, 2*player->mo->momz/3, false); + player->mo->momz = 2*player->mo->momz/3; } if (thrust) P_Thrust(player->mo, player->mo->angle, FixedMul(4*FRACUNIT, player->mo->scale)); // Lil' boost up.