From 6dbbfa227a128bc5c5dd48d1435bc2bc786014af Mon Sep 17 00:00:00 2001 From: Asdow <20314541+Asdow@users.noreply.github.com> Date: Thu, 10 Nov 2022 18:40:00 +0200 Subject: [PATCH] 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 --- Tactical/Turn Based Input.cpp | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index 603f7b1e8..d7c2d0047 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -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 )