Falling into infinite shrinkage in death pit should not do drift/tumble sounds/bounces

Discovered while testing Atlantis with improved spike behaviour
This commit is contained in:
toaster 2025-08-01 14:59:43 +01:00
parent 2726da8e86
commit d63d0279e6
2 changed files with 3 additions and 2 deletions

View file

@ -6771,7 +6771,7 @@ void K_DriftDustHandling(mobj_t *spawner)
angle_t anglediff; angle_t anglediff;
const INT16 spawnrange = spawner->radius >> FRACBITS; const INT16 spawnrange = spawner->radius >> FRACBITS;
if (!P_IsObjectOnGround(spawner) || leveltime % 2 != 0) if (!P_IsObjectOnGround(spawner) || leveltime % 2 != 0 || spawner->destscale == 1)
return; return;
if (spawner->player) 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); K_HandleTumbleSound(player);
if (P_IsObjectOnGround(player->mo) && player->mo->momz * P_MobjFlip(player->mo) <= 0) if (P_IsObjectOnGround(player->mo) && player->mo->momz * P_MobjFlip(player->mo) <= 0)

View file

@ -2631,6 +2631,7 @@ static boolean P_KillPlayer(player_t *player, mobj_t *inflictor, mobj_t *source,
// body shrinks into nothingness. // body shrinks into nothingness.
player->mo->destscale = 1; player->mo->destscale = 1;
player->mo->flags |= MF_NOCLIPTHING; player->mo->flags |= MF_NOCLIPTHING;
player->tumbleBounces = 0;
return false; return false;
} }