mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-01 11:16:30 +00:00
Crossing the finish line first before anyone else gives you a free rainbow boost
This commit is contained in:
parent
f61f9a010c
commit
f0044e05c1
7 changed files with 26 additions and 1 deletions
|
|
@ -534,6 +534,7 @@ extern tic_t hyubgone;
|
|||
extern tic_t mapreset;
|
||||
extern boolean thwompsactive;
|
||||
extern SINT8 spbplace;
|
||||
extern boolean rainbowstartavailable;
|
||||
|
||||
extern tic_t bombflashtimer; // Used to avoid causing seizures if multiple mines explode close to you :)
|
||||
extern boolean legitimateexit;
|
||||
|
|
|
|||
|
|
@ -289,6 +289,7 @@ tic_t hyubgone; // Cooldown before hyudoro is allowed to be rerolled
|
|||
tic_t mapreset; // Map reset delay when enough players have joined an empty game
|
||||
boolean thwompsactive; // Thwomps activate on lap 2
|
||||
SINT8 spbplace; // SPB exists, give the person behind better items
|
||||
boolean rainbowstartavailable; // Boolean, keeps track of if the rainbow start was gotten
|
||||
|
||||
// Client-sided, unsynched variables (NEVER use in anything that needs to be synced with other players)
|
||||
tic_t bombflashtimer = 0; // Cooldown before another FlashPal can be intialized by a bomb exploding near a displayplayer. Avoids seizures.
|
||||
|
|
|
|||
|
|
@ -6488,7 +6488,7 @@ Stage 1: red sparks
|
|||
Stage 2: blue sparks
|
||||
Stage 3: big large rainbow sparks
|
||||
*/
|
||||
static void K_SpawnDriftBoostExplosion(player_t *player, int stage)
|
||||
void K_SpawnDriftBoostExplosion(player_t *player, int stage)
|
||||
{
|
||||
mobj_t *overlay = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_DRIFTEXPLODE);
|
||||
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ void K_UpdateDistanceFromFinishLine(player_t *const player);
|
|||
boolean K_CheckPlayersRespawnColliding(INT32 playernum, fixed_t x, fixed_t y);
|
||||
INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue);
|
||||
INT32 K_GetKartDriftSparkValue(player_t *player);
|
||||
void K_SpawnDriftBoostExplosion(player_t *player, int stage);
|
||||
void K_KartUpdatePosition(player_t *player);
|
||||
void K_DropItems(player_t *player);
|
||||
void K_StripItems(player_t *player);
|
||||
|
|
|
|||
|
|
@ -3472,6 +3472,7 @@ static void P_NetArchiveMisc(void)
|
|||
|
||||
WRITEUINT8(save_p, thwompsactive);
|
||||
WRITESINT8(save_p, spbplace);
|
||||
WRITEUINT8(save_p, rainbowstartavailable);
|
||||
|
||||
// Is it paused?
|
||||
if (paused)
|
||||
|
|
@ -3597,6 +3598,7 @@ static inline boolean P_NetUnArchiveMisc(void)
|
|||
|
||||
thwompsactive = (boolean)READUINT8(save_p);
|
||||
spbplace = READSINT8(save_p);
|
||||
rainbowstartavailable = (boolean)READUINT8(save_p);
|
||||
|
||||
// Is it paused?
|
||||
if (READUINT8(save_p) == 0x2f)
|
||||
|
|
|
|||
|
|
@ -2368,6 +2368,7 @@ lumpnum_t lastloadedmaplumpnum; // for comparative savegame
|
|||
static void P_LevelInitStuff(void)
|
||||
{
|
||||
INT32 i;
|
||||
UINT8 p = 0;
|
||||
|
||||
leveltime = 0;
|
||||
|
||||
|
|
@ -2414,6 +2415,9 @@ static void P_LevelInitStuff(void)
|
|||
|
||||
for (i = 0; i < MAXPLAYERS; i++)
|
||||
{
|
||||
if (playeringame[i] && !players[i].spectator)
|
||||
p++;
|
||||
|
||||
if (grandprixinfo.gp == false)
|
||||
{
|
||||
players[i].lives = 3;
|
||||
|
|
@ -2463,6 +2467,11 @@ static void P_LevelInitStuff(void)
|
|||
players[i].follower = NULL;
|
||||
}
|
||||
|
||||
rainbowstartavailable = false;
|
||||
|
||||
if (p >= 2)
|
||||
rainbowstartavailable = true;
|
||||
|
||||
// SRB2Kart: map load variables
|
||||
if (grandprixinfo.gp == true)
|
||||
{
|
||||
|
|
@ -2505,6 +2514,10 @@ static void P_LevelInitStuff(void)
|
|||
|
||||
memset(&battleovertime, 0, sizeof(struct battleovertime));
|
||||
speedscramble = encorescramble = -1;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
|||
|
|
@ -2194,6 +2194,13 @@ static void K_HandleLapIncrement(player_t *player)
|
|||
player->karthud[khud_fault] = 1;
|
||||
player->mo->momx = player->mo->momy = 0;
|
||||
}
|
||||
else if (rainbowstartavailable == true)
|
||||
{
|
||||
S_StartSound(player->mo, sfx_s23c);
|
||||
player->kartstuff[k_driftboost] = 125;
|
||||
K_SpawnDriftBoostExplosion(player, 3);
|
||||
rainbowstartavailable = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue