nvm this is way funnier

This commit is contained in:
AJ Martinez 2025-05-01 20:31:51 -04:00
parent 75bb6ed8f2
commit 1c3bb7fecb
2 changed files with 20 additions and 12 deletions

View file

@ -4154,6 +4154,9 @@ void K_AwardPlayerRings(player_t *player, UINT16 rings, boolean overload)
void K_CheckpointCrossAward(player_t *player)
{
if (gametype != GT_RACE)
return;
player->exp += K_GetExpAdjustment(player);
K_AwardPlayerRings(player, (player->bot ? 20 : 10), true);
}
@ -9589,6 +9592,13 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
player->nextringaward++;
UINT8 ringrate = 3 - min(2, player->superring / 20); // Used to consume fat stacks of cash faster.
if (player->nextringaward >= ringrate)
{
if (player->instaWhipCharge)
{
// Store award rings to do diabolical horseshit with later.
player->nextringaward = ringrate;
}
else
{
mobj_t *ring = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_RING);
ring->extravalue1 = 1; // Ring collect animation timer
@ -9601,6 +9611,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
player->superring--;
}
}
}
else
{
player->nextringaward = 99; // Next time we need to award superring, spawn the first one instantly.

View file

@ -454,9 +454,6 @@ INT32 P_GivePlayerRings(player_t *player, INT32 num_rings)
if ((gametyperules & GTR_SPHERES)) // No rings in Battle Mode
return 0;
if (player->instaWhipCharge) // Even if a ring somehow makes contact with you, no it didn't
return 0;
if (gamedata && num_rings > 0 && P_IsPartyPlayer(player) && gamedata->totalrings <= GDMAX_RINGS)
{
gamedata->totalrings += num_rings;