From 25f8b1deb188eea9a9ec5c458086276fff7d4ba9 Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Tue, 3 Jun 2025 00:26:23 -0400 Subject: [PATCH 1/5] Ring Power added Top Left weighted, gets 20% speed force from rings --- src/k_kart.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/k_kart.c b/src/k_kart.c index 60f743c81..8012bbe44 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3686,8 +3686,9 @@ static void K_GetKartBoostPower(player_t *player) // This one's a little special: we add extra top speed per tic of ringboost stored up, to allow for Ring Box to really rocket away. // (We compensate when decrementing ringboost to avoid runaway exponential scaling hell.) fixed_t rb = FixedDiv(player->ringboost * FRACUNIT, max(FRACUNIT, K_RingDurationBoost(player))); + fixed_t rp = ((9 - player->kartspeed) + (9 - player->kartweight)) * ((FRACUNIT/5)/16); ADDBOOST( - ringboost_base + FixedMul(FRACUNIT / 1750, rb), + ringboost_base + FixedMul(FRACUNIT / 1750, rb) + rp, 4*FRACUNIT, Easing_InCubic(min(FRACUNIT, rb / (TICRATE*12)), 0, 2*HANDLESCALING/5) ); // + 20% + ???% top speed, + 400% acceleration, +???% handling From c92bf63e69fd82fe3104089068ac89306a3dc756 Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Wed, 4 Jun 2025 00:20:11 -0400 Subject: [PATCH 2/5] Slight nerf 20% -> 15% --- 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 8012bbe44..ab7d101f1 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3686,7 +3686,7 @@ static void K_GetKartBoostPower(player_t *player) // This one's a little special: we add extra top speed per tic of ringboost stored up, to allow for Ring Box to really rocket away. // (We compensate when decrementing ringboost to avoid runaway exponential scaling hell.) fixed_t rb = FixedDiv(player->ringboost * FRACUNIT, max(FRACUNIT, K_RingDurationBoost(player))); - fixed_t rp = ((9 - player->kartspeed) + (9 - player->kartweight)) * ((FRACUNIT/5)/16); + fixed_t rp = ((9 - player->kartspeed) + (9 - player->kartweight)) * ((3*FRACUNIT/20)/16); ADDBOOST( ringboost_base + FixedMul(FRACUNIT / 1750, rb) + rp, 4*FRACUNIT, From 78f8c53353d896419836eec88b23d1f26d2be916 Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Thu, 19 Jun 2025 02:49:21 -0400 Subject: [PATCH 3/5] Adjusted Ring Duration Made ring duration half as effective up the graph (top end should be unaffected), raised minimum duration 3->7 --- src/k_kart.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index bec04750d..ebbe542e2 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -11332,7 +11332,7 @@ static void K_UpdatePlayerWaypoints(player_t *const player) INT32 K_GetKartRingPower(const player_t *player, boolean boosted) { - fixed_t ringPower = ((9 - player->kartspeed) + (9 - player->kartweight)) * (FRACUNIT/2); + fixed_t ringPower = ((9 - player->kartspeed) + (9 - player->kartweight)) * (FRACUNIT/4); if (boosted == true) { @@ -11344,7 +11344,7 @@ INT32 K_GetKartRingPower(const player_t *player, boolean boosted) INT32 K_GetFullKartRingPower(const player_t *player, boolean boosted) { - return 3 + K_GetKartRingPower(player, boosted); + return 7 + K_GetKartRingPower(player, boosted); } // Returns false if this player being placed here causes them to collide with any other player From d29e831c8e3a544b7b6cab70dd38464049d97627 Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Thu, 19 Jun 2025 02:51:01 -0400 Subject: [PATCH 4/5] Less strong Min duration 7->6 --- src/k_kart.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index ebbe542e2..a8b010ece 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -11332,7 +11332,7 @@ static void K_UpdatePlayerWaypoints(player_t *const player) INT32 K_GetKartRingPower(const player_t *player, boolean boosted) { - fixed_t ringPower = ((9 - player->kartspeed) + (9 - player->kartweight)) * (FRACUNIT/4); + fixed_t ringPower = ((9 - player->kartspeed) + (9 - player->kartweight)) * (FRACUNIT/3); if (boosted == true) { @@ -11344,7 +11344,7 @@ INT32 K_GetKartRingPower(const player_t *player, boolean boosted) INT32 K_GetFullKartRingPower(const player_t *player, boolean boosted) { - return 7 + K_GetKartRingPower(player, boosted); + return 6 + K_GetKartRingPower(player, boosted); } // Returns false if this player being placed here causes them to collide with any other player From 45a8e234fe9415e4367aad70790d25553827dd86 Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Thu, 19 Jun 2025 19:56:56 -0400 Subject: [PATCH 5/5] Small boost Small boost to ring duration minimum --- src/k_kart.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index a8b010ece..ebbe542e2 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -11332,7 +11332,7 @@ static void K_UpdatePlayerWaypoints(player_t *const player) INT32 K_GetKartRingPower(const player_t *player, boolean boosted) { - fixed_t ringPower = ((9 - player->kartspeed) + (9 - player->kartweight)) * (FRACUNIT/3); + fixed_t ringPower = ((9 - player->kartspeed) + (9 - player->kartweight)) * (FRACUNIT/4); if (boosted == true) { @@ -11344,7 +11344,7 @@ INT32 K_GetKartRingPower(const player_t *player, boolean boosted) INT32 K_GetFullKartRingPower(const player_t *player, boolean boosted) { - return 6 + K_GetKartRingPower(player, boosted); + return 7 + K_GetKartRingPower(player, boosted); } // Returns false if this player being placed here causes them to collide with any other player