Roulette: don't roll Garden Top if another player already has one

Makes Garden Top odds behave like normal shield odds.
This commit is contained in:
James R 2023-03-21 19:07:57 -07:00
parent efdcec6734
commit d2ffa9eeae

View file

@ -441,27 +441,19 @@ static UINT32 K_GetItemRouletteDistance(const player_t *player, UINT8 numPlayers
--------------------------------------------------*/ --------------------------------------------------*/
static boolean K_DenyShieldOdds(kartitems_t item) static boolean K_DenyShieldOdds(kartitems_t item)
{ {
INT32 shieldType = K_GetShieldFromItem(item); const INT32 shieldType = K_GetShieldFromItem(item);
size_t i;
if ((gametyperules & GTR_CIRCUIT) == 0) if ((gametyperules & GTR_CIRCUIT) == 0)
{ {
return false; return false;
} }
switch (shieldType) if (shieldType == KSHIELD_NONE)
{ {
case KSHIELD_NONE: return false;
/* Marble Garden Top is not REALLY
a Sonic 3 shield */
case KSHIELD_TOP:
{
break;
} }
default:
{
size_t i;
for (i = 0; i < MAXPLAYERS; i++) for (i = 0; i < MAXPLAYERS; i++)
{ {
if (playeringame[i] == false || players[i].spectator == true) if (playeringame[i] == false || players[i].spectator == true)
@ -475,8 +467,6 @@ static boolean K_DenyShieldOdds(kartitems_t item)
return true; return true;
} }
} }
}
}
return false; return false;
} }