From 8f56fafe6b8d5af7748ae4fc44785c583f46c3ea Mon Sep 17 00:00:00 2001
From: AJ Martinez <aj@worldsbe.st>
Date: Wed, 22 Nov 2023 02:15:59 -0700
Subject: [PATCH] Don't double decrement long ringboosts

---
 src/k_kart.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/src/k_kart.c b/src/k_kart.c
index 00952992d1..ce845473f5 100644
--- a/src/k_kart.c
+++ b/src/k_kart.c
@@ -8402,14 +8402,18 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
 		player->ringdelay--;
 
 	if (P_PlayerInPain(player))
-		player->ringboost = 0;
+	{
+		player->ringboost = 0;		
+	}
 	else if (player->ringboost)
-		player->ringboost--;
-
-	// These values can get FUCKED ever since ring-stacking speed changes.
-	// If we're not activetly being awarded rings, roll off extreme ringboost durations.
-	if (player->superring == 0)
-		player->ringboost -= (player->ringboost / TICRATE / 2);
+	{	
+		// These values can get FUCKED ever since ring-stacking speed changes.
+		// If we're not actively being awarded rings, roll off extreme ringboost durations.
+		if (player->superring == 0)
+			player->ringboost -= max((player->ringboost / TICRATE / 2), 1);
+		else
+			player->ringboost--;
+	}
 
 	if (player->sneakertimer)
 	{
-- 
GitLab