diff --git a/src/g_game.c b/src/g_game.c index 931388d8..917a8616 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4329,20 +4329,10 @@ void G_GhostTicker(void) switch(g->color) { case GHC_SUPER: // Super Sonic (P_DoSuperStuff) - // Yousa yellow now! - g->mo->color = SKINCOLOR_SUPER1 + (leveltime/2) % 5; - if (g->mo->skin) - switch (((skin_t*)g->mo->skin)-skins) - { - case 1: // Golden orange supertails. - g->mo->color = SKINCOLOR_TSUPER1 + (leveltime/2) % 5; - break; - case 2: // Pink superknux. - g->mo->color = SKINCOLOR_KSUPER1 + (leveltime/2) % 5; - break; - default: - break; - } + if (leveltime % 9 < 5) + g->mo->color = SKINCOLOR_SUPER1 + leveltime % 9; + else + g->mo->color = SKINCOLOR_SUPER1 + 9 - leveltime % 9; break; case GHC_INVINCIBLE: // Mario invincibility (P_CheckInvincibilityTimer) g->mo->color = (UINT8)(leveltime % MAXSKINCOLORS); diff --git a/src/p_user.c b/src/p_user.c index 3d77069a..45e66142 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -3385,13 +3385,22 @@ static void P_DoSuperStuff(player_t *player) switch (player->skin) { case 1: // Golden orange supertails. - player->mo->color = SKINCOLOR_TSUPER1 + (leveltime/2) % 5; + if (leveltime % 9 < 5) + player->mo->color = SKINCOLOR_TSUPER1 + leveltime % 9; + else + player->mo->color = SKINCOLOR_TSUPER1 + 9 - leveltime % 9; break; case 2: // Pink superknux. - player->mo->color = SKINCOLOR_KSUPER1 + (leveltime/2) % 5; + if (leveltime % 9 < 5) + player->mo->color = SKINCOLOR_KSUPER1 + leveltime % 9; + else + player->mo->color = SKINCOLOR_KSUPER1 + 9 - leveltime % 9; break; default: // Yousa yellow now! - player->mo->color = SKINCOLOR_SUPER1 + (leveltime/2) % 5; + if (leveltime % 9 < 5) + player->mo->color = SKINCOLOR_SUPER1 + leveltime % 9; + else + player->mo->color = SKINCOLOR_SUPER1 + 9 - leveltime % 9; break; }