From 44555be7043308051a4b5ac100e19d64882ce8d4 Mon Sep 17 00:00:00 2001 From: toaster Date: Sat, 31 Dec 2022 17:57:22 +0000 Subject: [PATCH] Change the conditions for forced retry at end of round - If modeattacking, never - If Sealed Star, if the UFO still exists or the emerald hasn't been picked up --- src/g_game.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index ac0190c4e..156ba98e2 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2915,17 +2915,24 @@ void G_ExitLevel(void) if (gamestate == GS_LEVEL) { UINT8 i; - boolean youlost = false; - if (gametyperules & GTR_BOSS) + boolean doretry = false; + + if (modeattacking != ATTACKING_NONE) + ; + else if (specialstageinfo.valid == true) { - youlost = true; + doretry = (specialstageinfo.ufo != NULL); + } + else if (gametyperules & GTR_BOSS) + { + doretry = true; for (i = 0; i < MAXPLAYERS; i++) { if (playeringame[i] && !players[i].spectator && !players[i].bot) { if (players[i].bumpers > 0) { - youlost = false; + doretry = false; break; } } @@ -2933,10 +2940,10 @@ void G_ExitLevel(void) } else if (grandprixinfo.gp == true && grandprixinfo.eventmode == GPEVENT_NONE) { - youlost = (grandprixinfo.wonround != true); + doretry = (grandprixinfo.wonround != true); } - if (youlost) + if (doretry) { // You didn't win...