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;