From b3b0c5c9dcb9c921c8f339214d76dee6eeafd2d1 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sat, 27 Apr 2024 20:13:57 -0700 Subject: [PATCH] Fix autoroulette confirm timer being blockable --- src/k_roulette.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/k_roulette.c b/src/k_roulette.c index cd805da91..2e05b1862 100644 --- a/src/k_roulette.c +++ b/src/k_roulette.c @@ -1627,7 +1627,7 @@ void K_KartItemRoulette(player_t *const player, ticcmd_t *const cmd) else if (roulette->autoroulette) { // confirmItem = (roulette->speed > 15); - confirmItem = (roulette->elapsed == TICRATE*2); + confirmItem = (roulette->elapsed >= TICRATE*2); } else { @@ -1639,7 +1639,7 @@ void K_KartItemRoulette(player_t *const player, ticcmd_t *const cmd) // If the roulette finishes or the player presses BT_ATTACK, stop the roulette and calculate the item. // I'm returning via the exact opposite, however, to forgo having another bracket embed. Same result either way, I think. // Finally, if you get past this check, now you can actually start calculating what item you get. - if (confirmItem == true && (player->itemflags & (IF_ITEMOUT|IF_EGGMANOUT|IF_USERINGS)) == 0) + if (confirmItem == true && ((roulette->autoroulette) || (player->itemflags & (IF_ITEMOUT|IF_EGGMANOUT|IF_USERINGS)) == 0)) { if (roulette->eggman == true) {