From edd3e8bbea03970890aad7451560842eda095934 Mon Sep 17 00:00:00 2001 From: toaster Date: Wed, 18 Oct 2023 00:42:59 +0100 Subject: [PATCH] UCRP_PODIUMNOCONTINUES Fires if no continues have been used (as tracked on the Ceremony Ranking screen) --- src/deh_soc.c | 3 ++- src/m_cond.c | 6 ++++++ src/m_cond.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/deh_soc.c b/src/deh_soc.c index 068ff5e2a..468f1d6c0 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -2891,7 +2891,8 @@ static void readcondition(UINT16 set, UINT32 id, char *word2) } } else if ((offset=0) || fastcmp(params[0], "PODIUMEMERALD") - || (++offset && fastcmp(params[0], "PODIUMPRIZE"))) + || (++offset && fastcmp(params[0], "PODIUMPRIZE")) + || (++offset && fastcmp(params[0], "PODIUMNOCONTINUES"))) { //PARAMCHECK(1); ty = UCRP_PODIUMEMERALD + offset; diff --git a/src/m_cond.c b/src/m_cond.c index 08cb01813..ed0d423be 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -1484,6 +1484,10 @@ boolean M_CheckCondition(condition_t *cn, player_t *player) return (grandprixinfo.gp == true && K_PodiumRanking() == true && grandprixinfo.rank.specialWon == true); + case UCRP_PODIUMNOCONTINUES: + return (grandprixinfo.gp == true + && K_PodiumRanking() == true + && grandprixinfo.rank.continuesUsed == 0); case UCRP_FINISHCOOL: return (player->exiting @@ -2335,6 +2339,8 @@ static const char *M_GetConditionString(condition_t *cn) if (!gamedata->everseenspecial) return "???"; return "collect the prize"; + case UCRP_PODIUMNOCONTINUES: + return "without using any continues"; case UCRP_FINISHCOOL: return "finish in good standing"; diff --git a/src/m_cond.h b/src/m_cond.h index 5ff51018b..6f23f7953 100644 --- a/src/m_cond.h +++ b/src/m_cond.h @@ -92,6 +92,7 @@ typedef enum UCRP_PODIUMCUP, // cup == [cup] [optional: >= grade OR place] UCRP_PODIUMEMERALD, // Get to podium sequence with that cup's emerald UCRP_PODIUMPRIZE, // Get to podium sequence with that cup's bonus (alternate string version of UCRP_PODIUMEMERALD + UCRP_PODIUMNOCONTINUES, // Get to podium sequence without any continues UCRP_FINISHCOOL, // Finish in good standing UCRP_FINISHPERFECT, // Finish a perfect race