Toggle for singleplayer itembreaker

This commit is contained in:
NepDisk 2025-03-22 17:08:20 -04:00
parent 7270ae178d
commit 247b566275
5 changed files with 29 additions and 3 deletions

View file

@ -150,6 +150,7 @@ static void KartEncore_OnChange(void);
static void KartComeback_OnChange(void);
static void KartEliminateLast_OnChange(void);
static void KartRings_OnChange(void);
static void KartItemBreaker_OnChange(void);
static void Schedule_OnChange(void);
@ -435,6 +436,8 @@ consvar_t cv_karteliminatelast = CVAR_INIT ("karteliminatelast", "Yes", CV_NETVA
// Toggles for new features
consvar_t cv_kartrings = CVAR_INIT ("kartrings", "No", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_YesNo, KartRings_OnChange);
consvar_t cv_kartitembreaker = CVAR_INIT ("kartitembreaker", "No", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_YesNo, KartItemBreaker_OnChange);
consvar_t cv_kartwalltransfer = CVAR_INIT ("BG_forcewalltransfer", "Off", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL);
consvar_t cv_kartusepwrlv = CVAR_INIT ("kartusepwrlv", "Yes", CV_NETVAR|CV_CHEAT, CV_YesNo, NULL);
@ -6903,6 +6906,23 @@ static void KartRings_OnChange(void)
}
}
static void KartItemBreaker_OnChange(void)
{
if (K_CanChangeRules() == false)
{
return;
}
if (cv_kartitembreaker.value)
{
CONS_Printf(M_GetText("Singleplayer Item Breaker will be turned \"On\" Next Round.\n"));
}
else
{
CONS_Printf(M_GetText("Singleplayer Item Breaker will be turned \"Off\" Next Round.\n"));
}
}
static void Schedule_OnChange(void)
{
size_t i;

View file

@ -96,6 +96,7 @@ extern consvar_t cv_kartbot;
extern consvar_t cv_karteliminatelast;
extern consvar_t cv_kartusepwrlv;
extern consvar_t cv_kartrings;
extern consvar_t cv_kartitembreaker;
extern consvar_t cv_kartwalltransfer;
extern consvar_t cv_kartpurpledrift;
extern consvar_t cv_kartbumpspark;

View file

@ -491,6 +491,9 @@ void K_BattleInit(void)
{
UINT8 n = 0;
if (!cv_kartitembreaker.value)
goto afteritembreaker;
for (i = 0; i < MAXPLAYERS; i++)
{
if (!playeringame[i] || players[i].spectator)

View file

@ -251,6 +251,7 @@ void K_RegisterKartStuff(void)
CV_RegisterVar(&cv_lessflicker);
CV_RegisterVar(&cv_kartrings);
CV_RegisterVar(&cv_kartitembreaker);
CV_RegisterVar(&cv_newspeedometer);
CV_RegisterVar(&cv_showinput);

View file

@ -1517,9 +1517,10 @@ static menuitem_t OP_GameOptionsMenu[] =
static menuitem_t OP_BlanKartGameOptionsMenu[] =
{
{IT_STRING | IT_CVAR, NULL, "Rings", {.cvar = &cv_kartrings}, 10},
{IT_STRING | IT_CVAR, NULL, "Purple Drift", {.cvar = &cv_kartpurpledrift}, 20},
{IT_STRING | IT_CVAR, NULL, "Bump Spark", {.cvar = &cv_kartbumpspark}, 30},
{IT_STRING | IT_CVAR, NULL, "Bump Spring", {.cvar = &cv_kartbumpspring}, 40},
{IT_STRING | IT_CVAR, NULL, "Item Breaker", {.cvar = &cv_kartitembreaker}, 20},
{IT_STRING | IT_CVAR, NULL, "Purple Drift", {.cvar = &cv_kartpurpledrift}, 30},
{IT_STRING | IT_CVAR, NULL, "Bump Spark", {.cvar = &cv_kartbumpspark}, 40},
{IT_STRING | IT_CVAR, NULL, "Bump Spring", {.cvar = &cv_kartbumpspring}, 50},
};