From b84257f2ab46a837e0461ddbd76454f71f560242 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Mon, 17 Mar 2025 11:36:03 -0400 Subject: [PATCH] Fix water stepup conditions --- src/p_map.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/p_map.c b/src/p_map.c index c923df9f6..6f646b255 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -2467,15 +2467,22 @@ BlockItReturn_t PIT_PushableMoved(mobj_t *thing) static boolean P_WaterRunning(mobj_t *thing) { ffloor_t *rover = thing->floorrover; - return rover && (rover->fofflags & FOF_SWIMMABLE) && - P_IsObjectOnGround(thing); + + if (thing->player) + { + return rover && (rover->fofflags & FOF_SWIMMABLE) && + P_IsObjectOnGround(thing) && thing->player->waterrun; + } + else + { + // Maybe move waterrun bool to mobj_t someday..? + return false; + } } static boolean P_WaterStepUp(mobj_t *thing) { - player_t *player = thing->player; - return (player && player->waterskip) || - P_WaterRunning(thing); + return P_WaterRunning(thing); } fixed_t P_BaseStepUp(void)