From 941bf8eb03174cd1c7fca04ad9bd5ab5f3effe22 Mon Sep 17 00:00:00 2001 From: toasterbabe <rollerorbital@gmail.com> Date: Thu, 8 Sep 2016 14:38:57 +0100 Subject: [PATCH] Corrected multiple oversights with swimming players dropping their friends when they shouldn't. --- src/p_map.c | 5 ++++- src/p_user.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/p_map.c b/src/p_map.c index 0b4987c49b..48946a4ba6 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -307,7 +307,10 @@ static void P_DoTailsCarry(player_t *sonic, player_t *tails) if ((sonic->pflags & PF_CARRIED) && sonic->mo->tracer == tails->mo) return; - if (!tails->powers[pw_tailsfly] && !(tails->charability == CA_FLY && tails->mo->state-states == S_PLAY_FLY_TIRED)) + if (tails->charability != CA_FLY && tails->charability != CA_SWIM) + return; + + if (!tails->powers[pw_tailsfly] && tails->mo->state-states != S_PLAY_FLY_TIRED) return; if (tails->bot == 1) diff --git a/src/p_user.c b/src/p_user.c index 5149f8d736..2934bc2ae4 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -9405,7 +9405,7 @@ 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->state-states != S_PLAY_FLY + && !player->mo->tracer->player->powers[pw_tailsfly] && player->mo->tracer->state-states != S_PLAY_FLY_TIRED) player->pflags &= ~PF_CARRIED; -- GitLab