From db467088f9eef62198161b5beebe64ef2b34927f Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Mon, 12 May 2025 18:29:17 -0400 Subject: [PATCH] Pitblame in Race, stop spinout when lightsnaking --- src/k_kart.c | 3 +++ src/p_inter.c | 22 +++++++++++----------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 5173fa3eb..ee002f714 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -9263,6 +9263,9 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) player->flashing = K_GetKartFlashing(player); } + if (player->spinouttimer && player->respawn.state != RESPAWNST_NONE) + player->spinouttimer = 0; + if (player->spinouttimer) { if (((P_IsObjectOnGround(player->mo) diff --git a/src/p_inter.c b/src/p_inter.c index b3d178254..1c0fa8462 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2590,20 +2590,20 @@ static boolean P_KillPlayer(player_t *player, mobj_t *inflictor, mobj_t *source, player->roundconditions.checkthisframe = true; } - if (gametyperules & (GTR_BUMPERS|GTR_CHECKPOINTS)) + if ((player->pitblame > -1) && (player->pitblame < MAXPLAYERS) + && (playeringame[player->pitblame]) && (!players[player->pitblame].spectator) + && (players[player->pitblame].mo) && (!P_MobjWasRemoved(players[player->pitblame].mo))) { - if ((player->pitblame > -1) && (player->pitblame < MAXPLAYERS) - && (playeringame[player->pitblame]) && (!players[player->pitblame].spectator) - && (players[player->pitblame].mo) && (!P_MobjWasRemoved(players[player->pitblame].mo))) - { + if (gametyperules & (GTR_BUMPERS|GTR_CHECKPOINTS)) P_DamageMobj(player->mo, players[player->pitblame].mo, players[player->pitblame].mo, 1, DMG_KARMA); - player->pitblame = -1; - } - else if (player->mo->health > 1 || K_Cooperative()) - { + else + K_SpawnAmps(&players[player->pitblame], 20, player->mo); + player->pitblame = -1; + } + else if (player->mo->health > 1 || K_Cooperative()) + { + if (gametyperules & (GTR_BUMPERS|GTR_CHECKPOINTS)) player->mo->health--; - } - } if (modeattacking & ATTACKING_SPB)