Changed all instances of "balloon" to "bumper"

Also changed "It's you!" to "Select character & color..."
This commit is contained in:
SeventhSentinel 2018-07-03 15:14:47 -04:00
parent 249bb594d8
commit 80c2b56927
21 changed files with 211 additions and 208 deletions

1
bin/Mingw/Release/null Normal file
View file

@ -0,0 +1 @@
Press any key to continue . . .

Binary file not shown.

View file

@ -0,0 +1 @@
Press any key to continue . . .

View file

@ -2494,7 +2494,7 @@ static void CL_RemovePlayer(INT32 playernum)
if (G_TagGametype()) //Check if you still have a game. Location flexible. =P if (G_TagGametype()) //Check if you still have a game. Location flexible. =P
P_CheckSurvivors(); P_CheckSurvivors();
else if (G_BattleGametype()) // SRB2Kart else if (G_BattleGametype()) // SRB2Kart
K_CheckBalloons(); K_CheckBumpers();
else if (G_RaceGametype()) else if (G_RaceGametype())
P_CheckRacers(); P_CheckRacers();
} }

View file

@ -358,8 +358,8 @@ consvar_t cv_kartcheck = {"kartcheck", "Yes", CV_SAVE, CV_YesNo, NULL, 0, NULL,
static CV_PossibleValue_t kartinvinsfx_cons_t[] = {{0, "Music"}, {1, "SFX"}, {0, NULL}}; static CV_PossibleValue_t kartinvinsfx_cons_t[] = {{0, "Music"}, {1, "SFX"}, {0, NULL}};
consvar_t cv_kartinvinsfx = {"kartinvinsfx", "SFX", CV_SAVE, kartinvinsfx_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_kartinvinsfx = {"kartinvinsfx", "SFX", CV_SAVE, kartinvinsfx_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_kartspeed = {"kartspeed", "Normal", CV_NETVAR|CV_CALL|CV_NOINIT, kartspeed_cons_t, KartSpeed_OnChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_kartspeed = {"kartspeed", "Normal", CV_NETVAR|CV_CALL|CV_NOINIT, kartspeed_cons_t, KartSpeed_OnChange, 0, NULL, NULL, 0, 0, NULL};
static CV_PossibleValue_t kartballoons_cons_t[] = {{1, "MIN"}, {12, "MAX"}, {0, NULL}}; static CV_PossibleValue_t kartbumpers_cons_t[] = {{1, "MIN"}, {12, "MAX"}, {0, NULL}};
consvar_t cv_kartballoons = {"kartballoons", "3", CV_NETVAR|CV_CHEAT, kartballoons_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_kartbumpers = {"kartbumpers", "3", CV_NETVAR|CV_CHEAT, kartbumpers_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_kartfrantic = {"kartfrantic", "Off", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartFrantic_OnChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_kartfrantic = {"kartfrantic", "Off", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartFrantic_OnChange, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_kartcomeback = {"kartcomeback", "On", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartComeback_OnChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_kartcomeback = {"kartcomeback", "On", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartComeback_OnChange, 0, NULL, NULL, 0, 0, NULL};
consvar_t cv_kartmirror = {"kartmirror", "Off", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartMirror_OnChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_kartmirror = {"kartmirror", "Off", CV_NETVAR|CV_CHEAT|CV_CALL|CV_NOINIT, CV_OnOff, KartMirror_OnChange, 0, NULL, NULL, 0, 0, NULL};
@ -2360,7 +2360,7 @@ static void Command_Suicide(void)
return; return;
} }
/*if (!G_RaceGametype()) // srb2kart: not necessary, suiciding makes you lose a balloon in battle, so it's not desirable to use as a way to escape a hit /*if (!G_RaceGametype()) // srb2kart: not necessary, suiciding makes you lose a bumper in battle, so it's not desirable to use as a way to escape a hit
{ {
CONS_Printf(M_GetText("You may only use this in co-op, race, and competition!\n")); CONS_Printf(M_GetText("You may only use this in co-op, race, and competition!\n"));
return; return;
@ -3255,7 +3255,7 @@ static void Got_Teamchange(UINT8 **cp, INT32 playernum)
if (G_TagGametype()) if (G_TagGametype())
P_CheckSurvivors(); P_CheckSurvivors();
else if (G_BattleGametype()) else if (G_BattleGametype())
K_CheckBalloons(); // SRB2Kart K_CheckBumpers(); // SRB2Kart
else if (G_RaceGametype()) else if (G_RaceGametype())
P_CheckRacers(); // also SRB2Kart P_CheckRacers(); // also SRB2Kart
} }

View file

@ -121,7 +121,7 @@ extern consvar_t cv_kartminimap;
extern consvar_t cv_kartcheck; extern consvar_t cv_kartcheck;
extern consvar_t cv_kartinvinsfx; extern consvar_t cv_kartinvinsfx;
extern consvar_t cv_kartspeed; extern consvar_t cv_kartspeed;
extern consvar_t cv_kartballoons; extern consvar_t cv_kartbumpers;
extern consvar_t cv_kartfrantic; extern consvar_t cv_kartfrantic;
extern consvar_t cv_kartcomeback; extern consvar_t cv_kartcomeback;
extern consvar_t cv_kartmirror; extern consvar_t cv_kartmirror;

View file

@ -321,8 +321,8 @@ typedef enum
k_sadtimer, // How long you've been sad k_sadtimer, // How long you've been sad
// Battle Mode vars // Battle Mode vars
k_balloon, // Number of balloons left k_bumper, // Number of bumpers left
k_comebackpoints, // Number of times you've bombed or gave an item to someone; once it's 3 it gets set back to 0 and you're given a balloon k_comebackpoints, // Number of times you've bombed or gave an item to someone; once it's 3 it gets set back to 0 and you're given a bumper
k_comebackmode, // 0 = bomb, 1 = item k_comebackmode, // 0 = bomb, 1 = item
k_wanted, // Timer for determining WANTED status, lowers when hitting people, prevents the game turning into Camp Lazlo k_wanted, // Timer for determining WANTED status, lowers when hitting people, prevents the game turning into Camp Lazlo

View file

@ -6426,10 +6426,10 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_SINKTRAIL2", "S_SINKTRAIL2",
"S_SINKTRAIL3", "S_SINKTRAIL3",
// Battle Mode balloon // Battle Mode bumper
"S_BATTLEBALLOON1", "S_BATTLEBUMPER1",
"S_BATTLEBALLOON2", "S_BATTLEBUMPER2",
"S_BATTLEBALLOON3", "S_BATTLEBUMPER3",
// DEZ respawn laser // DEZ respawn laser
"S_DEZLASER", "S_DEZLASER",
@ -6512,8 +6512,8 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_DOOD_BOX4", "S_DOOD_BOX4",
"S_DOOD_BOX5", "S_DOOD_BOX5",
// D00Dkart - Diddy Kong Racing Balloon // D00Dkart - Diddy Kong Racing Bumper
"S_DOOD_BALLOON", "S_DOOD_BUMPER",
// Chaotix Big Ring // Chaotix Big Ring
"S_BIGRING01", "S_BIGRING01",
@ -7171,7 +7171,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_SINK", // Kitchen Sink Stuff "MT_SINK", // Kitchen Sink Stuff
"MT_SINKTRAIL", "MT_SINKTRAIL",
"MT_BATTLEBALLOON", // Battle Mode balloon "MT_BATTLEBUMPER", // Battle Mode bumper
"MT_DEZLASER", "MT_DEZLASER",
@ -7208,7 +7208,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_DOOD_FLOWER3", "MT_DOOD_FLOWER3",
"MT_DOOD_FLOWER4", "MT_DOOD_FLOWER4",
"MT_DOOD_BOX", "MT_DOOD_BOX",
"MT_DOOD_BALLOON", "MT_DOOD_BUMPER",
"MT_BIGRING", "MT_BIGRING",
"MT_SNES_DONUTBUSH1", "MT_SNES_DONUTBUSH1",
@ -7621,7 +7621,7 @@ static const char *const KARTSTUFF_LIST[] = {
"SADTIMER", "SADTIMER",
// Battle Mode vars // Battle Mode vars
"BALLOON", "BUMPER",
"COMEBACKPOINTS", "COMEBACKPOINTS",
"COMEBACKMODE", "COMEBACKMODE",
}; };

View file

@ -1813,7 +1813,7 @@ boolean G_Responder(event_t *ev)
// SRB2Kart: Ehhh, who cares, Mario Kart's designed around screen-cheating anyway // SRB2Kart: Ehhh, who cares, Mario Kart's designed around screen-cheating anyway
/*if (gametype != GT_RACE) /*if (gametype != GT_RACE)
{ {
if (players[consoleplayer].kartstuff[k_balloon] > 0) if (players[consoleplayer].kartstuff[k_bumper] > 0)
continue; continue;
}*/ }*/
@ -2294,7 +2294,7 @@ void G_PlayerReborn(INT32 player)
// SRB2kart // SRB2kart
INT32 starpostwp; INT32 starpostwp;
INT32 balloon; INT32 bumper;
INT32 comebackpoints; INT32 comebackpoints;
INT32 wanted; INT32 wanted;
@ -2351,7 +2351,7 @@ void G_PlayerReborn(INT32 player)
// SRB2kart // SRB2kart
starpostwp = players[player].kartstuff[k_starpostwp]; starpostwp = players[player].kartstuff[k_starpostwp];
balloon = players[player].kartstuff[k_balloon]; bumper = players[player].kartstuff[k_bumper];
comebackpoints = players[player].kartstuff[k_comebackpoints]; comebackpoints = players[player].kartstuff[k_comebackpoints];
wanted = players[player].kartstuff[k_wanted]; wanted = players[player].kartstuff[k_wanted];
@ -2409,7 +2409,7 @@ void G_PlayerReborn(INT32 player)
// SRB2kart // SRB2kart
p->kartstuff[k_starpostwp] = starpostwp; // TODO: get these out of kartstuff, it causes desync p->kartstuff[k_starpostwp] = starpostwp; // TODO: get these out of kartstuff, it causes desync
p->kartstuff[k_balloon] = balloon; p->kartstuff[k_bumper] = bumper;
p->kartstuff[k_comebackpoints] = comebackpoints; p->kartstuff[k_comebackpoints] = comebackpoints;
p->kartstuff[k_comebacktimer] = comebacktime; p->kartstuff[k_comebacktimer] = comebacktime;
p->kartstuff[k_wanted] = wanted; p->kartstuff[k_wanted] = wanted;

View file

@ -2752,9 +2752,9 @@ state_t states[NUMSTATES] =
{SPR_SITR, 1, 5, {NULL}, 0, 0, S_SINKTRAIL3}, // S_SINKTRAIL2 {SPR_SITR, 1, 5, {NULL}, 0, 0, S_SINKTRAIL3}, // S_SINKTRAIL2
{SPR_SITR, 2, 3, {NULL}, 0, 0, S_NULL}, // S_SINKTRAIL3 {SPR_SITR, 2, 3, {NULL}, 0, 0, S_NULL}, // S_SINKTRAIL3
{SPR_KBLN, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_BATTLEBALLOON1}, // S_BATTLEBALLOON1 {SPR_KBLN, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_BATTLEBUMPER1}, // S_BATTLEBUMPER1
{SPR_KBLN, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_BATTLEBALLOON2}, // S_BATTLEBALLOON2 {SPR_KBLN, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_BATTLEBUMPER2}, // S_BATTLEBUMPER2
{SPR_KBLN, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_BATTLEBALLOON3}, // S_BATTLEBALLOON3 {SPR_KBLN, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_BATTLEBUMPER3}, // S_BATTLEBUMPER3
{SPR_DEZL, FF_FULLBRIGHT|FF_PAPERSPRITE, 8, {NULL}, 0, 0, S_NULL}, // S_DEZLASER {SPR_DEZL, FF_FULLBRIGHT|FF_PAPERSPRITE, 8, {NULL}, 0, 0, S_NULL}, // S_DEZLASER
@ -2833,7 +2833,7 @@ state_t states[NUMSTATES] =
{SPR_DOOD, 9, 2, {NULL}, 0, 0, S_DOOD_BOX5}, // S_DOOD_BOX4 {SPR_DOOD, 9, 2, {NULL}, 0, 0, S_DOOD_BOX5}, // S_DOOD_BOX4
{SPR_DOOD, 10, 2, {NULL}, 0, 0, S_DOOD_BOX1}, // S_DOOD_BOX5 {SPR_DOOD, 10, 2, {NULL}, 0, 0, S_DOOD_BOX1}, // S_DOOD_BOX5
{SPR_DOOD, 11, -1, {NULL}, 0, 0, S_NULL}, // S_DOOD_BALLOON {SPR_DOOD, 11, -1, {NULL}, 0, 0, S_NULL}, // S_DOOD_BUMPER
{SPR_BRNG, 0, 2, {NULL}, 0, 0, S_BIGRING02}, // S_BIGRING01 {SPR_BRNG, 0, 2, {NULL}, 0, 0, S_BIGRING02}, // S_BIGRING01
{SPR_BRNG, 1, 2, {NULL}, 0, 0, S_BIGRING03}, // S_BIGRING02 {SPR_BRNG, 1, 2, {NULL}, 0, 0, S_BIGRING03}, // S_BIGRING02
@ -15056,9 +15056,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_BATTLEBALLOON { // MT_BATTLEBUMPER
-1, // doomednum -1, // doomednum
S_BATTLEBALLOON1,// spawnstate S_BATTLEBUMPER1,// spawnstate
1000, // spawnhealth 1000, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_None, // seesound sfx_None, // seesound
@ -15866,9 +15866,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_DOOD_BALLOON { // MT_DOOD_BUMPER
2807, // doomednum 2807, // doomednum
S_DOOD_BALLOON, // spawnstate S_DOOD_BUMPER, // spawnstate
1000, // spawnhealth 1000, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_None, // seesound sfx_None, // seesound

View file

@ -599,7 +599,7 @@ typedef enum sprite
SPR_LIGH, // Grow/shrink beams (Metallic Maddness) SPR_LIGH, // Grow/shrink beams (Metallic Maddness)
SPR_SINK, // Kitchen Sink SPR_SINK, // Kitchen Sink
SPR_SITR, // Kitchen Sink Trail SPR_SITR, // Kitchen Sink Trail
SPR_KBLN, // Battle Mode Balloon SPR_KBLN, // Battle Mode Bumper
SPR_DEZL, // DEZ Laser respawn SPR_DEZL, // DEZ Laser respawn
@ -3273,10 +3273,10 @@ typedef enum state
S_SINKTRAIL2, S_SINKTRAIL2,
S_SINKTRAIL3, S_SINKTRAIL3,
// Battle Mode balloons // Battle Mode bumpers
S_BATTLEBALLOON1, S_BATTLEBUMPER1,
S_BATTLEBALLOON2, S_BATTLEBUMPER2,
S_BATTLEBALLOON3, S_BATTLEBUMPER3,
// DEZ Laser respawn // DEZ Laser respawn
S_DEZLASER, S_DEZLASER,
@ -3359,8 +3359,8 @@ typedef enum state
S_DOOD_BOX4, S_DOOD_BOX4,
S_DOOD_BOX5, S_DOOD_BOX5,
// D00Dkart - Diddy Kong Racing Balloon // D00Dkart - Diddy Kong Racing Bumper
S_DOOD_BALLOON, S_DOOD_BUMPER,
// Chaotix Big Ring // Chaotix Big Ring
S_BIGRING01, S_BIGRING01,
@ -4035,7 +4035,7 @@ typedef enum mobj_type
MT_SINK, // Kitchen Sink Stuff MT_SINK, // Kitchen Sink Stuff
MT_SINKTRAIL, MT_SINKTRAIL,
MT_BATTLEBALLOON, // Battle Mode balloons MT_BATTLEBUMPER, // Battle Mode bumpers
MT_DEZLASER, MT_DEZLASER,
@ -4072,7 +4072,7 @@ typedef enum mobj_type
MT_DOOD_FLOWER3, MT_DOOD_FLOWER3,
MT_DOOD_FLOWER4, MT_DOOD_FLOWER4,
MT_DOOD_BOX, MT_DOOD_BOX,
MT_DOOD_BALLOON, MT_DOOD_BUMPER,
MT_BIGRING, MT_BIGRING,
MT_SNES_DONUTBUSH1, MT_SNES_DONUTBUSH1,

View file

@ -396,7 +396,7 @@ void K_RegisterKartStuff(void)
CV_RegisterVar(&cv_kartcheck); CV_RegisterVar(&cv_kartcheck);
CV_RegisterVar(&cv_kartinvinsfx); CV_RegisterVar(&cv_kartinvinsfx);
CV_RegisterVar(&cv_kartspeed); CV_RegisterVar(&cv_kartspeed);
CV_RegisterVar(&cv_kartballoons); CV_RegisterVar(&cv_kartbumpers);
CV_RegisterVar(&cv_kartfrantic); CV_RegisterVar(&cv_kartfrantic);
CV_RegisterVar(&cv_kartcomeback); CV_RegisterVar(&cv_kartcomeback);
CV_RegisterVar(&cv_kartmirror); CV_RegisterVar(&cv_kartmirror);
@ -725,7 +725,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd)
INT32 pdis = 0, useodds = 0; INT32 pdis = 0, useodds = 0;
INT32 spawnchance[NUMKARTRESULTS * NUMKARTODDS]; INT32 spawnchance[NUMKARTRESULTS * NUMKARTODDS];
INT32 chance = 0, numchoices = 0; INT32 chance = 0, numchoices = 0;
INT32 avgballoon = 0; INT32 avgbumper = 0;
boolean oddsvalid[9]; boolean oddsvalid[9];
UINT8 disttable[14]; UINT8 disttable[14];
UINT8 distlen = 0; UINT8 distlen = 0;
@ -743,12 +743,12 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd)
if (!playeringame[i] || players[i].spectator) if (!playeringame[i] || players[i].spectator)
continue; continue;
pingame++; pingame++;
if (players[i].kartstuff[k_balloon] > 0) if (players[i].kartstuff[k_bumper] > 0)
avgballoon += players[i].kartstuff[k_balloon]; avgbumper += players[i].kartstuff[k_bumper];
} }
if (pingame) if (pingame)
avgballoon /= pingame; avgbumper /= pingame;
// This makes the roulette produce the random noises. // This makes the roulette produce the random noises.
if ((player->kartstuff[k_itemroulette] % 3) == 1 && P_IsLocalPlayer(player)) if ((player->kartstuff[k_itemroulette] % 3) == 1 && P_IsLocalPlayer(player))
@ -826,7 +826,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd)
useodds = 3; useodds = 3;
else else
{ {
SINT8 wantedpos = (player->kartstuff[k_balloon]-avgballoon)+2; // 0 is two balloons below average, 2 is average SINT8 wantedpos = (player->kartstuff[k_bumper]-avgbumper)+2; // 0 is two bumpers below average, 2 is average
if (wantedpos > 2) if (wantedpos > 2)
wantedpos = 2; wantedpos = 2;
if (wantedpos < 0) if (wantedpos < 0)
@ -1386,7 +1386,7 @@ fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower)
break; break;
} }
if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0) if (G_BattleGametype() && player->kartstuff[k_bumper] <= 0)
kartspeed = 1; kartspeed = 1;
k_speed += kartspeed*3; // 153 - 177 k_speed += kartspeed*3; // 153 - 177
@ -1403,7 +1403,7 @@ fixed_t K_GetKartAccel(player_t *player)
fixed_t k_accel = 32; // 36; fixed_t k_accel = 32; // 36;
UINT8 kartspeed = player->kartspeed; UINT8 kartspeed = player->kartspeed;
if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0) if (G_BattleGametype() && player->kartstuff[k_bumper] <= 0)
kartspeed = 1; kartspeed = 1;
//k_accel += 3 * (9 - kartspeed); // 36 - 60 //k_accel += 3 * (9 - kartspeed); // 36 - 60
@ -1466,7 +1466,7 @@ void K_SpinPlayer(player_t *player, mobj_t *source, INT32 type, boolean trapitem
if (player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_spinouttimer] > 0 if (player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_spinouttimer] > 0
|| player->kartstuff[k_invincibilitytimer] > 0 || player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_hyudorotimer] > 0 || player->kartstuff[k_invincibilitytimer] > 0 || player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_hyudorotimer] > 0
|| (G_BattleGametype() && ((player->kartstuff[k_balloon] <= 0 && player->kartstuff[k_comebacktimer]) || player->kartstuff[k_comebackmode] == 1))) || (G_BattleGametype() && ((player->kartstuff[k_bumper] <= 0 && player->kartstuff[k_comebacktimer]) || player->kartstuff[k_comebackmode] == 1)))
return; return;
if (source && source != player->mo && source->player) if (source && source != player->mo && source->player)
@ -1487,22 +1487,22 @@ void K_SpinPlayer(player_t *player, mobj_t *source, INT32 type, boolean trapitem
} }
} }
if (player->kartstuff[k_balloon] > 0) if (player->kartstuff[k_bumper] > 0)
{ {
if (player->kartstuff[k_balloon] == 1) if (player->kartstuff[k_bumper] == 1)
{ {
mobj_t *karmahitbox = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_KARMAHITBOX); // Player hitbox is too small!! mobj_t *karmahitbox = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_KARMAHITBOX); // Player hitbox is too small!!
P_SetTarget(&karmahitbox->target, player->mo); P_SetTarget(&karmahitbox->target, player->mo);
karmahitbox->destscale = player->mo->scale; karmahitbox->destscale = player->mo->scale;
P_SetScale(karmahitbox, player->mo->scale); P_SetScale(karmahitbox, player->mo->scale);
CONS_Printf(M_GetText("%s lost all of their balloons!\n"), player_names[player-players]); CONS_Printf(M_GetText("%s lost all of their bumpers!\n"), player_names[player-players]);
if (K_IsPlayerWanted(player)) if (K_IsPlayerWanted(player))
K_CalculateBattleWanted(); K_CalculateBattleWanted();
} }
player->kartstuff[k_balloon]--; player->kartstuff[k_bumper]--;
} }
K_CheckBalloons(); K_CheckBumpers();
} }
player->kartstuff[k_comebacktimer] = comebacktime; player->kartstuff[k_comebacktimer] = comebacktime;
@ -1539,7 +1539,7 @@ void K_SquishPlayer(player_t *player, mobj_t *source)
if (player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_invincibilitytimer] > 0 if (player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_invincibilitytimer] > 0
|| player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_hyudorotimer] > 0 || player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_hyudorotimer] > 0
|| (G_BattleGametype() && ((player->kartstuff[k_balloon] <= 0 && player->kartstuff[k_comebacktimer]) || player->kartstuff[k_comebackmode] == 1))) || (G_BattleGametype() && ((player->kartstuff[k_bumper] <= 0 && player->kartstuff[k_comebacktimer]) || player->kartstuff[k_comebackmode] == 1)))
return; return;
player->kartstuff[k_sneakertimer] = 0; player->kartstuff[k_sneakertimer] = 0;
@ -1554,22 +1554,22 @@ void K_SquishPlayer(player_t *player, mobj_t *source)
player->kartstuff[k_wanted] -= (wantedreduce/2); player->kartstuff[k_wanted] -= (wantedreduce/2);
} }
if (player->kartstuff[k_balloon] > 0) if (player->kartstuff[k_bumper] > 0)
{ {
if (player->kartstuff[k_balloon] == 1) if (player->kartstuff[k_bumper] == 1)
{ {
mobj_t *karmahitbox = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_KARMAHITBOX); // Player hitbox is too small!! mobj_t *karmahitbox = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_KARMAHITBOX); // Player hitbox is too small!!
P_SetTarget(&karmahitbox->target, player->mo); P_SetTarget(&karmahitbox->target, player->mo);
karmahitbox->destscale = player->mo->scale; karmahitbox->destscale = player->mo->scale;
P_SetScale(karmahitbox, player->mo->scale); P_SetScale(karmahitbox, player->mo->scale);
CONS_Printf(M_GetText("%s lost all of their balloons!\n"), player_names[player-players]); CONS_Printf(M_GetText("%s lost all of their bumpers!\n"), player_names[player-players]);
if (K_IsPlayerWanted(player)) if (K_IsPlayerWanted(player))
K_CalculateBattleWanted(); K_CalculateBattleWanted();
} }
player->kartstuff[k_balloon]--; player->kartstuff[k_bumper]--;
} }
K_CheckBalloons(); K_CheckBumpers();
} }
player->kartstuff[k_comebacktimer] = comebacktime; player->kartstuff[k_comebacktimer] = comebacktime;
@ -1597,7 +1597,7 @@ void K_ExplodePlayer(player_t *player, mobj_t *source) // A bit of a hack, we ju
if (player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_spinouttimer] > 0 if (player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_spinouttimer] > 0
|| player->kartstuff[k_invincibilitytimer] > 0 || player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_hyudorotimer] > 0 || player->kartstuff[k_invincibilitytimer] > 0 || player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_hyudorotimer] > 0
|| (G_BattleGametype() && ((player->kartstuff[k_balloon] <= 0 && player->kartstuff[k_comebacktimer]) || player->kartstuff[k_comebackmode] == 1))) || (G_BattleGametype() && ((player->kartstuff[k_bumper] <= 0 && player->kartstuff[k_comebacktimer]) || player->kartstuff[k_comebackmode] == 1)))
return; return;
player->mo->momz = 18*(mapheaderinfo[gamemap-1]->mobj_scale); player->mo->momz = 18*(mapheaderinfo[gamemap-1]->mobj_scale);
@ -1615,22 +1615,22 @@ void K_ExplodePlayer(player_t *player, mobj_t *source) // A bit of a hack, we ju
player->kartstuff[k_wanted] -= (wantedreduce/2); player->kartstuff[k_wanted] -= (wantedreduce/2);
} }
if (player->kartstuff[k_balloon] > 0) if (player->kartstuff[k_bumper] > 0)
{ {
if (player->kartstuff[k_balloon] == 1) if (player->kartstuff[k_bumper] == 1)
{ {
mobj_t *karmahitbox = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_KARMAHITBOX); // Player hitbox is too small!! mobj_t *karmahitbox = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_KARMAHITBOX); // Player hitbox is too small!!
P_SetTarget(&karmahitbox->target, player->mo); P_SetTarget(&karmahitbox->target, player->mo);
karmahitbox->destscale = player->mo->scale; karmahitbox->destscale = player->mo->scale;
P_SetScale(karmahitbox, player->mo->scale); P_SetScale(karmahitbox, player->mo->scale);
CONS_Printf(M_GetText("%s lost all of their balloons!\n"), player_names[player-players]); CONS_Printf(M_GetText("%s lost all of their bumpers!\n"), player_names[player-players]);
if (K_IsPlayerWanted(player)) if (K_IsPlayerWanted(player))
K_CalculateBattleWanted(); K_CalculateBattleWanted();
} }
player->kartstuff[k_balloon]--; player->kartstuff[k_bumper]--;
} }
K_CheckBalloons(); K_CheckBumpers();
} }
player->kartstuff[k_comebacktimer] = comebacktime; player->kartstuff[k_comebacktimer] = comebacktime;
@ -1654,9 +1654,9 @@ void K_ExplodePlayer(player_t *player, mobj_t *source) // A bit of a hack, we ju
return; return;
} }
void K_StealBalloon(player_t *player, player_t *victim, boolean force) void K_StealBumper(player_t *player, player_t *victim, boolean force)
{ {
INT32 newballoon; INT32 newbumper;
angle_t newangle, diff; angle_t newangle, diff;
fixed_t newx, newy; fixed_t newx, newy;
mobj_t *newmo; mobj_t *newmo;
@ -1669,12 +1669,12 @@ void K_StealBalloon(player_t *player, player_t *victim, boolean force)
if (!force) if (!force)
{ {
if (victim->kartstuff[k_balloon] <= 0) // || player->kartstuff[k_balloon] >= cv_kartballoons.value+2 if (victim->kartstuff[k_bumper] <= 0) // || player->kartstuff[k_bumper] >= cv_kartbumpers.value+2
return; return;
if ((player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_spinouttimer] > 0 if ((player->powers[pw_flashing] > 0 || player->kartstuff[k_squishedtimer] > 0 || player->kartstuff[k_spinouttimer] > 0
|| player->kartstuff[k_invincibilitytimer] > 0 || player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_hyudorotimer] > 0 || player->kartstuff[k_invincibilitytimer] > 0 || player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_hyudorotimer] > 0
|| (player->kartstuff[k_balloon] <= 0 && player->kartstuff[k_comebacktimer])) || (player->kartstuff[k_bumper] <= 0 && player->kartstuff[k_comebacktimer]))
|| (victim->powers[pw_flashing] > 0 || victim->kartstuff[k_squishedtimer] > 0 || victim->kartstuff[k_spinouttimer] > 0 || (victim->powers[pw_flashing] > 0 || victim->kartstuff[k_squishedtimer] > 0 || victim->kartstuff[k_spinouttimer] > 0
|| victim->kartstuff[k_invincibilitytimer] > 0 || victim->kartstuff[k_growshrinktimer] > 0 || victim->kartstuff[k_hyudorotimer] > 0)) || victim->kartstuff[k_invincibilitytimer] > 0 || victim->kartstuff[k_growshrinktimer] > 0 || victim->kartstuff[k_hyudorotimer] > 0))
return; return;
@ -1682,39 +1682,39 @@ void K_StealBalloon(player_t *player, player_t *victim, boolean force)
if (netgame) if (netgame)
{ {
if (player->kartstuff[k_balloon] <= 0) if (player->kartstuff[k_bumper] <= 0)
CONS_Printf(M_GetText("%s is back in the game!\n"), player_names[player-players]); CONS_Printf(M_GetText("%s is back in the game!\n"), player_names[player-players]);
else if (cv_hazardlog.value) else if (cv_hazardlog.value)
CONS_Printf(M_GetText("%s stole a balloon from %s!\n"), player_names[player-players], player_names[victim-players]); CONS_Printf(M_GetText("%s stole a bumper from %s!\n"), player_names[player-players], player_names[victim-players]);
} }
newballoon = player->kartstuff[k_balloon]; newbumper = player->kartstuff[k_bumper];
if (newballoon <= 1) if (newbumper <= 1)
diff = 0; diff = 0;
else else
diff = FixedAngle(360*FRACUNIT/newballoon); diff = FixedAngle(360*FRACUNIT/newbumper);
newangle = player->mo->angle; newangle = player->mo->angle;
newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
newmo = P_SpawnMobj(newx, newy, player->mo->z, MT_BATTLEBALLOON); newmo = P_SpawnMobj(newx, newy, player->mo->z, MT_BATTLEBUMPER);
newmo->threshold = newballoon; newmo->threshold = newbumper;
P_SetTarget(&newmo->tracer, victim->mo); P_SetTarget(&newmo->tracer, victim->mo);
P_SetTarget(&newmo->target, player->mo); P_SetTarget(&newmo->target, player->mo);
newmo->angle = (diff * (newballoon-1)); newmo->angle = (diff * (newbumper-1));
newmo->color = victim->skincolor; newmo->color = victim->skincolor;
if (newballoon+1 < 2) if (newbumper+1 < 2)
P_SetMobjState(newmo, S_BATTLEBALLOON3); P_SetMobjState(newmo, S_BATTLEBUMPER3);
else if (newballoon+1 < 3) else if (newbumper+1 < 3)
P_SetMobjState(newmo, S_BATTLEBALLOON2); P_SetMobjState(newmo, S_BATTLEBUMPER2);
else else
P_SetMobjState(newmo, S_BATTLEBALLOON1); P_SetMobjState(newmo, S_BATTLEBUMPER1);
S_StartSound(player->mo, sfx_3db06); S_StartSound(player->mo, sfx_3db06);
player->kartstuff[k_balloon]++; player->kartstuff[k_bumper]++;
player->kartstuff[k_comebackpoints] = 0; player->kartstuff[k_comebackpoints] = 0;
player->powers[pw_flashing] = K_GetKartFlashing(); player->powers[pw_flashing] = K_GetKartFlashing();
player->kartstuff[k_comebacktimer] = comebacktime; player->kartstuff[k_comebacktimer] = comebacktime;
@ -1965,7 +1965,7 @@ void K_SpawnBoostTrail(player_t *player)
if (!P_IsObjectOnGround(player->mo) if (!P_IsObjectOnGround(player->mo)
|| player->kartstuff[k_hyudorotimer] != 0 || player->kartstuff[k_hyudorotimer] != 0
|| (G_BattleGametype() && player->kartstuff[k_balloon] <= 0 && player->kartstuff[k_comebacktimer])) || (G_BattleGametype() && player->kartstuff[k_bumper] <= 0 && player->kartstuff[k_comebacktimer]))
return; return;
if (player->mo->eflags & MFE_VERTICALFLIP) if (player->mo->eflags & MFE_VERTICALFLIP)
@ -2343,7 +2343,7 @@ static void K_DoHyudoroSteal(player_t *player)
// Can steal from this player // Can steal from this player
&& (G_RaceGametype() //&& players[i].kartstuff[k_position] < player->kartstuff[k_position]) && (G_RaceGametype() //&& players[i].kartstuff[k_position] < player->kartstuff[k_position])
|| (G_BattleGametype() && players[i].kartstuff[k_balloon] > 0)) || (G_BattleGametype() && players[i].kartstuff[k_bumper] > 0))
// Has an item // Has an item
&& (players[i].kartstuff[k_itemtype] && (players[i].kartstuff[k_itemtype]
@ -2730,7 +2730,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
else if (player->kartstuff[k_comebacktimer]) else if (player->kartstuff[k_comebacktimer])
{ {
player->kartstuff[k_comebacktimer]--; player->kartstuff[k_comebacktimer]--;
if (P_IsLocalPlayer(player) && player->kartstuff[k_balloon] <= 0 && player->kartstuff[k_comebacktimer] <= 0) if (P_IsLocalPlayer(player) && player->kartstuff[k_bumper] <= 0 && player->kartstuff[k_comebacktimer] <= 0)
comebackshowninfo = true; // client has already seen the message comebackshowninfo = true; // client has already seen the message
} }
@ -2825,7 +2825,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
if (player->kartstuff[k_tauntvoices]) if (player->kartstuff[k_tauntvoices])
player->kartstuff[k_tauntvoices]--; player->kartstuff[k_tauntvoices]--;
if (G_BattleGametype() && player->kartstuff[k_balloon] > 0) if (G_BattleGametype() && player->kartstuff[k_bumper] > 0)
player->kartstuff[k_wanted]++; player->kartstuff[k_wanted]++;
// ??? // ???
@ -2985,7 +2985,7 @@ static void K_KartDrift(player_t *player, boolean onground)
UINT8 kartspeed = player->kartspeed; UINT8 kartspeed = player->kartspeed;
fixed_t dsone, dstwo; fixed_t dsone, dstwo;
if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0) if (G_BattleGametype() && player->kartstuff[k_bumper] <= 0)
kartspeed = 1; kartspeed = 1;
// IF YOU CHANGE THESE: MAKE SURE YOU UPDATE THE SAME VALUES IN p_mobjc, "case MT_DRIFT:" // IF YOU CHANGE THESE: MAKE SURE YOU UPDATE THE SAME VALUES IN p_mobjc, "case MT_DRIFT:"
@ -3205,9 +3205,9 @@ static void K_KartUpdatePosition(player_t *player)
} }
else else
{ {
if (players[i].kartstuff[k_balloon] == player->kartstuff[k_balloon] && players[i].score > player->score) if (players[i].kartstuff[k_bumper] == player->kartstuff[k_bumper] && players[i].score > player->score)
position++; position++;
else if (players[i].kartstuff[k_balloon] > player->kartstuff[k_balloon]) else if (players[i].kartstuff[k_bumper] > player->kartstuff[k_bumper])
position++; position++;
} }
} }
@ -3707,13 +3707,13 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
player->mo->eflags &= ~(MFE_DRAWONLYFORP1|MFE_DRAWONLYFORP2|MFE_DRAWONLYFORP3|MFE_DRAWONLYFORP4); player->mo->eflags &= ~(MFE_DRAWONLYFORP1|MFE_DRAWONLYFORP2|MFE_DRAWONLYFORP3|MFE_DRAWONLYFORP4);
} }
if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0) // dead in match? you da bomb if (G_BattleGametype() && player->kartstuff[k_bumper] <= 0) // dead in match? you da bomb
{ {
K_StripItems(player); K_StripItems(player);
player->mo->flags2 |= MF2_SHADOW; player->mo->flags2 |= MF2_SHADOW;
player->powers[pw_flashing] = player->kartstuff[k_comebacktimer]; player->powers[pw_flashing] = player->kartstuff[k_comebacktimer];
} }
else if (G_RaceGametype() || player->kartstuff[k_balloon] > 0) else if (G_RaceGametype() || player->kartstuff[k_bumper] > 0)
{ {
player->mo->flags2 &= ~MF2_SHADOW; player->mo->flags2 &= ~MF2_SHADOW;
} }
@ -3727,7 +3727,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
player->mo->friction += 4608; player->mo->friction += 4608;
if (player->speed > 0 && cmd->forwardmove < 0 && player->mo->friction == 59392) if (player->speed > 0 && cmd->forwardmove < 0 && player->mo->friction == 59392)
player->mo->friction += 1608; player->mo->friction += 1608;
if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0) if (G_BattleGametype() && player->kartstuff[k_bumper] <= 0)
{ {
player->mo->friction += 1228; player->mo->friction += 1228;
@ -3830,10 +3830,10 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
void K_CalculateBattleWanted(void) void K_CalculateBattleWanted(void)
{ {
UINT8 numingame = 0, numwanted = 0; UINT8 numingame = 0, numwanted = 0;
SINT8 bestballoonplayer = -1, bestballoon = -1; SINT8 bestbumperplayer = -1, bestbumper = -1;
SINT8 camppos[MAXPLAYERS]; // who is the biggest camper SINT8 camppos[MAXPLAYERS]; // who is the biggest camper
UINT8 ties = 0, nextcamppos = 0; UINT8 ties = 0, nextcamppos = 0;
boolean setballoon = false; boolean setbumper = false;
UINT8 i, j; UINT8 i, j;
if (!G_BattleGametype()) if (!G_BattleGametype())
@ -3856,24 +3856,24 @@ void K_CalculateBattleWanted(void)
if (players[i].exiting) // We're done, don't calculate. if (players[i].exiting) // We're done, don't calculate.
return; return;
if (players[i].kartstuff[k_balloon] <= 0) // Not alive, so don't do anything else if (players[i].kartstuff[k_bumper] <= 0) // Not alive, so don't do anything else
continue; continue;
numingame++; numingame++;
if (bestballoon == -1 || players[i].kartstuff[k_balloon] > bestballoon) if (bestbumper == -1 || players[i].kartstuff[k_bumper] > bestbumper)
{ {
bestballoon = players[i].kartstuff[k_balloon]; bestbumper = players[i].kartstuff[k_bumper];
bestballoonplayer = i; bestbumperplayer = i;
} }
else if (players[i].kartstuff[k_balloon] == bestballoon) else if (players[i].kartstuff[k_bumper] == bestbumper)
bestballoonplayer = -1; // Tie, no one has best balloon. bestbumperplayer = -1; // Tie, no one has best bumper.
for (j = 0; j < MAXPLAYERS; j++) for (j = 0; j < MAXPLAYERS; j++)
{ {
if (!playeringame[j] || players[j].spectator) if (!playeringame[j] || players[j].spectator)
continue; continue;
if (players[j].kartstuff[k_balloon] <= 0) if (players[j].kartstuff[k_bumper] <= 0)
continue; continue;
if (j == i) if (j == i)
continue; continue;
@ -3900,16 +3900,16 @@ void K_CalculateBattleWanted(void)
{ {
if (i+1 > numwanted) // Not enough players for this slot to be wanted! if (i+1 > numwanted) // Not enough players for this slot to be wanted!
battlewanted[i] = -1; battlewanted[i] = -1;
else if (bestballoonplayer != -1 && !setballoon) // If there's a player who has an untied balloon lead over everyone else, they are the first to be wanted. else if (bestbumperplayer != -1 && !setbumper) // If there's a player who has an untied bumper lead over everyone else, they are the first to be wanted.
{ {
battlewanted[i] = bestballoonplayer; battlewanted[i] = bestbumperplayer;
setballoon = true; // Don't set twice setbumper = true; // Don't set twice
} }
else else
{ {
// Don't accidentally set the same player, if the bestballoonplayer is also a huge camper. // Don't accidentally set the same player, if the bestbumperplayer is also a huge camper.
while (bestballoonplayer != -1 && camppos[nextcamppos] != -1 while (bestbumperplayer != -1 && camppos[nextcamppos] != -1
&& bestballoonplayer == camppos[nextcamppos]) && bestbumperplayer == camppos[nextcamppos])
nextcamppos++; nextcamppos++;
// Do not add *any* more people if there's too many times that are tied with others. // Do not add *any* more people if there's too many times that are tied with others.
@ -3946,7 +3946,7 @@ void K_CalculateBattleWanted(void)
} }
} }
void K_CheckBalloons(void) void K_CheckBumpers(void)
{ {
UINT8 i; UINT8 i;
UINT8 numingame = 0; UINT8 numingame = 0;
@ -3973,7 +3973,7 @@ void K_CheckBalloons(void)
numingame++; numingame++;
winnerscoreadd += players[i].score; winnerscoreadd += players[i].score;
if (players[i].kartstuff[k_balloon] <= 0) // if you don't have any balloons, you're probably not a winner if (players[i].kartstuff[k_bumper] <= 0) // if you don't have any bumpers, you're probably not a winner
continue; continue;
else if (winnernum > -1) // TWO winners? that's dumb :V else if (winnernum > -1) // TWO winners? that's dumb :V
return; return;
@ -4010,8 +4010,8 @@ static patch_t *kp_timestickerwide;
static patch_t *kp_lapsticker; static patch_t *kp_lapsticker;
static patch_t *kp_lapstickernarrow; static patch_t *kp_lapstickernarrow;
static patch_t *kp_splitlapflag; static patch_t *kp_splitlapflag;
static patch_t *kp_balloonsticker; static patch_t *kp_bumpersticker;
static patch_t *kp_balloonstickerwide; static patch_t *kp_bumperstickerwide;
static patch_t *kp_karmasticker; static patch_t *kp_karmasticker;
static patch_t *kp_splitkarmabomb; static patch_t *kp_splitkarmabomb;
static patch_t *kp_timeoutsticker; static patch_t *kp_timeoutsticker;
@ -4027,8 +4027,8 @@ static patch_t *kp_facesecond;
static patch_t *kp_facethird; static patch_t *kp_facethird;
static patch_t *kp_facefourth; static patch_t *kp_facefourth;
static patch_t *kp_rankballoon; static patch_t *kp_rankbumper;
static patch_t *kp_ranknoballoons; static patch_t *kp_ranknobumpers;
static patch_t *kp_battlewin; static patch_t *kp_battlewin;
static patch_t *kp_battlelose; static patch_t *kp_battlelose;
@ -4078,8 +4078,8 @@ void K_LoadKartHUDGraphics(void)
kp_lapsticker = W_CachePatchName("K_STLAPS", PU_HUDGFX); kp_lapsticker = W_CachePatchName("K_STLAPS", PU_HUDGFX);
kp_lapstickernarrow = W_CachePatchName("K_STLAPN", PU_HUDGFX); kp_lapstickernarrow = W_CachePatchName("K_STLAPN", PU_HUDGFX);
kp_splitlapflag = W_CachePatchName("K_SPTLAP", PU_HUDGFX); kp_splitlapflag = W_CachePatchName("K_SPTLAP", PU_HUDGFX);
kp_balloonsticker = W_CachePatchName("K_STBALN", PU_HUDGFX); kp_bumpersticker = W_CachePatchName("K_STBALN", PU_HUDGFX);
kp_balloonstickerwide = W_CachePatchName("K_STBALW", PU_HUDGFX); kp_bumperstickerwide = W_CachePatchName("K_STBALW", PU_HUDGFX);
kp_karmasticker = W_CachePatchName("K_STKARM", PU_HUDGFX); kp_karmasticker = W_CachePatchName("K_STKARM", PU_HUDGFX);
kp_splitkarmabomb = W_CachePatchName("K_SPTKRM", PU_HUDGFX); kp_splitkarmabomb = W_CachePatchName("K_SPTKRM", PU_HUDGFX);
kp_timeoutsticker = W_CachePatchName("K_STTOUT", PU_HUDGFX); kp_timeoutsticker = W_CachePatchName("K_STTOUT", PU_HUDGFX);
@ -4117,8 +4117,8 @@ void K_LoadKartHUDGraphics(void)
kp_facefourth = W_CachePatchName("K_PFACE4", PU_HUDGFX); kp_facefourth = W_CachePatchName("K_PFACE4", PU_HUDGFX);
// Extra ranking icons // Extra ranking icons
kp_rankballoon = W_CachePatchName("K_BLNICO", PU_HUDGFX); kp_rankbumper = W_CachePatchName("K_BLNICO", PU_HUDGFX);
kp_ranknoballoons = W_CachePatchName("K_NOBLNS", PU_HUDGFX); kp_ranknobumpers = W_CachePatchName("K_NOBLNS", PU_HUDGFX);
// Battle graphics // Battle graphics
kp_battlewin = W_CachePatchName("K_BWIN", PU_HUDGFX); kp_battlewin = W_CachePatchName("K_BWIN", PU_HUDGFX);
@ -4664,7 +4664,7 @@ static void K_drawKartPositionFaces(void)
INT32 rankplayer[MAXPLAYERS]; INT32 rankplayer[MAXPLAYERS];
INT32 rankcolor[MAXPLAYERS]; INT32 rankcolor[MAXPLAYERS];
INT32 myplayer; INT32 myplayer;
INT32 balloonx; INT32 bumperx;
UINT8 *colormap; UINT8 *colormap;
patch_t *localpatch = kp_facenull; patch_t *localpatch = kp_facenull;
@ -4704,7 +4704,7 @@ static void K_drawKartPositionFaces(void)
if (players[rankplayer[i]].spectator) continue; // Spectators are ignored if (players[rankplayer[i]].spectator) continue; // Spectators are ignored
if (!players[rankplayer[i]].mo) continue; if (!players[rankplayer[i]].mo) continue;
balloonx = FACE_X+18; bumperx = FACE_X+18;
if (rankcolor[i] == 0) if (rankcolor[i] == 0)
{ {
@ -4712,24 +4712,24 @@ static void K_drawKartPositionFaces(void)
if (rankplayer[i] != myplayer) if (rankplayer[i] != myplayer)
{ {
V_DrawSmallTranslucentPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin]); V_DrawSmallTranslucentPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin]);
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_balloon] > 0) if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] > 0)
{ {
for (j = 0; j < players[rankplayer[i]].kartstuff[k_balloon]; j++) for (j = 0; j < players[rankplayer[i]].kartstuff[k_bumper]; j++)
{ {
V_DrawSmallTranslucentPatch(balloonx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankballoon); V_DrawSmallTranslucentPatch(bumperx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankbumper);
balloonx += 3; bumperx += 3;
} }
} }
} }
else else
{ {
V_DrawSmallScaledPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin]); V_DrawSmallScaledPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin]);
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_balloon] > 0) if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] > 0)
{ {
for (j = 0; j < players[rankplayer[i]].kartstuff[k_balloon]; j++) for (j = 0; j < players[rankplayer[i]].kartstuff[k_bumper]; j++)
{ {
V_DrawSmallScaledPatch(balloonx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankballoon); V_DrawSmallScaledPatch(bumperx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankbumper);
balloonx += 3; bumperx += 3;
} }
} }
} }
@ -4749,24 +4749,24 @@ static void K_drawKartPositionFaces(void)
if (rankplayer[i] != myplayer) if (rankplayer[i] != myplayer)
{ {
V_DrawSmallTranslucentMappedPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin], colormap); V_DrawSmallTranslucentMappedPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin], colormap);
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_balloon] > 0) if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] > 0)
{ {
for (j = 0; j < players[rankplayer[i]].kartstuff[k_balloon]; j++) for (j = 0; j < players[rankplayer[i]].kartstuff[k_bumper]; j++)
{ {
V_DrawSmallTranslucentMappedPatch(balloonx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankballoon, colormap); V_DrawSmallTranslucentMappedPatch(bumperx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankbumper, colormap);
balloonx += 3; bumperx += 3;
} }
} }
} }
else else
{ {
V_DrawSmallMappedPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin], colormap); V_DrawSmallMappedPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin], colormap);
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_balloon] > 0) if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] > 0)
{ {
for (j = 0; j < players[rankplayer[i]].kartstuff[k_balloon]; j++) for (j = 0; j < players[rankplayer[i]].kartstuff[k_bumper]; j++)
{ {
V_DrawSmallMappedPatch(balloonx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankballoon, colormap); V_DrawSmallMappedPatch(bumperx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankbumper, colormap);
balloonx += 3; bumperx += 3;
} }
} }
} }
@ -4784,15 +4784,15 @@ static void K_drawKartPositionFaces(void)
if (rankplayer[i] != myplayer) if (rankplayer[i] != myplayer)
{ {
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_balloon] <= 0) if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] <= 0)
V_DrawSmallTranslucentPatch(FACE_X-2, Y, V_HUDTRANS|V_SNAPTOLEFT, kp_ranknoballoons); V_DrawSmallTranslucentPatch(FACE_X-2, Y, V_HUDTRANS|V_SNAPTOLEFT, kp_ranknobumpers);
else else
V_DrawSmallTranslucentPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, localpatch); V_DrawSmallTranslucentPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, localpatch);
} }
else else
{ {
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_balloon] <= 0) if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] <= 0)
V_DrawSmallScaledPatch(FACE_X-2, Y, V_HUDTRANS|V_SNAPTOLEFT, kp_ranknoballoons); V_DrawSmallScaledPatch(FACE_X-2, Y, V_HUDTRANS|V_SNAPTOLEFT, kp_ranknobumpers);
else else
V_DrawSmallScaledPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, localpatch); V_DrawSmallScaledPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, localpatch);
} }
@ -4847,38 +4847,38 @@ static void K_drawKartSpeedometer(void)
} }
} }
static void K_drawKartBalloonsOrKarma(void) static void K_drawKartBumpersOrKarma(void)
{ {
UINT8 *colormap = R_GetTranslationColormap(TC_DEFAULT, stplyr->skincolor, 0); UINT8 *colormap = R_GetTranslationColormap(TC_DEFAULT, stplyr->skincolor, 0);
INT32 splitflags = K_calcSplitFlags(V_SNAPTOBOTTOM|V_SNAPTOLEFT); INT32 splitflags = K_calcSplitFlags(V_SNAPTOBOTTOM|V_SNAPTOLEFT);
if (splitscreen > 1) if (splitscreen > 1)
{ {
if (stplyr->kartstuff[k_balloon] <= 0) if (stplyr->kartstuff[k_bumper] <= 0)
{ {
V_DrawMappedPatch(LAPS_X, LAPS_Y-1, V_HUDTRANS|splitflags, kp_splitkarmabomb, colormap); V_DrawMappedPatch(LAPS_X, LAPS_Y-1, V_HUDTRANS|splitflags, kp_splitkarmabomb, colormap);
V_DrawString(LAPS_X+13, LAPS_Y+1, V_HUDTRANS|splitflags, va("%d/3", stplyr->kartstuff[k_comebackpoints])); V_DrawString(LAPS_X+13, LAPS_Y+1, V_HUDTRANS|splitflags, va("%d/3", stplyr->kartstuff[k_comebackpoints]));
} }
else else
{ {
V_DrawMappedPatch(LAPS_X, LAPS_Y-1, V_HUDTRANS|splitflags, kp_rankballoon, colormap); V_DrawMappedPatch(LAPS_X, LAPS_Y-1, V_HUDTRANS|splitflags, kp_rankbumper, colormap);
V_DrawString(LAPS_X+13, LAPS_Y+1, V_HUDTRANS|splitflags, va("%d/%d", stplyr->kartstuff[k_balloon], cv_kartballoons.value)); V_DrawString(LAPS_X+13, LAPS_Y+1, V_HUDTRANS|splitflags, va("%d/%d", stplyr->kartstuff[k_bumper], cv_kartbumpers.value));
} }
} }
else else
{ {
if (stplyr->kartstuff[k_balloon] <= 0) if (stplyr->kartstuff[k_bumper] <= 0)
{ {
V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|splitflags, kp_karmasticker, colormap); V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|splitflags, kp_karmasticker, colormap);
V_DrawKartString(LAPS_X+59, LAPS_Y+3, V_HUDTRANS|splitflags, va("%d/3", stplyr->kartstuff[k_comebackpoints])); V_DrawKartString(LAPS_X+59, LAPS_Y+3, V_HUDTRANS|splitflags, va("%d/3", stplyr->kartstuff[k_comebackpoints]));
} }
else else
{ {
if (stplyr->kartstuff[k_balloon] > 9 && cv_kartballoons.value > 9) if (stplyr->kartstuff[k_bumper] > 9 && cv_kartbumpers.value > 9)
V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|splitflags, kp_balloonstickerwide, colormap); V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|splitflags, kp_bumperstickerwide, colormap);
else else
V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|splitflags, kp_balloonsticker, colormap); V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|splitflags, kp_bumpersticker, colormap);
V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|splitflags, va("%d/%d", stplyr->kartstuff[k_balloon], cv_kartballoons.value)); V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|splitflags, va("%d/%d", stplyr->kartstuff[k_bumper], cv_kartbumpers.value));
} }
} }
} }
@ -5234,7 +5234,7 @@ static void K_drawKartMinimap(void)
continue; continue;
} }
if (G_BattleGametype() && players[i].kartstuff[k_balloon] <= 0) if (G_BattleGametype() && players[i].kartstuff[k_bumper] <= 0)
continue; continue;
if (players[i].kartstuff[k_hyudorotimer] > 0) if (players[i].kartstuff[k_hyudorotimer] > 0)
{ {
@ -5298,12 +5298,12 @@ static void K_drawBattleFullscreen(void)
{ {
if (stplyr == &players[displayplayer]) if (stplyr == &players[displayplayer])
V_DrawFadeScreen(0xFF00, 16); V_DrawFadeScreen(0xFF00, 16);
if (stplyr->kartstuff[k_balloon]) if (stplyr->kartstuff[k_bumper])
V_DrawFixedPatch(x<<FRACBITS, y<<FRACBITS, scale, splitflags, kp_battlewin, NULL); V_DrawFixedPatch(x<<FRACBITS, y<<FRACBITS, scale, splitflags, kp_battlewin, NULL);
else if (splitscreen < 2) else if (splitscreen < 2)
V_DrawFixedPatch(x<<FRACBITS, y<<FRACBITS, scale, splitflags, kp_battlelose, NULL); V_DrawFixedPatch(x<<FRACBITS, y<<FRACBITS, scale, splitflags, kp_battlelose, NULL);
} }
else if (stplyr->kartstuff[k_balloon] <= 0 && stplyr->kartstuff[k_comebacktimer] && comeback) else if (stplyr->kartstuff[k_bumper] <= 0 && stplyr->kartstuff[k_comebacktimer] && comeback)
{ {
INT32 t = stplyr->kartstuff[k_comebacktimer]/TICRATE; INT32 t = stplyr->kartstuff[k_comebacktimer]/TICRATE;
INT32 txoff = 0; INT32 txoff = 0;
@ -5470,7 +5470,7 @@ void K_drawKartHUD(void)
// Draw full screen stuff that turns off the rest of the HUD // Draw full screen stuff that turns off the rest of the HUD
if ((G_BattleGametype()) if ((G_BattleGametype())
&& (stplyr->exiting && (stplyr->exiting
|| (stplyr->kartstuff[k_balloon] <= 0 || (stplyr->kartstuff[k_bumper] <= 0
&& stplyr->kartstuff[k_comebacktimer] && stplyr->kartstuff[k_comebacktimer]
&& comeback && comeback
&& stplyr->playerstate == PST_LIVE))) && stplyr->playerstate == PST_LIVE)))
@ -5533,7 +5533,7 @@ void K_drawKartHUD(void)
else if (G_BattleGametype()) // Battle-only else if (G_BattleGametype()) // Battle-only
{ {
// Draw the hits left! // Draw the hits left!
K_drawKartBalloonsOrKarma(); K_drawKartBumpersOrKarma();
} }
} }

View file

@ -28,7 +28,7 @@ void K_KartPlayerAfterThink(player_t *player);
void K_SpinPlayer(player_t *player, mobj_t *source, INT32 type, boolean trapitem); void K_SpinPlayer(player_t *player, mobj_t *source, INT32 type, boolean trapitem);
void K_SquishPlayer(player_t *player, mobj_t *source); void K_SquishPlayer(player_t *player, mobj_t *source);
void K_ExplodePlayer(player_t *player, mobj_t *source); void K_ExplodePlayer(player_t *player, mobj_t *source);
void K_StealBalloon(player_t *player, player_t *victim, boolean force); void K_StealBumper(player_t *player, player_t *victim, boolean force);
void K_SpawnKartExplosion(fixed_t x, fixed_t y, fixed_t z, fixed_t radius, INT32 number, mobjtype_t type, angle_t rotangle, boolean spawncenter, boolean ghostit, mobj_t *source); void K_SpawnKartExplosion(fixed_t x, fixed_t y, fixed_t z, fixed_t radius, INT32 number, mobjtype_t type, angle_t rotangle, boolean spawncenter, boolean ghostit, mobj_t *source);
void K_SpawnMineExplosion(mobj_t *source, UINT8 color); void K_SpawnMineExplosion(mobj_t *source, UINT8 color);
void K_SpawnBoostTrail(player_t *player); void K_SpawnBoostTrail(player_t *player);
@ -48,7 +48,7 @@ UINT16 K_GetKartFlashing(void);
fixed_t K_3dKartMovement(player_t *player, boolean onground, fixed_t forwardmove); fixed_t K_3dKartMovement(player_t *player, boolean onground, fixed_t forwardmove);
void K_MoveKartPlayer(player_t *player, boolean onground); void K_MoveKartPlayer(player_t *player, boolean onground);
void K_CalculateBattleWanted(void); void K_CalculateBattleWanted(void);
void K_CheckBalloons(void); void K_CheckBumpers(void);
INT32 K_calcSplitFlags(INT32 snapflags); INT32 K_calcSplitFlags(INT32 snapflags);
void K_LoadKartHUDGraphics(void); void K_LoadKartHUDGraphics(void);

View file

@ -2069,7 +2069,7 @@ static int lib_kExplodePlayer(lua_State *L)
return 0; return 0;
} }
static int lib_kStealBalloon(lua_State *L) static int lib_kStealBumper(lua_State *L)
{ {
player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER));
player_t *victim = *((player_t **)luaL_checkudata(L, 2, META_PLAYER)); player_t *victim = *((player_t **)luaL_checkudata(L, 2, META_PLAYER));
@ -2079,7 +2079,7 @@ static int lib_kStealBalloon(lua_State *L)
return LUA_ErrInvalid(L, "player_t"); return LUA_ErrInvalid(L, "player_t");
if (!victim) if (!victim)
return LUA_ErrInvalid(L, "player_t"); return LUA_ErrInvalid(L, "player_t");
K_StealBalloon(player, victim, force); K_StealBumper(player, victim, force);
return 0; return 0;
} }
@ -2402,7 +2402,7 @@ static luaL_Reg lib[] = {
{"K_SpinPlayer",lib_kSpinPlayer}, {"K_SpinPlayer",lib_kSpinPlayer},
{"K_SquishPlayer",lib_kSquishPlayer}, {"K_SquishPlayer",lib_kSquishPlayer},
{"K_ExplodePlayer",lib_kExplodePlayer}, {"K_ExplodePlayer",lib_kExplodePlayer},
{"K_StealBalloon",lib_kStealBalloon}, {"K_StealBumper",lib_kStealBumper},
{"K_SpawnKartExplosion",lib_kSpawnKartExplosion}, {"K_SpawnKartExplosion",lib_kSpawnKartExplosion},
{"K_SpawnBoostTrail",lib_kSpawnBoostTrail}, {"K_SpawnBoostTrail",lib_kSpawnBoostTrail},
{"K_SpawnSparkleTrail",lib_kSpawnSparkleTrail}, {"K_SpawnSparkleTrail",lib_kSpawnSparkleTrail},

View file

@ -921,7 +921,7 @@ menuitem_t PlayerMenu[32] =
static menuitem_t MP_MainMenu[] = static menuitem_t MP_MainMenu[] =
{ {
{IT_HEADER, NULL, "Player setup", NULL, 10}, {IT_HEADER, NULL, "Player setup", NULL, 10},
{IT_STRING|IT_CALL, NULL, "It's you!", M_SetupMultiPlayer, 20}, {IT_STRING|IT_CALL, NULL, "Select character & color...", M_SetupMultiPlayer, 20},
{IT_HEADER, NULL, "Host a game", NULL, 34}, {IT_HEADER, NULL, "Host a game", NULL, 34},
{IT_NETCALL, NULL, "Internet/LAN...", M_StartServerMenu, 44}, {IT_NETCALL, NULL, "Internet/LAN...", M_StartServerMenu, 44},
{IT_STRING|IT_CALL, NULL, "Splitscreen...", M_StartSplitServerMenu, 52}, {IT_STRING|IT_CALL, NULL, "Splitscreen...", M_StartSplitServerMenu, 52},
@ -1402,7 +1402,7 @@ static menuitem_t OP_EraseDataMenu[] =
static menuitem_t OP_HUDOptionsMenu[] = static menuitem_t OP_HUDOptionsMenu[] =
{ {
{IT_STRING | IT_CVAR, NULL, "Show HUD", &cv_showhud, 10}, {IT_STRING | IT_CVAR, NULL, "Show HUD (F3)", &cv_showhud, 10},
{IT_STRING | IT_CVAR | IT_CV_SLIDER, {IT_STRING | IT_CVAR | IT_CV_SLIDER,
NULL, "HUD Visibility", &cv_translucenthud, 20}, NULL, "HUD Visibility", &cv_translucenthud, 20},
@ -1429,7 +1429,7 @@ static menuitem_t OP_GameOptionsMenu[] =
{IT_STRING | IT_CVAR, NULL, "Exit Countdown Timer", &cv_countdowntime, 80}, {IT_STRING | IT_CVAR, NULL, "Exit Countdown Timer", &cv_countdowntime, 80},
//{IT_STRING | IT_CVAR, NULL, "Time Limit", &cv_timelimit, 100}, //{IT_STRING | IT_CVAR, NULL, "Time Limit", &cv_timelimit, 100},
{IT_STRING | IT_CVAR, NULL, "Starting Balloons", &cv_kartballoons, 100}, {IT_STRING | IT_CVAR, NULL, "Starting Bumpers", &cv_kartbumpers, 100},
{IT_STRING | IT_CVAR, NULL, "Karma Comeback", &cv_kartcomeback, 110}, {IT_STRING | IT_CVAR, NULL, "Karma Comeback", &cv_kartcomeback, 110},
{IT_STRING | IT_CVAR, NULL, "Force Character #", &cv_forceskin, 130}, {IT_STRING | IT_CVAR, NULL, "Force Character #", &cv_forceskin, 130},
@ -1485,7 +1485,7 @@ static menuitem_t OP_ServerOptionsMenu[] =
{IT_STRING | IT_CVAR, NULL, "Use Map Lap Counts", &cv_usemapnumlaps, 34}, {IT_STRING | IT_CVAR, NULL, "Use Map Lap Counts", &cv_usemapnumlaps, 34},
{IT_HEADER, NULL, "BATTLE", NULL, 50}, {IT_HEADER, NULL, "BATTLE", NULL, 50},
{IT_STRING | IT_CVAR, NULL, "Starting Balloons", &cv_kartballoons, 58}, {IT_STRING | IT_CVAR, NULL, "Starting Bumpers", &cv_kartbumpers, 58},
{IT_STRING | IT_CVAR, NULL, "Karma Comeback", &cv_kartcomeback, 66}, {IT_STRING | IT_CVAR, NULL, "Karma Comeback", &cv_kartcomeback, 66},
};*/ };*/

1
src/null Normal file
View file

@ -0,0 +1 @@
Press any key to continue . . .

View file

@ -3922,7 +3922,7 @@ static inline boolean PIT_GrenadeRing(mobj_t *thing)
return true; return true;
if (thing->player && (thing->player->kartstuff[k_hyudorotimer] if (thing->player && (thing->player->kartstuff[k_hyudorotimer]
|| (G_BattleGametype() && thing->player && thing->player->kartstuff[k_balloon] <= 0 && thing->player->kartstuff[k_comebacktimer]))) || (G_BattleGametype() && thing->player && thing->player->kartstuff[k_bumper] <= 0 && thing->player->kartstuff[k_comebacktimer])))
return true; return true;
if ((gametype == GT_CTF || gametype == GT_TEAMMATCH) if ((gametype == GT_CTF || gametype == GT_TEAMMATCH)
@ -8144,7 +8144,7 @@ void A_ItemPop(mobj_t *actor)
if (actor->info->deathsound) if (actor->info->deathsound)
S_StartSound(remains, actor->info->deathsound); S_StartSound(remains, actor->info->deathsound);
if (!(G_BattleGametype() && actor->target->player->kartstuff[k_balloon] <= 0)) if (!(G_BattleGametype() && actor->target->player->kartstuff[k_bumper] <= 0))
actor->target->player->kartstuff[k_itemroulette] = 1; actor->target->player->kartstuff[k_itemroulette] = 1;
remains->flags2 &= ~MF2_AMBUSH; remains->flags2 &= ~MF2_AMBUSH;
@ -8228,7 +8228,7 @@ void A_JawzChase(mobj_t *actor)
if (G_BattleGametype()) if (G_BattleGametype())
{ {
if (player->kartstuff[k_balloon] <= 0) if (player->kartstuff[k_bumper] <= 0)
continue; continue;
if (P_AproxDistance(P_AproxDistance(player->mo->x-actor->x, if (P_AproxDistance(P_AproxDistance(player->mo->x-actor->x,
@ -8240,7 +8240,7 @@ void A_JawzChase(mobj_t *actor)
if ((G_RaceGametype()) || (G_BattleGametype() // If in match etc. only home in when you get close enough, in race etc. home in all the time if ((G_RaceGametype()) || (G_BattleGametype() // If in match etc. only home in when you get close enough, in race etc. home in all the time
&& P_AproxDistance(P_AproxDistance(player->mo->x-actor->x, && P_AproxDistance(P_AproxDistance(player->mo->x-actor->x,
player->mo->y-actor->y), player->mo->z-actor->z) < RING_DIST player->mo->y-actor->y), player->mo->z-actor->z) < RING_DIST
&& player->kartstuff[k_balloon] > 0)) && player->kartstuff[k_bumper] > 0))
P_SetTarget(&actor->tracer, player->mo); P_SetTarget(&actor->tracer, player->mo);
return; return;
@ -8324,7 +8324,7 @@ void A_MineExplode(mobj_t *actor)
if (mo2 == actor || mo2->type == MT_MINEEXPLOSIONSOUND) // Don't explode yourself! Endless loop! if (mo2 == actor || mo2->type == MT_MINEEXPLOSIONSOUND) // Don't explode yourself! Endless loop!
continue; continue;
if (G_BattleGametype() && actor->target && actor->target->player && actor->target->player->kartstuff[k_balloon] <= 0 && mo2 == actor->target) if (G_BattleGametype() && actor->target && actor->target->player && actor->target->player->kartstuff[k_bumper] <= 0 && mo2 == actor->target)
continue; continue;
if (P_AproxDistance(P_AproxDistance(mo2->x - actor->x, mo2->y - actor->y), mo2->z - actor->z) > actor->info->painchance) if (P_AproxDistance(P_AproxDistance(mo2->x - actor->x, mo2->y - actor->y), mo2->z - actor->z) > actor->info->painchance)

View file

@ -155,7 +155,7 @@ boolean P_CanPickupItem(player_t *player, boolean weapon)
if (player->exiting) if (player->exiting)
return false; return false;
/*if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0) // No balloons in Match /*if (G_BattleGametype() && player->kartstuff[k_bumper] <= 0) // No bumpers in Match
return false;*/ return false;*/
if (weapon) if (weapon)
@ -410,7 +410,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
if (!P_CanPickupItem(player, true)) if (!P_CanPickupItem(player, true))
return; return;
if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0) if (G_BattleGametype() && player->kartstuff[k_bumper] <= 0)
{ {
if (player->kartstuff[k_comebackmode] == 1 || player->kartstuff[k_comebacktimer]) if (player->kartstuff[k_comebackmode] == 1 || player->kartstuff[k_comebacktimer])
return; return;
@ -427,7 +427,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
return; return;
if (player == special->target->player) if (player == special->target->player)
return; return;
if (player->kartstuff[k_balloon] <= 0) if (player->kartstuff[k_bumper] <= 0)
return; return;
if (special->target->player->exiting || player->exiting) if (special->target->player->exiting || player->exiting)
return; return;
@ -459,7 +459,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
if (netgame && cv_hazardlog.value) if (netgame && cv_hazardlog.value)
CONS_Printf(M_GetText("%s bombed %s!\n"), player_names[special->target->player-players], player_names[player-players]); CONS_Printf(M_GetText("%s bombed %s!\n"), player_names[special->target->player-players], player_names[player-players]);
if (special->target->player->kartstuff[k_comebackpoints] >= 3) if (special->target->player->kartstuff[k_comebackpoints] >= 3)
K_StealBalloon(special->target->player, player, true); K_StealBumper(special->target->player, player, true);
special->target->player->kartstuff[k_comebacktimer] = comebacktime; special->target->player->kartstuff[k_comebacktimer] = comebacktime;
K_ExplodePlayer(player, special->target); K_ExplodePlayer(player, special->target);
@ -476,7 +476,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
if (netgame && cv_hazardlog.value) if (netgame && cv_hazardlog.value)
CONS_Printf(M_GetText("%s gave an item to %s.\n"), player_names[special->target->player-players], player_names[player-players]); CONS_Printf(M_GetText("%s gave an item to %s.\n"), player_names[special->target->player-players], player_names[player-players]);
if (special->target->player->kartstuff[k_comebackpoints] >= 3) if (special->target->player->kartstuff[k_comebackpoints] >= 3)
K_StealBalloon(special->target->player, player, true); K_StealBumper(special->target->player, player, true);
special->target->player->kartstuff[k_comebacktimer] = comebacktime; special->target->player->kartstuff[k_comebacktimer] = comebacktime;
player->kartstuff[k_itemroulette] = 1; player->kartstuff[k_itemroulette] = 1;
@ -2330,7 +2330,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
} }
else if (G_BattleGametype()) else if (G_BattleGametype())
{ {
K_CheckBalloons(); K_CheckBumpers();
} }
} }
@ -2830,22 +2830,22 @@ static void P_KillPlayer(player_t *player, mobj_t *source, INT32 damage)
if (G_BattleGametype()) if (G_BattleGametype())
{ {
if (player->kartstuff[k_balloon] > 0) if (player->kartstuff[k_bumper] > 0)
{ {
if (player->kartstuff[k_balloon] == 1) if (player->kartstuff[k_bumper] == 1)
{ {
mobj_t *karmahitbox = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_KARMAHITBOX); // Player hitbox is too small!! mobj_t *karmahitbox = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_KARMAHITBOX); // Player hitbox is too small!!
P_SetTarget(&karmahitbox->target, player->mo); P_SetTarget(&karmahitbox->target, player->mo);
karmahitbox->destscale = player->mo->scale; karmahitbox->destscale = player->mo->scale;
P_SetScale(karmahitbox, player->mo->scale); P_SetScale(karmahitbox, player->mo->scale);
CONS_Printf(M_GetText("%s lost all of their balloons!\n"), player_names[player-players]); CONS_Printf(M_GetText("%s lost all of their bumpers!\n"), player_names[player-players]);
if (K_IsPlayerWanted(player)) if (K_IsPlayerWanted(player))
K_CalculateBattleWanted(); K_CalculateBattleWanted();
} }
player->kartstuff[k_balloon]--; player->kartstuff[k_bumper]--;
} }
K_CheckBalloons(); K_CheckBumpers();
} }
} }

View file

@ -1633,11 +1633,11 @@ static boolean PIT_CheckThing(mobj_t *thing)
if (thing->player->kartstuff[k_growshrinktimer] || thing->player->kartstuff[k_squishedtimer] if (thing->player->kartstuff[k_growshrinktimer] || thing->player->kartstuff[k_squishedtimer]
|| thing->player->kartstuff[k_hyudorotimer] || thing->player->kartstuff[k_spinouttimer] || thing->player->kartstuff[k_hyudorotimer] || thing->player->kartstuff[k_spinouttimer]
|| thing->player->kartstuff[k_invincibilitytimer] || thing->player->kartstuff[k_justbumped] || thing->player->kartstuff[k_invincibilitytimer] || thing->player->kartstuff[k_justbumped]
|| (G_BattleGametype() && thing->player->kartstuff[k_balloon] <= 0) || (G_BattleGametype() && thing->player->kartstuff[k_bumper] <= 0)
|| tmthing->player->kartstuff[k_growshrinktimer] || tmthing->player->kartstuff[k_squishedtimer] || tmthing->player->kartstuff[k_growshrinktimer] || tmthing->player->kartstuff[k_squishedtimer]
|| tmthing->player->kartstuff[k_hyudorotimer] || tmthing->player->kartstuff[k_spinouttimer] || tmthing->player->kartstuff[k_hyudorotimer] || tmthing->player->kartstuff[k_spinouttimer]
|| tmthing->player->kartstuff[k_invincibilitytimer] || tmthing->player->kartstuff[k_justbumped] || tmthing->player->kartstuff[k_invincibilitytimer] || tmthing->player->kartstuff[k_justbumped]
|| (G_BattleGametype() && tmthing->player->kartstuff[k_balloon] <= 0)) || (G_BattleGametype() && tmthing->player->kartstuff[k_bumper] <= 0))
{ {
return true; return true;
} }
@ -1647,7 +1647,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
K_KartBouncing(tmthing, thing, true, false); K_KartBouncing(tmthing, thing, true, false);
if (G_BattleGametype() && tmthing->player->kartstuff[k_pogospring]) if (G_BattleGametype() && tmthing->player->kartstuff[k_pogospring])
{ {
K_StealBalloon(tmthing->player, thing->player, false); K_StealBumper(tmthing->player, thing->player, false);
K_SpinPlayer(thing->player, tmthing, 0, false); K_SpinPlayer(thing->player, tmthing, 0, false);
} }
} }
@ -1656,7 +1656,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
K_KartBouncing(thing, tmthing, true, false); K_KartBouncing(thing, tmthing, true, false);
if (G_BattleGametype() && thing->player->kartstuff[k_pogospring]) if (G_BattleGametype() && thing->player->kartstuff[k_pogospring])
{ {
K_StealBalloon(thing->player, tmthing->player, false); K_StealBumper(thing->player, tmthing->player, false);
K_SpinPlayer(tmthing->player, thing, 0, false); K_SpinPlayer(tmthing->player, thing, 0, false);
} }
} }
@ -1667,12 +1667,12 @@ static boolean PIT_CheckThing(mobj_t *thing)
{ {
if (thing->player->kartstuff[k_sneakertimer] && !(tmthing->player->kartstuff[k_sneakertimer])) if (thing->player->kartstuff[k_sneakertimer] && !(tmthing->player->kartstuff[k_sneakertimer]))
{ {
K_StealBalloon(thing->player, tmthing->player, false); K_StealBumper(thing->player, tmthing->player, false);
K_SpinPlayer(tmthing->player, thing, 0, false); K_SpinPlayer(tmthing->player, thing, 0, false);
} }
else if (tmthing->player->kartstuff[k_sneakertimer] && !(thing->player->kartstuff[k_sneakertimer])) else if (tmthing->player->kartstuff[k_sneakertimer] && !(thing->player->kartstuff[k_sneakertimer]))
{ {
K_StealBalloon(tmthing->player, thing->player, false); K_StealBumper(tmthing->player, thing->player, false);
K_SpinPlayer(thing->player, tmthing, 0, false); K_SpinPlayer(thing->player, tmthing, 0, false);
} }
} }

View file

@ -6592,7 +6592,7 @@ void P_MobjThinker(mobj_t *mobj)
INT32 HEIGHT; INT32 HEIGHT;
fixed_t radius; fixed_t radius;
if (G_BattleGametype() && mobj->target->player->kartstuff[k_balloon] <= 0) if (G_BattleGametype() && mobj->target->player->kartstuff[k_bumper] <= 0)
kartspeed = 1; kartspeed = 1;
dsone = (26*4 + kartspeed*2 + (9 - mobj->target->player->kartweight))*8; dsone = (26*4 + kartspeed*2 + (9 - mobj->target->player->kartweight))*8;
@ -6779,7 +6779,7 @@ void P_MobjThinker(mobj_t *mobj)
} }
} }
break; break;
case MT_BATTLEBALLOON: case MT_BATTLEBUMPER:
if (mobj->health > 0 && mobj->target && mobj->target->player if (mobj->health > 0 && mobj->target && mobj->target->player
&& mobj->target->player->health > 0 && !mobj->target->player->spectator) && mobj->target->player->health > 0 && !mobj->target->player->spectator)
{ {
@ -6792,10 +6792,10 @@ void P_MobjThinker(mobj_t *mobj)
else else
ang = FixedAngle(mobj->info->speed); ang = FixedAngle(mobj->info->speed);
if (mobj->target->player->kartstuff[k_balloon] <= 1) if (mobj->target->player->kartstuff[k_bumper] <= 1)
diff = 0; diff = 0;
else else
diff = FixedAngle(360*FRACUNIT/mobj->target->player->kartstuff[k_balloon]); diff = FixedAngle(360*FRACUNIT/mobj->target->player->kartstuff[k_bumper]);
ang = (ang*leveltime) + (diff * (mobj->threshold-1)); ang = (ang*leveltime) + (diff * (mobj->threshold-1));
@ -6843,16 +6843,16 @@ void P_MobjThinker(mobj_t *mobj)
if (mobj->tracer && mobj->tracer->player && mobj->tracer->player->mo if (mobj->tracer && mobj->tracer->player && mobj->tracer->player->mo
&& mobj->tracer->player->health > 0 && !mobj->tracer->player->spectator) // STOLEN && mobj->tracer->player->health > 0 && !mobj->tracer->player->spectator) // STOLEN
mobj->color = mobj->tracer->player->skincolor; // don't do star flashing for stolen balloons mobj->color = mobj->tracer->player->skincolor; // don't do star flashing for stolen bumpers
else else
mobj->color = mobj->target->color; // but do so if it belongs to you :B mobj->color = mobj->target->color; // but do so if it belongs to you :B
if (mobj->target->player->kartstuff[k_balloon] < 2) if (mobj->target->player->kartstuff[k_bumper] < 2)
P_SetMobjState(mobj, S_BATTLEBALLOON3); P_SetMobjState(mobj, S_BATTLEBUMPER3);
else if (mobj->target->player->kartstuff[k_balloon] < 3) else if (mobj->target->player->kartstuff[k_bumper] < 3)
P_SetMobjState(mobj, S_BATTLEBALLOON2); P_SetMobjState(mobj, S_BATTLEBUMPER2);
else else
P_SetMobjState(mobj, S_BATTLEBALLOON1); P_SetMobjState(mobj, S_BATTLEBUMPER1);
// Shrink your items if the player shrunk too. // Shrink your items if the player shrunk too.
mobj->scale = mobj->target->scale; mobj->scale = mobj->target->scale;
@ -6867,7 +6867,7 @@ void P_MobjThinker(mobj_t *mobj)
} }
// Was this so hard? // Was this so hard?
if (mobj->target->player->kartstuff[k_balloon] <= mobj->threshold) if (mobj->target->player->kartstuff[k_bumper] <= mobj->threshold)
{ {
P_RemoveMobj(mobj); P_RemoveMobj(mobj);
return; return;
@ -6893,7 +6893,7 @@ void P_MobjThinker(mobj_t *mobj)
if (G_RaceGametype() if (G_RaceGametype()
|| mobj->target->player == &players[displayplayer] || mobj->target->player == &players[displayplayer]
|| mobj->target->player->kartstuff[k_balloon] <= 0 || mobj->target->player->kartstuff[k_bumper] <= 0
|| (mobj->target->player->mo->flags2 & MF2_DONTDRAW) || (mobj->target->player->mo->flags2 & MF2_DONTDRAW)
#if 1 // Set to 0 to test without needing to host #if 1 // Set to 0 to test without needing to host
|| !netgame || !netgame
@ -8179,7 +8179,7 @@ void P_MobjThinker(mobj_t *mobj)
break; break;
case MT_KARMAHITBOX: case MT_KARMAHITBOX:
if (!mobj->target || !mobj->target->health || !mobj->target->player if (!mobj->target || !mobj->target->health || !mobj->target->player
|| (G_RaceGametype() || mobj->target->player->kartstuff[k_balloon])) || (G_RaceGametype() || mobj->target->player->kartstuff[k_bumper]))
{ {
P_RemoveMobj(mobj); P_RemoveMobj(mobj);
return; return;
@ -9049,7 +9049,7 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
case MT_BIGMACE: case MT_SMALLMACE: case MT_BIGMACE: case MT_SMALLMACE:
case MT_FALLINGROCK: case MT_FALLINGROCK:
//case MT_RANDOMITEM: //case MT_RANDOMITEM:
case MT_BATTLEBALLOON: case MT_BATTLEBUMPER:
case MT_BANANA: case MT_BANANA_SHIELD: case MT_BANANA: case MT_BANANA_SHIELD:
case MT_FAKEITEM: case MT_FAKESHIELD: case MT_FAKEITEM: case MT_FAKESHIELD:
case MT_GREENITEM: case MT_GREENSHIELD: case MT_GREENITEM: case MT_GREENSHIELD:
@ -9905,7 +9905,7 @@ void P_SpawnPlayer(INT32 playernum)
pcount++; pcount++;
}*/ }*/
if (p->kartstuff[k_balloon] > 0 || leveltime < 1/* || pcount <= 1*/) if (p->kartstuff[k_bumper] > 0 || leveltime < 1/* || pcount <= 1*/)
{ {
INT32 i; INT32 i;
angle_t newangle; angle_t newangle;
@ -9915,20 +9915,20 @@ void P_SpawnPlayer(INT32 playernum)
mobj_t *mo; mobj_t *mo;
if (leveltime < 1 && !p->spectator /*|| pcount <= 1*/) // Start of the map? if (leveltime < 1 && !p->spectator /*|| pcount <= 1*/) // Start of the map?
p->kartstuff[k_balloon] = cv_kartballoons.value; // Reset those balloons! p->kartstuff[k_bumper] = cv_kartbumpers.value; // Reset those bumpers!
if (p->kartstuff[k_balloon] <= 1) if (p->kartstuff[k_bumper] <= 1)
diff = 0; diff = 0;
else else
diff = FixedAngle(360*FRACUNIT/p->kartstuff[k_balloon]); diff = FixedAngle(360*FRACUNIT/p->kartstuff[k_bumper]);
newangle = mobj->angle; newangle = mobj->angle;
newx = mobj->x + P_ReturnThrustX(mobj, newangle + ANGLE_180, 64*FRACUNIT); newx = mobj->x + P_ReturnThrustX(mobj, newangle + ANGLE_180, 64*FRACUNIT);
newy = mobj->y + P_ReturnThrustY(mobj, newangle + ANGLE_180, 64*FRACUNIT); newy = mobj->y + P_ReturnThrustY(mobj, newangle + ANGLE_180, 64*FRACUNIT);
for (i = 0; i < p->kartstuff[k_balloon]; i++) for (i = 0; i < p->kartstuff[k_bumper]; i++)
{ {
mo = P_SpawnMobj(newx, newy, mobj->z, MT_BATTLEBALLOON); mo = P_SpawnMobj(newx, newy, mobj->z, MT_BATTLEBUMPER);
mo->threshold = i; mo->threshold = i;
P_SetTarget(&mo->target, mobj); P_SetTarget(&mo->target, mobj);
mo->angle = (diff * (i-1)); mo->angle = (diff * (i-1));
@ -9939,7 +9939,7 @@ void P_SpawnPlayer(INT32 playernum)
mo->flags2 &= ~MF2_DONTDRAW; mo->flags2 &= ~MF2_DONTDRAW;
} }
} }
else if (p->kartstuff[k_balloon] <= 0) else if (p->kartstuff[k_bumper] <= 0)
{ {
mobj_t *karmahitbox = P_SpawnMobj(mobj->x, mobj->y, mobj->z, MT_KARMAHITBOX); // Player hitbox is too small!! mobj_t *karmahitbox = P_SpawnMobj(mobj->x, mobj->y, mobj->z, MT_KARMAHITBOX); // Player hitbox is too small!!
P_SetTarget(&karmahitbox->target, mobj); P_SetTarget(&karmahitbox->target, mobj);

View file

@ -1134,7 +1134,7 @@ void P_RestoreMusic(player_t *player)
{ {
if (!playeringame[i] || players[i].spectator) if (!playeringame[i] || players[i].spectator)
continue; continue;
if (players[i].kartstuff[k_balloon] > player->kartstuff[k_balloon]) if (players[i].kartstuff[k_bumper] > player->kartstuff[k_bumper])
pos++; pos++;
else if (players[i].score > player->score) else if (players[i].score > player->score)
pos++; pos++;
@ -1716,7 +1716,7 @@ void P_DoPlayerExit(player_t *player)
{ {
if (!playeringame[i] || players[i].spectator) if (!playeringame[i] || players[i].spectator)
continue; continue;
if (players[i].kartstuff[k_balloon] > player->kartstuff[k_balloon]) if (players[i].kartstuff[k_bumper] > player->kartstuff[k_bumper])
pos++; pos++;
else if (players[i].score > player->score) else if (players[i].score > player->score)
pos++; pos++;
@ -9585,7 +9585,7 @@ void P_PlayerThink(player_t *player)
if (!(player->pflags & PF_NIGHTSMODE if (!(player->pflags & PF_NIGHTSMODE
|| player->kartstuff[k_hyudorotimer] // SRB2kart - fixes Hyudoro not flashing when it should. || player->kartstuff[k_hyudorotimer] // SRB2kart - fixes Hyudoro not flashing when it should.
|| player->kartstuff[k_growshrinktimer] > 0 // Grow doesn't flash either. || player->kartstuff[k_growshrinktimer] > 0 // Grow doesn't flash either.
|| (G_BattleGametype() && player->kartstuff[k_balloon] <= 0 && player->kartstuff[k_comebacktimer]) || (G_BattleGametype() && player->kartstuff[k_bumper] <= 0 && player->kartstuff[k_comebacktimer])
|| leveltime < starttime)) // Level intro || leveltime < starttime)) // Level intro
{ {
if (player->powers[pw_flashing] > 0 && player->powers[pw_flashing] < K_GetKartFlashing() if (player->powers[pw_flashing] > 0 && player->powers[pw_flashing] < K_GetKartFlashing()