Merge branch 'better-bail' into 'master'

Buffed Bail AGAIN

See merge request kart-krew-dev/ring-racers-internal!2790
This commit is contained in:
Oni VelocitOni 2025-09-03 03:03:02 +00:00
commit 513731e88a
2 changed files with 14 additions and 7 deletions

View file

@ -3132,7 +3132,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;
@ -10712,6 +10712,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
{
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);
}
S_StartSound(player->mo, sfx_kc33);
}
@ -14707,7 +14714,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!

View file

@ -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 (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 (2) // 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)