From 41b4d9c565c0836d7dfce322e54b4ad9b7f120c7 Mon Sep 17 00:00:00 2001
From: toasterbabe <rollerorbital@gmail.com>
Date: Sat, 24 Sep 2016 12:06:00 +0100
Subject: [PATCH] Fixed carry bug that I introduced a while ago.

---
 src/p_user.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/p_user.c b/src/p_user.c
index ae8ded5b40..53c59d0726 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -9421,7 +9421,9 @@ void P_PlayerAfterThink(player_t *player)
 		player->mo->height = FixedDiv(P_GetPlayerHeight(player), FixedDiv(14*FRACUNIT,10*FRACUNIT));
 
 		if (player->mo->tracer->player
-			&& !player->mo->tracer->player->powers[pw_tailsfly]
+			// && !player->mo->tracer->player->powers[pw_tailsfly] -- race hazard - pw_tailsfly gets set to 0 a tic before the state switch to S_PLAY_FLY_TIRED...
+			&& player->mo->tracer->state-states != S_PLAY_FLY
+			&& player->mo->tracer->state-states != S_PLAY_SWIM
 			&& player->mo->tracer->state-states != S_PLAY_FLY_TIRED)
 				player->powers[pw_carry] = CR_NONE;
 
-- 
GitLab