mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Put these special cases behind RaceGametype
This commit is contained in:
parent
99ed66ac46
commit
1fc9009bd3
1 changed files with 26 additions and 23 deletions
49
src/k_kart.c
49
src/k_kart.c
|
|
@ -1222,16 +1222,35 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd)
|
|||
return;
|
||||
}
|
||||
|
||||
// SPECIAL CASE No. 4:
|
||||
// Being in ring debt occasionally forces Super Ring on you if you mashed
|
||||
if (mashed && player->kartstuff[k_rings] < 0 && cv_superring.value)
|
||||
if (G_RaceGametype())
|
||||
{
|
||||
INT32 debtamount = min(20, abs(player->kartstuff[k_rings]));
|
||||
if (P_RandomChance((debtamount*FRACUNIT)/20))
|
||||
// SPECIAL CASE No. 4:
|
||||
// Being in ring debt occasionally forces Super Ring on you if you mashed
|
||||
if (mashed && player->kartstuff[k_rings] < 0 && cv_superring.value)
|
||||
{
|
||||
K_KartGetItemResult(player, KITEM_SUPERRING);
|
||||
INT32 debtamount = min(20, abs(player->kartstuff[k_rings]));
|
||||
if (P_RandomChance((debtamount*FRACUNIT)/20))
|
||||
{
|
||||
K_KartGetItemResult(player, KITEM_SUPERRING);
|
||||
player->karthud[khud_itemblink] = TICRATE;
|
||||
player->karthud[khud_itemblinkmode] = 1;
|
||||
player->kartstuff[k_itemroulette] = 0;
|
||||
player->kartstuff[k_roulettetype] = 0;
|
||||
if (P_IsDisplayPlayer(player))
|
||||
S_StartSound(NULL, (mashed ? sfx_itrolm : sfx_itrolf));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// SPECIAL CASE No. 5:
|
||||
// Force SPB onto 2nd if they get too far behind
|
||||
if (player->kartstuff[k_position] == 2 && pdis > (DISTVAR*6)
|
||||
&& spbplace == -1 && !indirectitemcooldown && !dontforcespb
|
||||
&& cv_selfpropelledbomb.value)
|
||||
{
|
||||
K_KartGetItemResult(player, KITEM_SPB);
|
||||
player->karthud[khud_itemblink] = TICRATE;
|
||||
player->karthud[khud_itemblinkmode] = 1;
|
||||
player->karthud[khud_itemblinkmode] = (mashed ? 1 : 0);
|
||||
player->kartstuff[k_itemroulette] = 0;
|
||||
player->kartstuff[k_roulettetype] = 0;
|
||||
if (P_IsDisplayPlayer(player))
|
||||
|
|
@ -1240,22 +1259,6 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd)
|
|||
}
|
||||
}
|
||||
|
||||
// SPECIAL CASE No. 5:
|
||||
// Force SPB onto 2nd if they get too far behind
|
||||
if (player->kartstuff[k_position] == 2 && pdis > (DISTVAR*6)
|
||||
&& spbplace == -1 && !indirectitemcooldown && !dontforcespb
|
||||
&& cv_selfpropelledbomb.value)
|
||||
{
|
||||
K_KartGetItemResult(player, KITEM_SPB);
|
||||
player->karthud[khud_itemblink] = TICRATE;
|
||||
player->karthud[khud_itemblinkmode] = (mashed ? 1 : 0);
|
||||
player->kartstuff[k_itemroulette] = 0;
|
||||
player->kartstuff[k_roulettetype] = 0;
|
||||
if (P_IsDisplayPlayer(player))
|
||||
S_StartSound(NULL, (mashed ? sfx_itrolm : sfx_itrolf));
|
||||
return;
|
||||
}
|
||||
|
||||
// NOW that we're done with all of those specialized cases, we can move onto the REAL item roulette tables.
|
||||
// Initializes existing spawnchance values
|
||||
for (i = 0; i < NUMKARTRESULTS; i++)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue