From 9f7c900a475c0e7f089e8bdfe683bbf8c299c032 Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Mon, 1 Sep 2025 01:10:11 -0400 Subject: [PATCH 1/5] Stronger bail Bail is JUICED --- src/k_kart.c | 9 ++++++++- src/k_kart.h | 10 +++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 7816aaa21..746cff2db 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3126,7 +3126,7 @@ boolean K_ApplyOffroad(const player_t *player) boolean K_SlopeResistance(const player_t *player) { - if (player->invincibilitytimer || player->sneakertimer || player->panelsneakertimer || player->weaksneakertimer || player->tiregrease || player->flamedash) + if (player->invincibilitytimer || player->sneakertimer || player->panelsneakertimer || player->weaksneakertimer || player->tiregrease || player->flamedash || player->baildrop) return true; if (player->curshield == KSHIELD_TOP) return true; @@ -10698,6 +10698,13 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) S_StartSound(player->follower, fl->hornsound); } + if (!P_IsObjectOnGround(player->mo)) // If you're bailing off the ground, shoot down. Mostly for Burst + { + player->mo->momz -= 100 * player->mo->scale; + P_StartQuakeFromMobj(7, 100 * player->mo->scale, 2048 * player->mo->scale, player->mo); // quake even harder + S_StartSound(player->mo, sfx_gshc6); + } + S_StartSound(player->mo, sfx_kc33); } diff --git a/src/k_kart.h b/src/k_kart.h index 483800777..63b61a53d 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -45,11 +45,11 @@ 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 (FRACUNIT) -#define BAIL_BOOST (6*FRACUNIT/5) -#define BAIL_CREDIT_DEBTRINGS (true) -#define BAIL_DROPFREQUENCY (2) -#define BAILSTUN (TICRATE*6) +#define BAIL_DROP (3*FRACUNIT/2) // How many rings it has to drop before stun starts +#define BAIL_BOOST (19*FRACUNIT/10) // How fast bail itself is +#define BAIL_CREDIT_DEBTRINGS (true) +#define BAIL_DROPFREQUENCY (1) // How quickly the rings spill out +#define BAILSTUN (TICRATE*6) // The fixed length of stun after baildrop is over #define MAXCOMBOTHRUST (mapobjectscale*20) #define MAXCOMBOFLOAT (mapobjectscale*10) From 39abe390db360d644f9a8718dd6c6d144de73ae1 Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Mon, 1 Sep 2025 02:05:00 -0400 Subject: [PATCH 2/5] Reverse gravity friendly & no TA Works in reverse gravity now and shouldn't appear in any time attack modes --- 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 746cff2db..03c7d4dbb 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -10653,7 +10653,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) player->bailhitlag = false; } - if ((!P_PlayerInPain(player) && player->bailcharge >= 5) || player->bailcharge >= BAIL_MAXCHARGE) + if (!modeattacking && ((!P_PlayerInPain(player) && player->bailcharge >= 5) || player->bailcharge >= BAIL_MAXCHARGE)) { mobj_t *bail = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_BAIL); P_SetTarget(&bail->target, player->mo); @@ -10700,7 +10700,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) if (!P_IsObjectOnGround(player->mo)) // If you're bailing off the ground, shoot down. Mostly for Burst { - player->mo->momz -= 100 * player->mo->scale; + P_SetObjectMomZ(player->mo, -100*FRACUNIT, true); // (Reverse gravity friendly...) P_StartQuakeFromMobj(7, 100 * player->mo->scale, 2048 * player->mo->scale, player->mo); // quake even harder S_StartSound(player->mo, sfx_gshc6); } From 5e46be14e4167ca8bbed0371a6f9f502e3c23b50 Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Mon, 1 Sep 2025 16:11:58 -0400 Subject: [PATCH 3/5] Block bail charge in attack modes, not bail activation --- 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 03c7d4dbb..ead1570f0 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -10653,7 +10653,7 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) player->bailhitlag = false; } - if (!modeattacking && ((!P_PlayerInPain(player) && player->bailcharge >= 5) || player->bailcharge >= BAIL_MAXCHARGE)) + if ((!P_PlayerInPain(player) && player->bailcharge >= 5) || player->bailcharge >= BAIL_MAXCHARGE) { mobj_t *bail = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_BAIL); P_SetTarget(&bail->target, player->mo); @@ -14693,7 +14693,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) if (player->cmd.buttons & BT_BAIL && (player->cmd.buttons & BT_RESPAWNMASK) != BT_RESPAWNMASK) { - if (leveltime < introtime || (gametyperules & GTR_SPHERES)) + if (leveltime < introtime || (gametyperules & GTR_SPHERES) || modeattacking) { // No bailing in GTR_SPHERES because I cannot be fucked to do manual Last Chance right now. // Maybe someday! From 2e343fdaed3c2e8cb5e5887e465e6fe8b958a29f Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Tue, 2 Sep 2025 22:17:25 -0400 Subject: [PATCH 4/5] 190% -> 160% Bailboost Nerf to boost speed --- src/k_kart.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/k_kart.h b/src/k_kart.h index a1639ec66..f2ceefe4a 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -46,7 +46,7 @@ Make sure this matches the actual number of states #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 (3*FRACUNIT/2) // How many rings it has to drop before stun starts -#define BAIL_BOOST (19*FRACUNIT/10) // How fast bail itself is +#define BAIL_BOOST (8*FRACUNIT/5) // How fast bail itself is #define BAIL_CREDIT_DEBTRINGS (true) #define BAIL_DROPFREQUENCY (1) // How quickly the rings spill out #define BAILSTUN (TICRATE*6) // The fixed length of stun after baildrop is over From cd76393f775d21b18df34005d8be0da0277e5b7d Mon Sep 17 00:00:00 2001 From: VelocitOni Date: Tue, 2 Sep 2025 23:00:12 -0400 Subject: [PATCH 5/5] Revert all defines back All defines reverted to master. We're only keeping it's slope resistance and the downwards throw --- src/k_kart.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/k_kart.h b/src/k_kart.h index f2ceefe4a..d84f1e9ab 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -45,10 +45,10 @@ 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 (3*FRACUNIT/2) // How many rings it has to drop before stun starts -#define BAIL_BOOST (8*FRACUNIT/5) // How fast bail itself is +#define BAIL_DROP (FRACUNIT) // How many rings it has to drop before stun starts +#define BAIL_BOOST (6*FRACUNIT/5) // How fast bail itself is #define BAIL_CREDIT_DEBTRINGS (true) -#define BAIL_DROPFREQUENCY (1) // How quickly the rings spill out +#define BAIL_DROPFREQUENCY (2) // How quickly the rings spill out #define BAILSTUN (TICRATE*6) // The fixed length of stun after baildrop is over #define MAXCOMBOTHRUST (mapobjectscale*20)