Merge branch 'whip-blocks-award-rings' into 'master'

Whip charge blocks award rings

See merge request kart-krew-dev/ring-racers-internal!2515
This commit is contained in:
Oni VelocitOni 2025-05-02 01:40:42 +00:00
commit e24759b205

View file

@ -4215,6 +4215,9 @@ void K_AwardPlayerRings(player_t *player, UINT16 rings, boolean overload)
void K_CheckpointCrossAward(player_t *player) void K_CheckpointCrossAward(player_t *player)
{ {
if (gametype != GT_RACE)
return;
player->exp += K_GetExpAdjustment(player); player->exp += K_GetExpAdjustment(player);
K_AwardPlayerRings(player, (player->bot ? 20 : 10), true); K_AwardPlayerRings(player, (player->bot ? 20 : 10), true);
} }
@ -9657,6 +9660,13 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
player->nextringaward++; player->nextringaward++;
UINT8 ringrate = 3 - min(2, player->superring / 20); // Used to consume fat stacks of cash faster. UINT8 ringrate = 3 - min(2, player->superring / 20); // Used to consume fat stacks of cash faster.
if (player->nextringaward >= ringrate) 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); mobj_t *ring = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_RING);
ring->extravalue1 = 1; // Ring collect animation timer ring->extravalue1 = 1; // Ring collect animation timer
@ -9669,6 +9679,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
player->superring--; player->superring--;
} }
} }
}
else else
{ {
player->nextringaward = 99; // Next time we need to award superring, spawn the first one instantly. player->nextringaward = 99; // Next time we need to award superring, spawn the first one instantly.