From 3a305be3cdc0591da8fd2c3c783bb5a8e9e6ae3e Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Fri, 19 Jan 2024 20:26:06 -0700 Subject: [PATCH] Allow fastfall out of water run --- src/k_kart.c | 6 ++++++ src/p_mobj.c | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/k_kart.c b/src/k_kart.c index f03344988..02334ce57 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -2983,6 +2983,12 @@ boolean K_WaterSkip(mobj_t *mobj) // Don't allow return false; } + + if (K_PlayerEBrake(mobj->player)) + { + return false; + } + // Allow break; } diff --git a/src/p_mobj.c b/src/p_mobj.c index dfe9008b8..71b4f82e4 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -3358,6 +3358,16 @@ boolean P_CanRunOnWater(mobj_t *mobj, ffloor_t *rover) } } + // E-brake during water-run forces a fastfall. + // We disable the ebrake input safety to do this, so we've gotta check it as late as + // possible: otherwise, this would cause misinput fastfall or underwater twerking. + if (mobj->player != NULL && K_PlayerEBrake(mobj->player)) + { + if (P_IsObjectOnGround(mobj) && !mobj->player->fastfall) + mobj->player->pflags &= ~PF_NOFASTFALL; + return false; + } + return true; }