From e2e022dd6a95eff1f0b69911e3aadfac1bd4ea77 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sun, 22 Oct 2023 16:49:31 -0700 Subject: [PATCH] Rank 1 Master always enters Sealed Star --- src/g_game.c | 5 +++++ src/y_inter.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/g_game.c b/src/g_game.c index 815f903ae..f7436328a 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -3803,6 +3803,11 @@ void G_GetNextMap(void) { // On A rank pace? Then you get a chance for S rank! permitrank = (K_CalculateGPGrade(&grandprixinfo.rank) >= GRADE_A); + + // If you're on Master, a win floats you to rank-restricted levels for free. + // (This is a different class of challenge!) + if (grandprixinfo.masterbots && grandprixinfo.rank.position <= 1) + permitrank = true; } while (roundqueue.position < roundqueue.size diff --git a/src/y_inter.c b/src/y_inter.c index 9856a7df8..bffe5541f 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -306,6 +306,14 @@ static void Y_CalculateMatchData(UINT8 rankingsmode, void (*comparison)(INT32)) * (2 * TICRATE) ) / GRADE_A; + // G_NextMap will float you to rank-restricted stages on Master wins. + // Fudge the rank display. + if (grandprixinfo.masterbots && grandprixinfo.rank.position <= 1) + { + data.showrank = true; + data.linemeter = 2*TICRATE; + } + // A little extra time to take it all in timer += TICRATE; }