From dcf9d37c8ee1117312769e1d018571d56d30811b Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Fri, 1 Mar 2024 16:18:07 -0700 Subject: [PATCH] Grant a (weak) boost even for low-charge wavedash attempts --- src/k_kart.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 0444d3c11..0c02c7dc3 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3322,7 +3322,13 @@ static void K_GetKartBoostPower(player_t *player) if (player->wavedashboost) { // NB: This is intentionally under the 25% handleboost threshold required to initiate a sliptide - ADDBOOST(8*FRACUNIT/10, 4*FRACUNIT, 2*SLIPTIDEHANDLING/5); // + 80% top speed, + 400% acceleration, +20% handling + ADDBOOST(8*FRACUNIT/10, + Easing_InSine( + min(FRACUNIT, player->wavedashboost * FRACUNIT / 15), + 0, + 4*FRACUNIT + ), + 2*SLIPTIDEHANDLING/5); // + 80% top speed, +400% acceleration (peak), +20% handling } if (player->spindashboost) // Spindash boost @@ -10616,7 +10622,7 @@ static void K_KartDrift(player_t *player, boolean onground) player->wavedashdelay++; if (player->wavedashdelay > TICRATE/2) { - if (player->wavedash >= MIN_WAVEDASH_CHARGE) + if (player->wavedash > HIDEWAVEDASHCHARGE) { fixed_t maxZipPower = 2*FRACUNIT; fixed_t minZipPower = 1*FRACUNIT; @@ -10635,7 +10641,13 @@ static void K_KartDrift(player_t *player, boolean onground) player->wavedashboost += yourBoost; - S_StartSoundAtVolume(player->mo, sfx_waved3, 255); // Boost + S_StartSoundAtVolume(player->mo, sfx_waved3, + Easing_InSine( + min(FRACUNIT, player->wavedash * FRACUNIT / MIN_WAVEDASH_CHARGE), + 120, + 255 + ) + ); // Boost K_SpawnDriftBoostExplosion(player, 0); }