From 424cda41d4fdf842915183362597cec18d5f75dc Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sat, 29 Jul 2023 03:51:46 -0700 Subject: [PATCH 1/2] Slower players lose springgrease faster --- src/k_kart.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/k_kart.c b/src/k_kart.c index 9f24aea77..effde5092 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8169,7 +8169,19 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) player->justbumped--; if (player->tiregrease) - player->tiregrease--; + { + // Remove grease faster if players are moving slower; players that are recovering + // from mistakes (or who got sprung purely for track traversal) need steering! + // Up to 4x degrease speed below 10FU/t (speed at which you lose drift sparks). + INT16 toDegrease = 1; + INT16 driftSpeedIncrements = player->speed / (10 * player->mo->scale); // + toDegrease += max(3 - driftSpeedIncrements, 0); + + if (player->tiregrease <= toDegrease) + player->tiregrease = 0; + else + player->tiregrease -= toDegrease; + } if (player->spinouttimer || player->tumbleBounces) { From dc39566acfd0af9a12c4c57b9cf55418580009a5 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sat, 29 Jul 2023 03:53:04 -0700 Subject: [PATCH 2/2] Clarify degrease magic number --- src/k_kart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/k_kart.c b/src/k_kart.c index effde5092..25bcf9c25 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8174,7 +8174,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) // from mistakes (or who got sprung purely for track traversal) need steering! // Up to 4x degrease speed below 10FU/t (speed at which you lose drift sparks). INT16 toDegrease = 1; - INT16 driftSpeedIncrements = player->speed / (10 * player->mo->scale); // + INT16 driftSpeedIncrements = player->speed / (10 * player->mo->scale); // Same breakpoints used for driftcharge stages. toDegrease += max(3 - driftSpeedIncrements, 0); if (player->tiregrease <= toDegrease)