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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// SPECIAL CASE No. 4:
|
if (G_RaceGametype())
|
||||||
// Being in ring debt occasionally forces Super Ring on you if you mashed
|
|
||||||
if (mashed && player->kartstuff[k_rings] < 0 && cv_superring.value)
|
|
||||||
{
|
{
|
||||||
INT32 debtamount = min(20, abs(player->kartstuff[k_rings]));
|
// SPECIAL CASE No. 4:
|
||||||
if (P_RandomChance((debtamount*FRACUNIT)/20))
|
// 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_itemblink] = TICRATE;
|
||||||
player->karthud[khud_itemblinkmode] = 1;
|
player->karthud[khud_itemblinkmode] = (mashed ? 1 : 0);
|
||||||
player->kartstuff[k_itemroulette] = 0;
|
player->kartstuff[k_itemroulette] = 0;
|
||||||
player->kartstuff[k_roulettetype] = 0;
|
player->kartstuff[k_roulettetype] = 0;
|
||||||
if (P_IsDisplayPlayer(player))
|
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.
|
// NOW that we're done with all of those specialized cases, we can move onto the REAL item roulette tables.
|
||||||
// Initializes existing spawnchance values
|
// Initializes existing spawnchance values
|
||||||
for (i = 0; i < NUMKARTRESULTS; i++)
|
for (i = 0; i < NUMKARTRESULTS; i++)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue