diff --git a/src/m_cond.c b/src/m_cond.c index 9414e73fa..98b1548e3 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -1628,7 +1628,7 @@ boolean M_CheckCondition(condition_t *cn, player_t *player) ) return false; if (cn->extrainfo2 != 0) - return (K_PodiumGrade() >= cn->requirement); + return (K_PodiumGrade() >= cn->extrainfo1); if (cn->extrainfo1 != 0) return (player->position != 0 && player->position <= cn->extrainfo1); diff --git a/src/menus/extras-challenges.c b/src/menus/extras-challenges.c index 8e6395437..0911e9632 100644 --- a/src/menus/extras-challenges.c +++ b/src/menus/extras-challenges.c @@ -792,6 +792,11 @@ boolean M_ChallengesInputs(INT32 ch) if (cv_debugchallenges.value && challengesmenu.currentunlock < MAXUNLOCKABLES && challengesmenu.unlockanim >= UNLOCKTIME && gamedata->unlocked[challengesmenu.currentunlock] == true) { gamedata->unlocked[challengesmenu.currentunlock] = gamedata->unlockpending[challengesmenu.currentunlock] = false; + UINT16 set = unlockables[challengesmenu.currentunlock].conditionset; + if (set > 0 && set <= MAXCONDITIONSETS) + { + gamedata->achieved[set - 1] = false; + } M_UpdateChallengeGridVisuals(); }