From 9cbeca959565278580103d7b1215302394045f7b Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Fri, 19 Jan 2024 16:40:22 -0700 Subject: [PATCH] Fix fault exit conditions triggering before hitlag ended --- src/k_kart.c | 2 +- src/p_spec.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index b07c83d10..dfcaaee68 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8706,7 +8706,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) player->nextringaward = 99; // Next time we need to award superring, spawn the first one instantly. } - if (player->pflags & PF_VOID) // Returning from FAULT VOID + if (player->pflags & PF_VOID && player->mo->hitlag == 0) // Returning from FAULT VOID { player->pflags &= ~PF_VOID; player->mo->renderflags &= ~RF_DONTDRAW; diff --git a/src/p_spec.c b/src/p_spec.c index c2e9d691e..d10adc7ee 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1920,8 +1920,9 @@ static void K_HandleLapIncrement(player_t *player) player->mo->renderflags |= RF_DONTDRAW; player->mo->flags |= MF_NOCLIPTHING; player->nocontrol = UINT16_MAX; - player->hyudorotimer = UINT16_MAX; - player->speed = 0; + player->mo->momx = 0; + player->mo->momy = 0; + player->mo->momz = 0; K_StripItems(player); player->faultflash = TICRATE/3; ClearFakePlayerSkin(player);