From f3548d2ec8675a85d6e76ac6df97a7d1f8d0a451 Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 2 Mar 2024 17:43:06 -0800 Subject: [PATCH] K_DoInvincibility: fix S-Monitor power-up after time gain change --- src/k_kart.c | 5 +++-- src/k_powerup.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index ccf2e5a69..8acf5ac50 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6729,7 +6729,7 @@ void K_DoInvincibility(player_t *player, tic_t time) S_StartSound(player->mo, sfx_alarmi); } - player->invincibilitytimer = max(time, player->invincibilitytimer + 5*TICRATE); + player->invincibilitytimer = time; } void K_KillBananaChain(mobj_t *banana, mobj_t *inflictor, mobj_t *source) @@ -12079,7 +12079,8 @@ void K_MoveKartPlayer(player_t *player, boolean onground) UINT32 behindScaled = behind * TICRATE / 4000; behindScaled = min(behindScaled, 10*TICRATE); - K_DoInvincibility(player, 10 * TICRATE + behindScaled); + K_DoInvincibility(player, + max(10u * TICRATE + behindScaled, player->invincibilitytimer + 5u*TICRATE)); K_PlayPowerGloatSound(player->mo); player->itemamount--; player->botvars.itemconfirm = 0; diff --git a/src/k_powerup.cpp b/src/k_powerup.cpp index 70e762897..32274c4aa 100644 --- a/src/k_powerup.cpp +++ b/src/k_powerup.cpp @@ -58,7 +58,7 @@ void K_GivePowerUp(player_t* player, kartitems_t powerup, tic_t time) { case POWERUP_SMONITOR: K_AddMessageForPlayer(player, "Got S MONITOR!", true, false); - K_DoInvincibility(player, time); + K_DoInvincibility(player, player->invincibilitytimer + time); player->powerup.superTimer += time; break;