From 786dbe46e2df0164012d8ed749811ea2a835cc63 Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Wed, 4 Jun 2025 14:58:04 -0400 Subject: [PATCH] Soften bot bumps, lower minimum complexity --- src/k_bot.cpp | 2 +- src/k_kart.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/k_bot.cpp b/src/k_bot.cpp index 86c9e7d77..2daaf3cce 100644 --- a/src/k_bot.cpp +++ b/src/k_bot.cpp @@ -582,7 +582,7 @@ fixed_t K_BotMapModifier(void) { constexpr INT32 complexity_scale = 10000; fixed_t modifier_max = FRACUNIT * 2; - fixed_t modifier_min = 4 * FRACUNIT / 10; + fixed_t modifier_min = 3 * FRACUNIT / 10; modifier_min -= FRACUNIT; const fixed_t complexity_value = std::clamp( diff --git a/src/k_kart.c b/src/k_kart.c index 1f1487e41..c42ddc416 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -741,6 +741,7 @@ static fixed_t K_PlayerWeight(mobj_t *mobj, mobj_t *against) // Applies rubberbanding, to prevent rubberbanding bots // from causing super crazy bumps. fixed_t spd = K_GetKartSpeed(mobj->player, false, true); + fixed_t unmodifiedspd = K_GetKartSpeed(mobj->player, false, false); fixed_t speedfactor = 8 * mapobjectscale; @@ -757,7 +758,10 @@ static fixed_t K_PlayerWeight(mobj_t *mobj, mobj_t *against) } if (mobj->player->speed > spd) - weight += FixedDiv((mobj->player->speed - spd), speedfactor); + weight += FixedDiv( + FixedDiv((mobj->player->speed - spd), speedfactor), + FixedDiv(spd, unmodifiedspd) + ); } return weight;