diff --git a/src/g_game.c b/src/g_game.c index 955855f2b..98b03ec6e 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2109,7 +2109,7 @@ void G_Ticker(boolean run) marathontime++; P_MapStart(); - // do player reborns if needed + if (gamestate == GS_LEVEL) { // Or, alternatively, retry. @@ -2127,11 +2127,18 @@ void G_Ticker(boolean run) D_MapChange(gamemap, gametype, (cv_kartencore.value == 1), false, 1, false, false); } + } + // do player reborns if needed + if (G_GamestateUsesLevel() == true) + { for (i = 0; i < MAXPLAYERS; i++) + { if (playeringame[i] && players[i].playerstate == PST_REBORN) G_DoReborn(i); + } } + P_MapEnd(); // do things to change the game state diff --git a/src/p_mobj.c b/src/p_mobj.c index cc0faf8df..66b7011cc 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -11740,7 +11740,9 @@ void P_SpawnPlayer(INT32 playernum) } else if (p->bot) { - if (grandprixinfo.gp == true && grandprixinfo.eventmode != GPEVENT_NONE) + if (K_PodiumSequence() == false + && grandprixinfo.gp == true + && grandprixinfo.eventmode != GPEVENT_NONE) { // Bots aren't supposed to be here. p->spectator = true;