Remove more Karma Bomb crap

- remove Karma Bomb boost trail condition
- remove Karma Bomb condition for Eggman Mark
- remove Karma Bomb condition for hiding player name tags
- remove Karma Bomb player translucency
- remove Karma Bomb respawn invincibility
- remove Karma Bomb speed buff
- remove Karma Bomb sphere digestion
- remove Overtime Karma
This commit is contained in:
James R 2023-03-07 03:38:56 -08:00
parent a648ff31f1
commit 3843f0c3cd
7 changed files with 4 additions and 74 deletions

View file

@ -604,7 +604,6 @@ struct player_t
UINT8 emeralds;
UINT8 bumpers;
INT16 karmadelay;
tic_t overtimekarma; // time to live in overtime comeback
INT16 spheres;
tic_t spheredigestion;

View file

@ -2637,7 +2637,6 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
p->growshrinktimer = growshrinktimer;
p->bumpers = bumper;
p->karmadelay = comebacktime;
p->overtimekarma = 0;
p->eggmanblame = -1;
p->lastdraft = -1;
p->karthud[khud_fault] = khudfault;

View file

@ -182,10 +182,7 @@ boolean K_EggItemCollide(mobj_t *t1, mobj_t *t2)
if (t1->target && t1->target->player)
{
if ((gametyperules & GTR_CIRCUIT) || t1->target->player->bumpers > 0)
t2->player->eggmanblame = t1->target->player-players;
else
t2->player->eggmanblame = t2->player-players;
t2->player->eggmanblame = t1->target->player - players;
if (t1->target->hnext == t1)
{

View file

@ -2910,9 +2910,6 @@ static void K_drawKartBumpersOrKarma(void)
else
V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|V_SLIDEIN|splitflags, kp_bumpersticker, colormap);
if (gametyperules & GTR_KARMA) // TODO BETTER HUD
V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|V_SLIDEIN|splitflags, va("%d/%d %d", stplyr->bumpers, maxbumper, stplyr->overtimekarma / TICRATE));
else
V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|V_SLIDEIN|splitflags, va("%d/%d", stplyr->bumpers, maxbumper));
}
}
@ -3366,12 +3363,6 @@ static void K_drawKartNameTags(void)
continue;
}
if ((gametyperules & GTR_BUMPERS) && (ntplayer->bumpers <= 0))
{
// Dead in Battle
continue;
}
if (!P_CheckSight(stplyr->mo, ntplayer->mo))
{
// Can't see

View file

@ -3262,11 +3262,6 @@ fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower, boolean dorubberb
{
finalspeed = K_GetKartSpeedFromStat(player->kartspeed);
if (gametyperules & GTR_BUMPERS && player->bumpers <= 0)
{
finalspeed = 3 * finalspeed / 2;
}
if (player->spheres > 0)
{
fixed_t sphereAdd = (FRACUNIT/40); // 100% at max
@ -3326,12 +3321,6 @@ fixed_t K_GetKartAccel(player_t *player)
return FixedMul(k_accel, FRACUNIT / 4);
}
// karma bomb gets 2x acceleration
if ((gametyperules & GTR_BUMPERS) && player->bumpers <= 0)
{
k_accel *= 2;
}
// Marble Garden Top gets 1200% accel
if (player->curshield == KSHIELD_TOP)
{
@ -4334,18 +4323,7 @@ void K_HandleBumperChanges(player_t *player, UINT8 prevBumpers)
return;
}
// TODO: replace all console text print-outs with a real visual
if (player->bumpers > 0 && prevBumpers == 0)
{
K_DoInvincibility(player, 8 * TICRATE);
if (netgame)
{
CONS_Printf(M_GetText("%s is back in the game!\n"), player_names[player-players]);
}
}
else if (player->bumpers == 0 && prevBumpers > 0)
if (player->bumpers == 0 && prevBumpers > 0)
{
if (battlecapsules || bossinfo.valid)
{
@ -5123,8 +5101,7 @@ void K_SpawnBoostTrail(player_t *player)
I_Assert(!P_MobjWasRemoved(player->mo));
if (!P_IsObjectOnGround(player->mo)
|| player->hyudorotimer != 0
|| ((gametyperules & GTR_BUMPERS) && player->bumpers <= 0 && player->karmadelay))
|| player->hyudorotimer != 0)
return;
if (player->mo->eflags & MFE_VERTICALFLIP)
@ -7797,13 +7774,6 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
player->spheres = 40;
// where's the < 0 check? see below the following block!
if ((gametyperules & GTR_BUMPERS) && (player->bumpers <= 0))
{
// Deplete 1 every tic when removed from the game.
player->spheres--;
player->spheredigestion = 0;
}
else
{
tic_t spheredigestion = TICRATE; // Base rate of 1 every second when playing.
tic_t digestionpower = ((10 - player->kartspeed) + (10 - player->kartweight))-1; // 1 to 17
@ -8017,14 +7987,6 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
K_UpdateTripwire(player);
if (battleovertime.enabled && !(player->pflags & PF_ELIMINATED) && player->bumpers <= 0 && player->karmadelay <= 0)
{
if (player->overtimekarma)
player->overtimekarma--;
else
P_DamageMobj(player->mo, NULL, NULL, 1, DMG_TIMEOVER);
}
if ((battleovertime.enabled >= 10*TICRATE) && !(player->pflags & PF_ELIMINATED) && !player->exiting)
{
fixed_t distanceToBarrier = 0;
@ -11184,18 +11146,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
player->mo->renderflags &= ~RF_DONTDRAW;
}
if (!(gametyperules & GTR_BUMPERS) || player->bumpers > 0)
{
player->mo->renderflags &= ~(RF_TRANSMASK|RF_BRIGHTMASK);
}
else // dead in match? you da bomb
{
K_DropItems(player); //K_StripItems(player);
K_StripOther(player);
player->mo->renderflags |= RF_GHOSTLY;
player->flashing = player->karmadelay;
}
if (player->trickpanel == 1)
{
const angle_t lr = ANGLE_45;

View file

@ -2285,10 +2285,6 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
// Destroy any remainder bumpers from the player for karma comeback damage
damage = K_DestroyBumpers(player, player->bumpers);
}
else
{
source->player->overtimekarma += 5*TICRATE;
}
if (damagetype & DMG_STEAL)
{

View file

@ -383,7 +383,6 @@ static void P_NetArchivePlayers(savebuffer_t *save)
WRITEUINT8(save->p, players[i].emeralds);
WRITEUINT8(save->p, players[i].bumpers);
WRITEINT16(save->p, players[i].karmadelay);
WRITEUINT32(save->p, players[i].overtimekarma);
WRITEINT16(save->p, players[i].spheres);
WRITEUINT32(save->p, players[i].spheredigestion);
@ -760,7 +759,6 @@ static void P_NetUnArchivePlayers(savebuffer_t *save)
players[i].emeralds = READUINT8(save->p);
players[i].bumpers = READUINT8(save->p);
players[i].karmadelay = READINT16(save->p);
players[i].overtimekarma = READUINT32(save->p);
players[i].spheres = READINT16(save->p);
players[i].spheredigestion = READUINT32(save->p);