mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
Explosive improvements and fixes (by Sevenfm)
- New mine disarm dialogue (only for realtime): Disarm, Inspect, Remove Blue Flag, Blow up. - You can now attach tripwire-activated explosives to tripwire. - attached explosives volatility is now used in chain explosion calculation: added new function CalcTotalVolatility. - new function CheckForBuriedBombsAndRemoveFlags removes MAPELEMENT_XXX_MINE_PRESENT flags if there is no buried bomb at checked tile. This should fix problems with flag not removed correctly after chain explosions and such. - trip klaxon no longer calls enemies if it's activated as attached explosive (instead it makes some noise). - added check to MineSpottedDialogueCallBack. It should fix problem with game crash with tiles that have MAPELEMENT_PLAYER_MINE_PRESENT flag set but no buried mine - disarmed item will keep it's attachments if ALLOW_ATTACHED_EXPLOSIVES is TRUE. - IMPROVED_BOMB_PLANTING feature can be used to auto-take tripwire items from inventory. - see: http://www.ja-galaxy-forum.com/board/ubbthreads.php/topics/172712/15/Code_Snippets.html git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6663 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -284,6 +284,27 @@ INT32 FindWorldItemForBombInGridNo( INT32 sGridNo, INT8 bLevel )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
INT32 FindWorldItemForBuriedBombInGridNo( INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
UINT32 uiBombIndex;
|
||||
OBJECTTYPE* pObj = NULL;
|
||||
|
||||
for (uiBombIndex = 0; uiBombIndex < guiNumWorldBombs; uiBombIndex++)
|
||||
{
|
||||
if (gWorldBombs[ uiBombIndex ].fExists &&
|
||||
gWorldItems[ gWorldBombs[ uiBombIndex ].iItemIndex ].sGridNo == sGridNo &&
|
||||
gWorldItems[ gWorldBombs[ uiBombIndex ].iItemIndex ].ubLevel == bLevel )
|
||||
{
|
||||
pObj=&gWorldItems[ gWorldBombs[ uiBombIndex ].iItemIndex ].object;
|
||||
if( pObj && pObj->exists() )
|
||||
//if ( ( (*pObj)[0]->data.misc.bDetonatorType != BOMB_TIMED ) && ( (*pObj)[0]->data.misc.bDetonatorType != BOMB_REMOTE ) )
|
||||
if( !HasAttachmentOfClass( pObj, AC_REMOTEDET | AC_DETONATOR ) )
|
||||
return( gWorldBombs[ uiBombIndex ].iItemIndex );
|
||||
}
|
||||
}
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
// Flugente: is there a planted tripwire at this gridno? fKnown = TRUE: only return true if we know of that one already
|
||||
INT32 FindWorldItemForTripwireInGridNo( INT32 sGridNo, INT8 bLevel, BOOLEAN fKnown )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user