mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
Merged from revision: 6981
Enabled auto-taking for concertina/sandbags (by Sevenfm) - items are taken from current merc's inventory - works only in realtime - when filling sandbags, filled sandbag is dropped, and new empty is taken from inventory - you need to press [shift] while clicking with hammer for this feature to be activated Autofire bullets (by Sevenfm) Set default number of autofire bullets: 0 = Max bullets allowed with max aiming 1..10 = Set default number of bullets 1. For MPs and SMGs SET_DEFAULT_AUTOFIRE_BULLETS_SMG = 1 2. For ARs, Rifles and Shotguns SET_DEFAULT_AUTOFIRE_BULLETS_AR = 1 3. For MGs SET_DEFAULT_AUTOFIRE_BULLETS_MG = 1 git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6982 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+12
-12
@@ -115,7 +115,7 @@ void RemoveBlueFlagDialogueCallBack( UINT8 ubExitValue );
|
||||
INT32 CheckBombDisarmChance(void);
|
||||
void ExtendedDisarmMessageBox(void);
|
||||
void ExtendedBoobyTrapMessageBoxCallBack( UINT8 ubExitValue );
|
||||
void HandleTakeNewBombFromIventory(SOLDIERTYPE* pSoldier, OBJECTTYPE* pObj);
|
||||
void HandleTakeNewBombFromInventory(SOLDIERTYPE* pSoldier, OBJECTTYPE* pObj);
|
||||
void MineSpottedMessageBoxCallBack( UINT8 ubExitValue );
|
||||
void CheckForPickedOwnership( void );
|
||||
void BoobyTrapInMapScreenMessageBoxCallBack( UINT8 ubExitValue );
|
||||
@@ -235,6 +235,12 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
// "attached weapon"
|
||||
pSoldier->usAttackingWeapon = usHandItem;
|
||||
|
||||
// sevenfm: set shift flag for auto-taking of next item from inventory
|
||||
if( fFromUI && _KeyDown(SHIFT) )
|
||||
gfShiftBombPlant = TRUE;
|
||||
else
|
||||
gfShiftBombPlant = FALSE;
|
||||
|
||||
// Find soldier flags depend on if it's our own merc firing or a NPC
|
||||
//if ( FindSoldier( sGridNo, &usSoldierIndex, &uiMercFlags, FIND_SOLDIER_GRIDNO ) )
|
||||
if ( ( usSoldierIndex = WhoIsThere2( sGridNo, bLevel ) ) != NOBODY )
|
||||
@@ -1517,13 +1523,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
if ( fDropBomb )
|
||||
{
|
||||
// Save gridno....
|
||||
pSoldier->aiData.sPendingActionData2 = sGridNo;
|
||||
|
||||
// sevenfm: set shift flag for auto-taking of next mine from inventory (Improved Bomb Planting)
|
||||
if( fFromUI && _KeyDown(SHIFT) )
|
||||
gfShiftBombPlant = TRUE;
|
||||
else
|
||||
gfShiftBombPlant = FALSE;
|
||||
pSoldier->aiData.sPendingActionData2 = sGridNo;
|
||||
|
||||
if ( pSoldier->sGridNo != sGridNo )
|
||||
{
|
||||
@@ -1842,7 +1842,7 @@ void HandleSoldierDropBomb( SOLDIERTYPE *pSoldier, INT32 sGridNo )
|
||||
{
|
||||
AddItemToPool( sGridNo, &gTempObject, BURIED, pSoldier->pathing.bLevel, WORLD_ITEM_ARMED_BOMB, 0 );
|
||||
// sevenfm: take another item with same id from inventory, only REALTIME
|
||||
HandleTakeNewBombFromIventory(pSoldier, &gTempObject);
|
||||
HandleTakeNewBombFromInventory(pSoldier, &gTempObject);
|
||||
// sevenfm: change cursor back to action if successfully taken new bomb
|
||||
if ( gfShiftBombPlant && pSoldier->inv[ pSoldier->ubAttackingHand ].exists() )
|
||||
guiPendingOverrideEvent = M_CHANGE_TO_ACTION;
|
||||
@@ -5123,7 +5123,7 @@ void BombMessageBoxCallBack( UINT8 ubExitValue )
|
||||
AddItemToPool( gsTempGridNo, &gTempObject, BURIED, gpTempSoldier->pathing.bLevel, WORLD_ITEM_ARMED_BOMB, 0 );
|
||||
// sevenfm: set flag only if planting tripwire
|
||||
gpWorldLevelData[ gsTempGridNo ].uiFlags |= MAPELEMENT_PLAYER_MINE_PRESENT;
|
||||
HandleTakeNewBombFromIventory(gpTempSoldier, &gTempObject);
|
||||
HandleTakeNewBombFromInventory(gpTempSoldier, &gTempObject);
|
||||
// sevenfm: change cursor back to action if successfully taken new bomb (also change mode back to action if using tripwire roll)
|
||||
if ( gfShiftBombPlant && gpTempSoldier->inv[ gpTempSoldier->ubAttackingHand ].exists() )
|
||||
guiPendingOverrideEvent = M_CHANGE_TO_ACTION;
|
||||
@@ -7000,11 +7000,11 @@ void ExtendedBoobyTrapMessageBoxCallBack( UINT8 ubExitValue )
|
||||
}
|
||||
}
|
||||
|
||||
void HandleTakeNewBombFromIventory(SOLDIERTYPE* pSoldier, OBJECTTYPE* pObj)
|
||||
void HandleTakeNewBombFromInventory(SOLDIERTYPE* pSoldier, OBJECTTYPE* pObj)
|
||||
{
|
||||
if( !( (gTacticalStatus.uiFlags & TURNBASED ) && (gTacticalStatus.uiFlags & INCOMBAT) ) &&
|
||||
!pSoldier->inv[HANDPOS].exists() && gfShiftBombPlant )
|
||||
{
|
||||
pSoldier->TakeNewBombFromIventory(pObj->usItem);
|
||||
pSoldier->TakeNewBombFromInventory(pObj->usItem);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user