diff --git a/src/k_respawn.c b/src/k_respawn.c index 6bb98db0e..d2da452db 100644 --- a/src/k_respawn.c +++ b/src/k_respawn.c @@ -509,6 +509,13 @@ static void K_MovePlayerToRespawnPoint(player_t *player) player->respawn.distanceleft = 0; } + // Almost all legitimate driving, no matter how clumsy, should be faster than death in TA. + // Advance only as far as we need to prevent respawn loops! + if (modeattacking) + { + player->respawn.distanceleft = 0; + } + player->respawn.wp = player->respawn.wp->nextwaypoints[nwp]; K_RespawnAtWaypoint(player, player->respawn.wp); diff --git a/src/p_inter.c b/src/p_inter.c index fa3652788..b586c7481 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2571,7 +2571,7 @@ static boolean P_KillPlayer(player_t *player, mobj_t *inflictor, mobj_t *source, return false; } - if (modeattacking) + if (modeattacking & ATTACKING_SPB) { // Death in SPB Attack is an instant loss. P_DoPlayerExit(player, PF_NOCONTEST);