diff --git a/game/Mover.cpp b/game/Mover.cpp index 9f1a819..88f3d36 100644 --- a/game/Mover.cpp +++ b/game/Mover.cpp @@ -1004,6 +1004,9 @@ void idMover::Event_PartBlocked( idEntity *blockingEntity ) { if ( g_debugMover.GetBool() ) { gameLocal.Printf( "%d: '%s' blocked by '%s'\n", gameLocal.time, name.c_str(), blockingEntity->name.c_str() ); } + if ( blockingEntity->IsType( idMoveableGibItem::Type ) ) { // darknar, remove gib if is blocking the mover + blockingEntity->PostEventMS( &EV_Remove, 0 ); + } } /* @@ -3790,6 +3793,9 @@ void idDoor::Event_PartBlocked( idEntity *blockingEntity ) { if ( damage > 0.0f ) { blockingEntity->Damage( this, this, vec3_origin, "damage_moverCrush", damage, INVALID_JOINT ); } + if ( blockingEntity->IsType( idMoveableGibItem::Type ) ) { // darknar, remove gib if is blocking the mover + blockingEntity->PostEventMS( &EV_Remove, 0 ); + } } /* @@ -4227,6 +4233,9 @@ void idPlat::Event_PartBlocked( idEntity *blockingEntity ) { if ( damage > 0.0f ) { blockingEntity->Damage( this, this, vec3_origin, "damage_moverCrush", damage, INVALID_JOINT ); } + if ( blockingEntity->IsType( idMoveableGibItem::Type ) ) { // darknar, remove gib if is blocking the mover + blockingEntity->PostEventMS( &EV_Remove, 0 ); + } } @@ -4318,6 +4327,9 @@ void idMover_Periodic::Event_PartBlocked( idEntity *blockingEntity ) { if ( damage > 0.0f ) { blockingEntity->Damage( this, this, vec3_origin, "damage_moverCrush", damage, INVALID_JOINT ); } + if ( blockingEntity->IsType( idMoveableGibItem::Type ) ) { // darknar remove gib if is blocking the mover + blockingEntity->PostEventMS( &EV_Remove, 0 ); + } } /*