mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-17 11:06:30 +00:00
Adjust how major and minor challenges affect percieved challenge completion
- The Chao Medal in the top right corner will be completely filled if you've unlocked everything, even if that was via skips
- You basically never saw the silver Chao Medal. Major challenges *are* designed to be skipped if you don't want to, only 101% should be gruelling (complementary)
- The Scroll Bar at the top will darken pixels of complete columns ever so slightly even if minor challenges aren't yet achieved, to make it easier to find conditions to go back and fulfil if you're truly hunting for everything
This commit is contained in:
parent
56fe6580e2
commit
7c7bfe6054
2 changed files with 15 additions and 9 deletions
|
|
@ -7914,11 +7914,6 @@ static void M_DrawChallengeScrollBar(UINT8 *flashmap)
|
|||
V_DrawFill(barx + hilix, bary-1, hiliw, 1, 0);
|
||||
V_DrawFill(barx + hilix, bary+barh, hiliw, 1, 0);
|
||||
|
||||
INT32 mindiscouragement = 2; // skipping major unlocks is just a LITTLE cringe
|
||||
if (challengesmenu.unlockcount[CMC_PERCENT] == 100
|
||||
&& challengesmenu.unlockcount[CMC_MAJORSKIPPED] == 0)
|
||||
mindiscouragement = 1; // so someone looking for 101% isn't hunting forever
|
||||
|
||||
// unbounded so that we can do the last remaining completionamount draw
|
||||
nextstep = numincolumn = completionamount = skiplevel = 0;
|
||||
for (i = 0; ; i++)
|
||||
|
|
@ -7932,7 +7927,7 @@ static void M_DrawChallengeScrollBar(UINT8 *flashmap)
|
|||
if (completionamount >= numincolumn)
|
||||
{
|
||||
// If any have been skipped, we subtract a little for awareness...
|
||||
completionamount = (skiplevel >= mindiscouragement) ? 9 : 10;
|
||||
completionamount = skiplevel ? 9 : 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -7978,9 +7973,9 @@ static void M_DrawChallengeScrollBar(UINT8 *flashmap)
|
|||
|
||||
unlockable_t *ref = &unlockables[gamedata->challengegrid[i]];
|
||||
|
||||
if (skiplevel < 2 && M_Achieved(ref->conditionset - 1) == false)
|
||||
if (!skiplevel && M_Achieved(ref->conditionset - 1) == false)
|
||||
{
|
||||
skiplevel = ref->majorunlock ? 2 : 1;
|
||||
skiplevel = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,6 +82,10 @@ static void M_UpdateChallengeGridVisuals(void)
|
|||
|
||||
challengesmenu.unlockcount[CMC_UNLOCKED] = 0;
|
||||
challengesmenu.unlockcount[CMC_TOTAL] = 0;
|
||||
challengesmenu.unlockcount[CMC_KEYED] = 0;
|
||||
challengesmenu.unlockcount[CMC_MAJORSKIPPED] = 0;
|
||||
|
||||
//#define MAJORDISTINCTION -- The "basic" medal is basically never seen because Major challenges are usually completed last before 101%. Correct that with this
|
||||
|
||||
for (i = 0; i < MAXUNLOCKABLES; i++)
|
||||
{
|
||||
|
|
@ -106,12 +110,14 @@ static void M_UpdateChallengeGridVisuals(void)
|
|||
|
||||
challengesmenu.unlockcount[CMC_KEYED]++;
|
||||
|
||||
#ifdef MAJORDISTINCTION
|
||||
if (unlockables[i].majorunlock == false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
challengesmenu.unlockcount[CMC_MAJORSKIPPED]++;
|
||||
#endif
|
||||
}
|
||||
|
||||
challengesmenu.unlockcount[CMC_PERCENT] =
|
||||
|
|
@ -125,7 +131,9 @@ static void M_UpdateChallengeGridVisuals(void)
|
|||
challengesmenu.unlockcount[CMC_MEDALFILLED] =
|
||||
(medalheight * (
|
||||
challengesmenu.unlockcount[CMC_UNLOCKED]
|
||||
#ifdef MAJORDISTINCTION
|
||||
- challengesmenu.unlockcount[CMC_MAJORSKIPPED]
|
||||
#endif
|
||||
)) / challengesmenu.unlockcount[CMC_TOTAL];
|
||||
|
||||
if (challengesmenu.unlockcount[CMC_PERCENT] == 100)
|
||||
|
|
@ -135,7 +143,10 @@ static void M_UpdateChallengeGridVisuals(void)
|
|||
challengesmenu.unlockcount[CMC_MEDALID] = 2;
|
||||
challengesmenu.unlockcount[CMC_PERCENT]++; // 101%
|
||||
}
|
||||
else if (challengesmenu.unlockcount[CMC_MAJORSKIPPED] == 0)
|
||||
else
|
||||
#ifdef MAJORDISTINCTION
|
||||
if (challengesmenu.unlockcount[CMC_MAJORSKIPPED] == 0)
|
||||
#endif
|
||||
{
|
||||
challengesmenu.unlockcount[CMC_MEDALID] = 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue