diff --git a/src/k_kart.c b/src/k_kart.c index 32065eaf6..2a33a5da8 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -9823,7 +9823,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) if (!player->baildrop && (player->superring == 0 || player->stunned)) player->ringboost -= max((player->ringboost / roller), 1); - else if (K_LegacyRingboost(player) || player->baildrop) + else if (K_LegacyRingboost(player)) player->ringboost--; else player->ringboost -= min(K_GetFullKartRingPower(player, false) - 1, max(player->ringboost / 2 / roller, 1)); @@ -13989,6 +13989,8 @@ void K_MoveKartPlayer(player_t *player, boolean onground) } UINT32 totalrings = player->rings + player->superring + player->pickuprings; + if (BAIL_CREDIT_DEBTRINGS) + totalrings += debtrings; totalrings = max(totalrings, 0); UINT32 bailboost = FixedInt(FixedMul(totalrings*FRACUNIT, BAIL_BOOST)); UINT32 baildrop = FixedInt(FixedMul((totalrings)*FRACUNIT, BAIL_DROP)); diff --git a/src/k_kart.h b/src/k_kart.h index e5f209b05..4b580f115 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -45,8 +45,9 @@ Make sure this matches the actual number of states #define PUNISHWINDOW (7*TICRATE/10) #define BAIL_MAXCHARGE (84) // tics to bail when in painstate nad in air, on ground is half, if you touch this, also update Obj_BailChargeThink synced animation logic -#define BAIL_DROP (2*FRACUNIT/3) -#define BAIL_BOOST (90*FRACUNIT/100) +#define BAIL_DROP (FRACUNIT) +#define BAIL_BOOST (FRACUNIT) +#define BAIL_CREDIT_DEBTRINGS (true) #define BAIL_DROPFREQUENCY (2) #define BAILSTUN (TICRATE*10)