Merge branch 'furybike' into 'master'

Fury Bike

See merge request KartKrew/Kart!2273
This commit is contained in:
Oni 2024-04-12 03:41:24 +00:00
commit a7951fc41c
5 changed files with 22 additions and 8 deletions

View file

@ -147,6 +147,7 @@ boolean modifiedgame = false; // Set if homebrew PWAD stuff has been added.
boolean majormods = false; // Set if Lua/Gameplay SOC/replacement map has been added.
boolean savemoddata = false;
boolean usedCheats = false; // Set when a "cheats on" is ever used.
boolean usedTourney = false; // Entered the "Tournament Mode" cheat.
UINT8 paused;
UINT8 modeattacking = ATTACKING_NONE;
boolean imcontinuing = false;

View file

@ -84,6 +84,8 @@ extern tic_t timeinmap; // Ticker for time spent in level (used for levelcard di
extern INT32 pausedelay;
extern boolean pausebreakkey;
extern boolean usedTourney;
extern boolean promptactive;
extern consvar_t cv_tutorialprompt;

View file

@ -3023,6 +3023,11 @@ char *M_BuildConditionSetString(UINT16 unlockid)
}
}
if (usedTourney && unlockables[unlockid].conditionset == 55 && gamedata->unlocked[unlockid] == false)
{
strcpy(message, "Power shrouds this challenge in darkness... (Return here without Tournament Mode!)\0");
}
// Finally, do a clean wordwrap!
return V_ScaledWordWrap(
DESCRIPTIONWIDTH << FRACBITS,

View file

@ -110,6 +110,8 @@ void f_tournament()
{
if (!unlockables[i].conditionset)
continue;
if (unlockables[i].conditionset == 55)
continue;
if (gamedata->unlocked[i])
continue;
@ -146,10 +148,12 @@ void f_tournament()
S_StartSound(0, sfx_kc42);
text = M_GetText(
"All challenges temporarily unlocked.\n"
"Unlocked\x83 almost\x80 everything.\n"
"Saving is disabled - the game will\n"
"return to normal on next launch.\n"
);
usedTourney = true;
}
else
{
@ -158,18 +162,20 @@ void f_tournament()
if (usedCheats)
{
text = M_GetText(
"This is the correct password, but\n"
"you already have every challenge\n"
"unlocked, so nothing has changed.\n"
"This is the correct password,\n"
"but there's nothing to unlock\n"
"right now -- nothing has changed.\n"
);
}
else
{
text = M_GetText(
"This is the correct password, but\n"
"you already have every challenge\n"
"unlocked, so saving is still allowed!\n"
"there's nothing to unlock right\n"
"now, so saving is still allowed!\n"
);
usedTourney = true;
}
}
@ -308,7 +314,7 @@ try_password_e M_TryPassword(const char *password, boolean conditions)
add_job(pw.hash_.data(), &pw);
// Only consider challenges passwords as needed.
if (conditions)
if (conditions && !usedTourney)
iter_conditions([&](condition_t* cn) { add_job((const UINT8*)cn->stringvar, cn); });
try_password_e return_code = M_PW_INVALID;

View file

@ -847,7 +847,7 @@ boolean M_ChallengesInputs(INT32 ch)
{
M_ChallengesTutorial(CCTUTORIAL_MAJORSKIP);
}
else if (M_CanKeyHiliTile())
else if (M_CanKeyHiliTile() && !usedTourney)
{
challengesmenu.chaokeyhold = 1;
}