From 56090192a0a667043f158787e5139ab8aae4fe22 Mon Sep 17 00:00:00 2001 From: Wanne Date: Fri, 13 Apr 2012 22:42:04 +0000 Subject: [PATCH] - Bugfix: Tripwires (by Flugente) o Fixed a bug that would cause a freeze upon failing to plant tripwire git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5208 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Handle Items.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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; } }