Make hidden rank system compatible with any gametype in the special stage slot.

This commit is contained in:
Freaky Mutant Man 2025-10-12 17:23:20 +00:00 committed by Eidolon
parent 92c117d186
commit 02a889c265
2 changed files with 2 additions and 3 deletions

View file

@ -5917,7 +5917,7 @@ void G_SetRetryFlag(void)
{
if (retrying == false && grandprixinfo.gp)
{
if (!specialstageinfo.valid)
if (grandprixinfo.eventmode != GPEVENT_SPECIAL)
grandprixinfo.rank.continuesUsed++;
grandprixinfo.rank.levels[grandprixinfo.rank.numLevels].continues++;
}

View file

@ -577,9 +577,8 @@ gp_rank_e K_CalculateGPGrade(gpRank_t *rankData)
// If our last map was Special, check for "uncredited" continues to offset the rank bump.
fixed_t hiddenpercent = percent;
gpRank_level_t *lastgrade = &rankData->levels[rankData->numLevels - 1];
UINT32 id = lastgrade->id;
if (rankData->specialWon && (mapheaderinfo[id-1]->typeoflevel & G_TOLFlag(GT_SPECIAL)))
if (rankData->specialWon)
{
hiddenpercent -= FRACUNIT / RANK_CONTINUE_PENALTY_DIV * lastgrade->continues;
}