mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-29 03:02:38 +00:00
Allow spindash while flashing, but you lose rings while doing so.
I really hated that one of your controls would just... turn off while you were flashing. Even if there was a very good reason to not allow it (Funky Kong's Ring Racers™️).
So instead, you CAN spindash in flashing ticks... but you're punished so harshly for it that it's not worth it. Which will actually teach people to not do it more than just the input arbitrarily not working :p
This commit is contained in:
parent
c7783945ca
commit
f4e23bc4e2
1 changed files with 15 additions and 3 deletions
18
src/k_kart.c
18
src/k_kart.c
|
|
@ -7526,11 +7526,14 @@ static void K_KartSpindash(player_t *player)
|
|||
return;
|
||||
}
|
||||
|
||||
if (player->speed < 6*mapobjectscale && player->powers[pw_flashing] == 0)
|
||||
if (player->speed == 0 && cmd->turning != 0 && leveltime % 8 == 0)
|
||||
{
|
||||
if (cmd->turning != 0 && leveltime % 8 == 0)
|
||||
S_StartSound(player->mo, sfx_ruburn);
|
||||
// Rubber burn turn sfx
|
||||
S_StartSound(player->mo, sfx_ruburn);
|
||||
}
|
||||
|
||||
if (player->speed < 6*player->mo->scale)
|
||||
{
|
||||
if ((cmd->buttons & (BT_DRIFT|BT_BRAKE)) == (BT_DRIFT|BT_BRAKE))
|
||||
{
|
||||
INT16 chargetime = MAXCHARGETIME - ++player->kartstuff[k_spindash];
|
||||
|
|
@ -7547,6 +7550,15 @@ static void K_KartSpindash(player_t *player)
|
|||
K_KartSpindashWind(player->mo);
|
||||
}
|
||||
|
||||
if (player->powers[pw_flashing] > 0 && (leveltime & 1))
|
||||
{
|
||||
// Every frame that you're invisible from flashing, spill a ring.
|
||||
// Intentionally a lop-sided trade-off, so the game doesn't become
|
||||
// Funky Kong's Ring Racers.
|
||||
|
||||
P_PlayerRingBurst(player, 1);
|
||||
}
|
||||
|
||||
if (chargetime > 0)
|
||||
{
|
||||
UINT16 soundcharge = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue