diff --git a/src/dehacked.c b/src/dehacked.c index d8a3f6d01..0bdf43324 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -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", diff --git a/src/info.c b/src/info.c index ca367fa75..6a5c93ce1 100644 --- a/src/info.c +++ b/src/info.c @@ -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 diff --git a/src/info.h b/src/info.h index c79f2ae5e..27ec301a7 100644 --- a/src/info.h +++ b/src/info.h @@ -3246,6 +3246,7 @@ typedef enum state S_DRIFTEXPLODE2, S_DRIFTEXPLODE3, S_DRIFTEXPLODE4, + S_DRIFTEXPLODE5, // Sneaker boost effect S_BOOSTFLAME, diff --git a/src/k_kart.c b/src/k_kart.c index 295cdc540..8aba6cf34 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -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; } } diff --git a/src/p_mobj.c b/src/p_mobj.c index 735000db1..971990dc0 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -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;