Fix autoroulette confirm timer being blockable

This commit is contained in:
AJ Martinez 2024-04-27 20:13:57 -07:00
parent f60f5a8648
commit b3b0c5c9dc

View file

@ -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)
{