diff --git a/src/k_collide.c b/src/k_collide.c index 1256263a8..ba1f84b5e 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -113,15 +113,25 @@ boolean K_BananaBallhogCollide(mobj_t *t1, mobj_t *t2) damageitem = true; } - if (damageitem) + if (damageitem && P_MobjWasRemoved(t1) == false) { - // This Item Damage - angle_t bounceangle = K_GetCollideAngle(t2, t1); + angle_t bounceangle; + if (P_MobjWasRemoved(t2) == false) + { + bounceangle = K_GetCollideAngle(t2, t1); + } + else + { + bounceangle = K_MomentumAngle(t1) + ANGLE_90; + } + + // This Item Damage S_StartSound(t1, t1->info->deathsound); P_KillMobj(t1, t2, t2, DMG_NORMAL); P_SetObjectMomZ(t1, 24*FRACUNIT, false); + P_InstaThrust(t1, bounceangle, 16*FRACUNIT); }