5th frame + rainbow colors cycle on the drift explody

This commit is contained in:
James R 2020-07-17 23:44:00 -07:00
parent 65550cc9b7
commit 59c0f99865
5 changed files with 12 additions and 7 deletions

View file

@ -6585,6 +6585,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_DRIFTEXPLODE2",
"S_DRIFTEXPLODE3",
"S_DRIFTEXPLODE4",
"S_DRIFTEXPLODE5",
// Sneaker boost effect
"S_BOOSTFLAME",

View file

@ -2563,7 +2563,8 @@ state_t states[NUMSTATES] =
{SPR_DBOS, FF_FULLBRIGHT, 2, {NULL}, 6, 1, S_DRIFTEXPLODE2}, // S_DRIFTEXPLODE1
{SPR_DBOS, FF_FULLBRIGHT|1, 2, {NULL}, 6, 1, S_DRIFTEXPLODE3}, // S_DRIFTEXPLODE2
{SPR_DBOS, FF_FULLBRIGHT|2, 2, {NULL}, 6, 1, S_DRIFTEXPLODE4}, // S_DRIFTEXPLODE3
{SPR_DBOS, FF_FULLBRIGHT|3, 2, {NULL}, 6, 1, S_DRIFTEXPLODE1}, // S_DRIFTEXPLODE4
{SPR_DBOS, FF_FULLBRIGHT|3, 2, {NULL}, 6, 1, S_DRIFTEXPLODE5}, // S_DRIFTEXPLODE4
{SPR_DBOS, FF_FULLBRIGHT|4, 2, {NULL}, 6, 1, S_DRIFTEXPLODE1}, // S_DRIFTEXPLODE5
{SPR_BOST, FF_FULLBRIGHT|FF_ANIMATE, TICRATE, {NULL}, 6, 1, S_BOOSTSMOKESPAWNER}, // S_BOOSTFLAME
{SPR_NULL, 0, TICRATE/2, {NULL}, 0, 0, S_NULL}, // S_BOOSTSMOKESPAWNER

View file

@ -3246,6 +3246,7 @@ typedef enum state
S_DRIFTEXPLODE2,
S_DRIFTEXPLODE3,
S_DRIFTEXPLODE4,
S_DRIFTEXPLODE5,
// Sneaker boost effect
S_BOOSTFLAME,

View file

@ -6364,7 +6364,7 @@ static void K_KartDrift(player_t *player, boolean onground)
player->kartstuff[k_driftboost] = 15;
overlay->color = SKINCOLOR_GOLD;
overlay->fuse = 8;
overlay->fuse = 10;
}
else if (player->kartstuff[k_driftcharge] >= dsone && player->kartstuff[k_driftcharge] < dstwo)
{
@ -6376,7 +6376,7 @@ static void K_KartDrift(player_t *player, boolean onground)
player->kartstuff[k_driftboost] = 20;
overlay->color = SKINCOLOR_KETCHUP;
overlay->fuse = 16;
overlay->fuse = 20;
}
else if (player->kartstuff[k_driftcharge] < dsthree)
{
@ -6388,7 +6388,7 @@ static void K_KartDrift(player_t *player, boolean onground)
player->kartstuff[k_driftboost] = 50;
overlay->color = SKINCOLOR_SAPPHIRE;
overlay->fuse = 32;
overlay->fuse = 40;
}
else if (player->kartstuff[k_driftcharge] >= dsthree)
{
@ -6400,7 +6400,7 @@ static void K_KartDrift(player_t *player, boolean onground)
player->kartstuff[k_driftboost] = 125;
overlay->color = SKINCOLOR_SILVER;
overlay->fuse = 48;
overlay->fuse = 120;
}
}

View file

@ -8331,10 +8331,12 @@ void P_MobjThinker(mobj_t *mobj)
mobj->modeltilt = mobj->target->modeltilt;
#endif
if (mobj->fuse <= 16)
if (mobj->fuse <= 20)
mobj->color = SKINCOLOR_KETCHUP;
else if (mobj->fuse <= 32)
else if (mobj->fuse <= 40)
mobj->color = SKINCOLOR_SAPPHIRE;
else if (mobj->fuse > 40)
mobj->color = (UINT8)(1 + (leveltime % (MAXSKINCOLORS-1)));
{
player_t *p = NULL;