From 622a44f551bb1c1c3c032ac22ddcd88e6685d4a8 Mon Sep 17 00:00:00 2001 From: MascaraSnake Date: Sun, 16 Jun 2019 16:39:06 +0200 Subject: [PATCH] Fixed a bug involving players being thrown out of minecarts --- src/p_inter.c | 3 --- src/p_mobj.c | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index 3aed35f84..0c81d7833 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -3660,9 +3660,6 @@ void P_PlayerRingBurst(player_t *player, INT32 num_rings) } if (player->mo->eflags & MFE_VERTICALFLIP) mo->momz *= -1; - - if (P_IsObjectOnGround(player->mo)) - player->powers[pw_carry] = CR_NONE; } player->losstime += 10*TICRATE; diff --git a/src/p_mobj.c b/src/p_mobj.c index bfec5af78..7163dbe79 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8948,7 +8948,7 @@ void P_PushableThinker(mobj_t *mobj) if (mobj->type == MT_MINECART && mobj->health) { // If player is ded, remove this minecart - if (!mobj->target || P_MobjWasRemoved(mobj->target) || !mobj->target->health) + if (!mobj->target || P_MobjWasRemoved(mobj->target) || !mobj->target->health || !mobj->target->player || mobj->target->player->powers[pw_carry] != CR_MINECART) { P_KillMobj(mobj, NULL, NULL, 0); return;