diff --git a/src/g_game.c b/src/g_game.c index 0d89c364321545b2ebe733a582f39b493b696477..4ef3d44a88b7f429f2dbbed65416d8449c8f7734 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2533,42 +2533,44 @@ void G_DoReborn(INT32 playernum) resetlevel = true; else if (gametype == GT_COOP && (netgame || multiplayer)) { - if (cv_cooplives.value == 0) - ; - else if (player->lives <= 0) // consider game over first + boolean notgameover = true; + + if (cv_cooplives.value != 0 && player->lives <= 0) // consider game over first { - INT32 deadtimercheck = INT32_MAX; for (i = 0; i < MAXPLAYERS; i++) { if (!playeringame[i]) continue; if (players[i].exiting || players[i].lives > 0) break; - if (players[i].playerstate == PST_DEAD && players[i].deadtimer < deadtimercheck) - deadtimercheck = players[i].deadtimer; } - if (!countdown2 && i == MAXPLAYERS && deadtimercheck >= 8*TICRATE) + if (i == MAXPLAYERS) { - // They're dead, Jim. - //nextmapoverride = spstage_start; - nextmapoverride = gamemap; - countdown2 = TICRATE; - skipstats = true; - - for (i = 0; i < MAXPLAYERS; i++) + notgameover = false; + if (!countdown2) { - if (playeringame[i]) - players[i].score = 0; - } + // They're dead, Jim. + //nextmapoverride = spstage_start; + nextmapoverride = gamemap; + countdown2 = TICRATE; + skipstats = true; - //emeralds = 0; - tokenbits = 0; - tokenlist = 0; - token = 0; + for (i = 0; i < MAXPLAYERS; i++) + { + if (playeringame[i]) + players[i].score = 0; + } + + //emeralds = 0; + tokenbits = 0; + tokenlist = 0; + token = 0; + } } } - if (cv_coopstarposts.value == 2) + + if (notgameover && cv_coopstarposts.value == 2) { for (i = 0; i < MAXPLAYERS; i++) {