diff --git a/src/k_collide.cpp b/src/k_collide.cpp index 0eecf4c88..c609ba9b5 100644 --- a/src/k_collide.cpp +++ b/src/k_collide.cpp @@ -75,7 +75,8 @@ boolean K_BananaBallhogCollide(mobj_t *t1, mobj_t *t2) if (t1->type == MT_BALLHOGBOOM && t2->type == MT_BALLHOGBOOM) return true; // Ballhogs don't collide with eachother - if (t1->type == MT_BALLHOGBOOM && t2->type == MT_PLAYER && t1->target == t2 ) + extern consvar_t cv_debugpickmeup; + if (t1->type == MT_BALLHOGBOOM && t2->type == MT_PLAYER && t1->target == t2 && !cv_debugpickmeup.value) return true; // Allied hog explosion, not snatchable but shouldn't damage if (K_TryPickMeUp(t1, t2, false)) diff --git a/src/p_mobj.c b/src/p_mobj.c index 1ac671d73..dde8f128a 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -7557,6 +7557,14 @@ static boolean P_MobjRegularThink(mobj_t *mobj) P_MobjCheckWater(mobj); } break; + case MT_BALLHOGBOOM: + { + if ((mobj->frame & FF_FRAMEMASK) >= 15) + { + mobj->flags |= MF_NOCLIPTHING; + } + break; + } case MT_SINK: if (mobj->momx || mobj->momy) {