diff --git a/src/g_game.c b/src/g_game.c index acf3b9c6d..8b27e6d46 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2441,10 +2441,17 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps) p->botvars.rival = botrival; p->xtralife = xtralife; - if (betweenmaps) + if (betweenmaps) + { p->fakeskin = MAXSKINS; + p->kartspeed = skins[p->skin].kartspeed; + p->kartweight = skins[p->skin].kartweight; + } else + { p->fakeskin = fakeskin; + } + p->lastfakeskin = lastfakeskin; // SRB2kart diff --git a/src/r_skins.c b/src/r_skins.c index fe9007652..3bf406fe3 100644 --- a/src/r_skins.c +++ b/src/r_skins.c @@ -410,6 +410,10 @@ void ClearFakePlayerSkin(player_t* player) if (!P_MobjWasRemoved(player->mo)) { player->mo->skin = &skins[player->skin]; + player->fakeskin = MAXSKINS; + player->kartspeed = skins[player->skin].kartspeed; + player->kartweight = skins[player->skin].kartweight; + player->charflags = skins[player->skin].flags; S_StartSound(player->mo, sfx_s3k9f); K_SpawnMagicianParticles(player->mo, 5); }