diff --git a/src/p_mobj.c b/src/p_mobj.c index 24d881471..b5bb16c45 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -11735,7 +11735,11 @@ void P_SpawnPlayer(INT32 playernum) mobj->health = 1; p->playerstate = PST_LIVE; - p->realtime = leveltime; + if (!p->exiting || !p->realtime) + { + p->realtime = leveltime; + } + p->followitem = skins[p->skin].followitem; //awayview stuff diff --git a/src/p_user.c b/src/p_user.c index d626e1e19..c00991850 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -2664,7 +2664,7 @@ static void P_DeathThink(player_t *player) } // Keep time rolling - if (!(exitcountdown && !racecountdown) && !(player->exiting || mapreset) && !(player->pflags & PF_NOCONTEST) && !stoppedclock) + if (!(player->exiting || mapreset) && !(player->pflags & PF_NOCONTEST) && !stoppedclock) { if (leveltime >= starttime) { @@ -4023,7 +4023,7 @@ void P_PlayerThink(player_t *player) } // Synchronizes the "real" amount of time spent in the level. - if (!(exitcountdown && !racecountdown) && !(player->exiting || mapreset) && !(player->pflags & PF_NOCONTEST) && !stoppedclock) + if (!(player->exiting || mapreset) && !(player->pflags & PF_NOCONTEST) && !stoppedclock) { if (leveltime >= starttime) {