diff --git a/src/k_kart.c b/src/k_kart.c index cb0b3e12c3ad0a9c978713a371d4bb35b336ce2d..7b4063d094139c2128f83ed9f614a8eeb26aee20 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -5947,7 +5947,9 @@ void K_MoveKartPlayer(player_t *player, boolean onground) } } - if (onground) + // JugadorXEI: Do *not* calculate friction when a player is pogo'd + // because they'll be in the air and friction will not reset! + if (onground && !player->kartstuff[k_pogospring]) { // Friction if (!player->kartstuff[k_offroad]) @@ -5981,11 +5983,11 @@ void K_MoveKartPlayer(player_t *player, boolean onground) } // Wipeout slowdown - if (player->kartstuff[k_spinouttimer] && player->kartstuff[k_wipeoutslow]) + if (player->speed > 0 && player->kartstuff[k_spinouttimer] && player->kartstuff[k_wipeoutslow]) { if (player->kartstuff[k_offroad]) player->mo->friction -= 4912; - if (player->kartstuff[k_wipeoutslow] == 1 && player->kartstuff[k_pogospring] == 0) + if (player->kartstuff[k_wipeoutslow] == 1) player->mo->friction -= 9824; } }