Change shift + B to also pick up back packs in tactical

Instead of always dropping backpacks, it will now either pick up or drop backpacks depending on if any have been dropped
This commit is contained in:
Asdow
2022-11-10 18:40:00 +02:00
parent 85f24810a8
commit 6dbbfa227a
+32 -2
View File
@@ -351,6 +351,7 @@ void HandleTBLocateNextMerc( void );
void HandleTBLocatePrevMerc( void );
void HandleTBLevelDown(void);
void HandleTBLevelUp(void);
void HandleTBBackpacks(void);
void HandleTBDropBackpacks( void );
void HandleTBPickUpBackpacks( void );
void HandleTBSoldierRun( void );
@@ -3386,8 +3387,8 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
break;
case 'B':
//Drop pack for all mercs on current map
HandleTBDropBackpacks();
//Drop/Pick up backpack for all mercs on current map
HandleTBBackpacks();
break;
case 'c':
@@ -8412,6 +8413,35 @@ void HandleTBLevelUp(void)
}
}
void HandleTBBackpacks(void)
{
if (UsingNewInventorySystem)
{
bool backpackDropped = false;
SOLDIERTYPE* pTeamSoldier;
for (UINT8 ubLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID; ubLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; ubLoop++)
{
pTeamSoldier = MercPtrs[ubLoop];
if (pTeamSoldier->flags.DropPackFlag)
{
backpackDropped = true;
break;
}
}
if (backpackDropped)
{
HandleTBPickUpBackpacks();
}
else
{
HandleTBDropBackpacks();
}
}
}
void HandleTBDropBackpacks( void )
{
//if( UsingNewInventorySystem() && gusSelectedSoldier != NOBODY )