From d480ce24a95b8bc857b8b629abdf929e90b88c60 Mon Sep 17 00:00:00 2001 From: Sryder13 Date: Sat, 11 Nov 2017 01:17:42 +0000 Subject: [PATCH 1/2] Stop players bumping when they're reborn --- src/k_kart.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/k_kart.c b/src/k_kart.c index 37f1a43d..4bbb7b40 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1050,6 +1050,11 @@ void K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce) if (!mobj1 || !mobj2) return; + // Don't bump when you're being reborn + if ((mobj1->player && mobj1->player->playerstate != PST_LIVE) + || (mobj2->player && mobj2->player->playerstate != PST_LIVE)) + return; + if (cv_collidesounds.value == 1) { S_StartSound(mobj1, cv_collidesoundnum.value); From ff667b7e45a92de0afe99a0563f845690b471cbf Mon Sep 17 00:00:00 2001 From: Sryder13 Date: Fri, 17 Nov 2017 22:40:24 +0000 Subject: [PATCH 2/2] Fix the items hitting people you bump bug --- src/p_mobj.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/p_mobj.c b/src/p_mobj.c index aa2d0ff3..6955677e 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -6582,9 +6582,11 @@ void P_MobjThinker(mobj_t *mobj) z = mobj->target->z + mobj->target->height - mobj->height; } + mobj->flags |= MF_NOCLIPTHING; // temporarily make them noclip other objects so they can't hit anyone while in the player P_TeleportMove(mobj, mobj->target->x, mobj->target->y, z); mobj->momx = FixedMul(FINECOSINE(mobj->angle>>ANGLETOFINESHIFT),radius); mobj->momy = FixedMul(FINESINE(mobj->angle>>ANGLETOFINESHIFT), radius); + mobj->flags &= ~MF_NOCLIPTHING; if (!P_TryMove(mobj, mobj->target->x + mobj->momx, mobj->target->y + mobj->momy, true)) P_SlideMove(mobj, true); if (P_IsObjectOnGround(mobj->target))