From 50d9bf7b7d87c1778698276d16b29fdb30bce936 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 1 Jan 2023 02:07:09 -0800 Subject: [PATCH] Faster moving players hit monitors harder --- src/k_kart.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index e01d85db2..603266aed 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -624,13 +624,22 @@ static fixed_t K_PlayerWeight(mobj_t *mobj, mobj_t *against) // from causing super crazy bumps. fixed_t spd = K_GetKartSpeed(mobj->player, false, true); + fixed_t speedfactor = 8 * mapobjectscale; + weight = (mobj->player->kartweight) * FRACUNIT; - if (mobj->player->speed > spd) - weight += FixedDiv((mobj->player->speed - spd), 8 * mapobjectscale); + if (against && against->type == MT_MONITOR) + { + speedfactor /= 5; // speed matters more + } + else + { + if (mobj->player->itemtype == KITEM_BUBBLESHIELD) + weight += 9*FRACUNIT; + } - if (mobj->player->itemtype == KITEM_BUBBLESHIELD) - weight += 9*FRACUNIT; + if (mobj->player->speed > spd) + weight += FixedDiv((mobj->player->speed - spd), speedfactor); } return weight;