diff --git a/Tactical/Handle Items.cpp b/Tactical/Handle Items.cpp index 83e6a1fc0..55d126127 100644 --- a/Tactical/Handle Items.cpp +++ b/Tactical/Handle Items.cpp @@ -1528,7 +1528,7 @@ void HandleSoldierDropBomb( SOLDIERTYPE *pSoldier, INT32 sGridNo ) StatChange( pSoldier, EXPLODEAMT, 10, FROM_FAILURE ); // oops! How badly did we screw up? - if ( iResult < -20 ) + if ( iResult < -20 && Item[ pSoldier->inv[ HANDPOS ].usItem ].tripwire != 1 ) { // OOPS! ... BOOM! IgniteExplosion( NOBODY, pSoldier->sX, pSoldier->sY, (INT16) (gpWorldLevelData[pSoldier->sGridNo].sHeight), pSoldier->sGridNo, pSoldier->inv[ HANDPOS ].usItem, pSoldier->pathing.bLevel ); @@ -4413,8 +4413,12 @@ void BombMessageBoxCallBack( UINT8 ubExitValue ) } else { - // OOPS! ... BOOM! - IgniteExplosion( NOBODY, gpTempSoldier->sX, gpTempSoldier->sY, (INT16) (gpWorldLevelData[gpTempSoldier->sGridNo].sHeight), gpTempSoldier->sGridNo, gpTempSoldier->inv[ HANDPOS ].usItem, gpTempSoldier->pathing.bLevel ); + if ( Item[ gpTempSoldier->inv[ HANDPOS ].usItem ].tripwire != 1 ) + { + // OOPS! ... BOOM! + IgniteExplosion( NOBODY, gpTempSoldier->sX, gpTempSoldier->sY, (INT16) (gpWorldLevelData[gpTempSoldier->sGridNo].sHeight), gpTempSoldier->sGridNo, gpTempSoldier->inv[ HANDPOS ].usItem, gpTempSoldier->pathing.bLevel ); + } + return; } }