From 4794440eea7eece4380f69e9f3541fab9406bd8b Mon Sep 17 00:00:00 2001 From: toaster Date: Mon, 8 Apr 2024 23:11:12 +0100 Subject: [PATCH] FinishTime, FinishTimeExact, FinishTimeLeft conditions: Guarantee all Prison Eggs are broken before awarding Fixes how running out of time activated the Death Egg's Eye challenge Done this way to avoid extensive last minute unlocks.pk3 update --- src/m_cond.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/m_cond.c b/src/m_cond.c index 51b28614b..b4228fe25 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -1822,17 +1822,20 @@ boolean M_CheckCondition(condition_t *cn, player_t *player) case UCRP_FINISHTIME: return (player->exiting && !(player->pflags & PF_NOCONTEST) + && (!battleprisons || numtargets >= maptargets) //&& M_NotFreePlay() && player->realtime <= (unsigned)cn->requirement); case UCRP_FINISHTIMEEXACT: return (player->exiting && !(player->pflags & PF_NOCONTEST) + && (!battleprisons || numtargets >= maptargets) //&& M_NotFreePlay() && player->realtime/TICRATE == (unsigned)cn->requirement/TICRATE); case UCRP_FINISHTIMELEFT: return (timelimitintics && player->exiting && !(player->pflags & PF_NOCONTEST) + && (!battleprisons || numtargets >= maptargets) && !K_CanChangeRules(false) // too easy to change cv_timelimit && player->realtime < timelimitintics && (timelimitintics + extratimeintics + secretextratime - player->realtime) >= (unsigned)cn->requirement);