diff --git a/src/k_kart.c b/src/k_kart.c index 80476eacf..1869eebc9 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -7140,6 +7140,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) else if (player->ringboost) { K_HandleRingDeincrement(player, chainingactive); + K_KartResetPlayerColor(player, true); } K_AirDrop(player, cmd); @@ -7684,13 +7685,23 @@ void K_KartResetPlayerColor(player_t *player, boolean disablecolor) } } - if (player->ringboost && (leveltime & 1)) // ring boosting + if (player->ringboost) { - player->mo->colorized = true; - fullbright = true; - goto finalise; + if (leveltime & 1) // ring boosting + { + player->mo->colorized = true; + fullbright = true; + goto finalise; + } + else + { + player->mo->colorized = (player->dye != 0); + player->mo->color = player->dye ? player->dye : player->skincolor; + goto finalise; + } } - else if (disablecolor || player->dye) + + if (disablecolor || player->dye) { player->mo->colorized = (player->dye != 0); player->mo->color = player->dye ? player->dye : player->skincolor;