From 8d9b616f003db05b04ad583d84cecf1f056a5e7c Mon Sep 17 00:00:00 2001
From: toasterbabe <rollerorbital@gmail.com>
Date: Sat, 25 Mar 2017 12:42:39 +0000
Subject: [PATCH] Fixed repeatable bounces sending you hog-wild if you went
 into water shallow enough to only spend a single frame in before hitting the
 ground.

---
 src/p_mobj.c | 1 +
 src/p_user.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/p_mobj.c b/src/p_mobj.c
index 2fde531d1..ac2f4c5c4 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -3302,6 +3302,7 @@ static void P_PlayerZMovement(mobj_t *mo)
 
 					if (mo->player->pflags & PF_BOUNCING)
 					{
+						P_MobjCheckWater(mo);
 						mo->momz *= -1;
 						P_DoAbilityBounce(mo->player, true);
 						if (mo->player->scoreadd)
diff --git a/src/p_user.c b/src/p_user.c
index a54eac68d..f10ae1605 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -4017,6 +4017,7 @@ void P_DoBubbleBounce(player_t *player)
 {
 	player->pflags &= ~(PF_JUMPED|PF_NOJUMPDAMAGE|PF_SHIELDABILITY);
 	S_StartSound(player->mo, sfx_s3k44);
+	P_MobjCheckWater(player->mo);
 	P_DoJump(player, false);
 	if (player->charflags & SF_NOJUMPSPIN)
 		P_SetPlayerMobjState(player->mo, S_PLAY_FALL);