diff --git a/src/k_kart.c b/src/k_kart.c index 3473067f9..b5d977438 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6771,7 +6771,7 @@ void K_DriftDustHandling(mobj_t *spawner) angle_t anglediff; const INT16 spawnrange = spawner->radius >> FRACBITS; - if (!P_IsObjectOnGround(spawner) || leveltime % 2 != 0) + if (!P_IsObjectOnGround(spawner) || leveltime % 2 != 0 || spawner->destscale == 1) return; if (spawner->player) @@ -10688,7 +10688,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) } - if (player->tumbleBounces > 0) + if (player->tumbleBounces > 0 && player->mo->destscale > 1) { K_HandleTumbleSound(player); if (P_IsObjectOnGround(player->mo) && player->mo->momz * P_MobjFlip(player->mo) <= 0) diff --git a/src/p_inter.c b/src/p_inter.c index d3cd01851..715cc27c3 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2631,6 +2631,7 @@ static boolean P_KillPlayer(player_t *player, mobj_t *inflictor, mobj_t *source, // body shrinks into nothingness. player->mo->destscale = 1; player->mo->flags |= MF_NOCLIPTHING; + player->tumbleBounces = 0; return false; }