mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 20:41:46 +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 tic_t mapreset;
|
||||||
extern boolean thwompsactive;
|
extern boolean thwompsactive;
|
||||||
extern SINT8 spbplace;
|
extern SINT8 spbplace;
|
||||||
|
extern boolean rainbowstartavailable;
|
||||||
|
|
||||||
extern tic_t bombflashtimer; // Used to avoid causing seizures if multiple mines explode close to you :)
|
extern tic_t bombflashtimer; // Used to avoid causing seizures if multiple mines explode close to you :)
|
||||||
extern boolean legitimateexit;
|
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
|
tic_t mapreset; // Map reset delay when enough players have joined an empty game
|
||||||
boolean thwompsactive; // Thwomps activate on lap 2
|
boolean thwompsactive; // Thwomps activate on lap 2
|
||||||
SINT8 spbplace; // SPB exists, give the person behind better items
|
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)
|
// 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.
|
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 2: blue sparks
|
||||||
Stage 3: big large rainbow 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);
|
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);
|
boolean K_CheckPlayersRespawnColliding(INT32 playernum, fixed_t x, fixed_t y);
|
||||||
INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue);
|
INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue);
|
||||||
INT32 K_GetKartDriftSparkValue(player_t *player);
|
INT32 K_GetKartDriftSparkValue(player_t *player);
|
||||||
|
void K_SpawnDriftBoostExplosion(player_t *player, int stage);
|
||||||
void K_KartUpdatePosition(player_t *player);
|
void K_KartUpdatePosition(player_t *player);
|
||||||
void K_DropItems(player_t *player);
|
void K_DropItems(player_t *player);
|
||||||
void K_StripItems(player_t *player);
|
void K_StripItems(player_t *player);
|
||||||
|
|
|
||||||
|
|
@ -3472,6 +3472,7 @@ static void P_NetArchiveMisc(void)
|
||||||
|
|
||||||
WRITEUINT8(save_p, thwompsactive);
|
WRITEUINT8(save_p, thwompsactive);
|
||||||
WRITESINT8(save_p, spbplace);
|
WRITESINT8(save_p, spbplace);
|
||||||
|
WRITEUINT8(save_p, rainbowstartavailable);
|
||||||
|
|
||||||
// Is it paused?
|
// Is it paused?
|
||||||
if (paused)
|
if (paused)
|
||||||
|
|
@ -3597,6 +3598,7 @@ static inline boolean P_NetUnArchiveMisc(void)
|
||||||
|
|
||||||
thwompsactive = (boolean)READUINT8(save_p);
|
thwompsactive = (boolean)READUINT8(save_p);
|
||||||
spbplace = READSINT8(save_p);
|
spbplace = READSINT8(save_p);
|
||||||
|
rainbowstartavailable = (boolean)READUINT8(save_p);
|
||||||
|
|
||||||
// Is it paused?
|
// Is it paused?
|
||||||
if (READUINT8(save_p) == 0x2f)
|
if (READUINT8(save_p) == 0x2f)
|
||||||
|
|
|
||||||
|
|
@ -2368,6 +2368,7 @@ lumpnum_t lastloadedmaplumpnum; // for comparative savegame
|
||||||
static void P_LevelInitStuff(void)
|
static void P_LevelInitStuff(void)
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
|
UINT8 p = 0;
|
||||||
|
|
||||||
leveltime = 0;
|
leveltime = 0;
|
||||||
|
|
||||||
|
|
@ -2414,6 +2415,9 @@ static void P_LevelInitStuff(void)
|
||||||
|
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
{
|
{
|
||||||
|
if (playeringame[i] && !players[i].spectator)
|
||||||
|
p++;
|
||||||
|
|
||||||
if (grandprixinfo.gp == false)
|
if (grandprixinfo.gp == false)
|
||||||
{
|
{
|
||||||
players[i].lives = 3;
|
players[i].lives = 3;
|
||||||
|
|
@ -2463,6 +2467,11 @@ static void P_LevelInitStuff(void)
|
||||||
players[i].follower = NULL;
|
players[i].follower = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rainbowstartavailable = false;
|
||||||
|
|
||||||
|
if (p >= 2)
|
||||||
|
rainbowstartavailable = true;
|
||||||
|
|
||||||
// SRB2Kart: map load variables
|
// SRB2Kart: map load variables
|
||||||
if (grandprixinfo.gp == true)
|
if (grandprixinfo.gp == true)
|
||||||
{
|
{
|
||||||
|
|
@ -2505,6 +2514,10 @@ static void P_LevelInitStuff(void)
|
||||||
|
|
||||||
memset(&battleovertime, 0, sizeof(struct battleovertime));
|
memset(&battleovertime, 0, sizeof(struct battleovertime));
|
||||||
speedscramble = encorescramble = -1;
|
speedscramble = encorescramble = -1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -2194,6 +2194,13 @@ static void K_HandleLapIncrement(player_t *player)
|
||||||
player->karthud[khud_fault] = 1;
|
player->karthud[khud_fault] = 1;
|
||||||
player->mo->momx = player->mo->momy = 0;
|
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