From 46c4ac2b6443317ae1d9a514cc2fa1dc1c76fde2 Mon Sep 17 00:00:00 2001 From: Asdow <20314541+Asdow@users.noreply.github.com> Date: Fri, 20 Jan 2023 16:24:18 +0200 Subject: [PATCH] Fix bug if vehicle holds more soldiers than can fit in a squad (by Seven) (#101) We would fail Assert(fSuccess) as all passengers would not fit in one squad, and the code wouldn't allow creating a new squad where they could be placed. --- Strategic/PreBattle Interface.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Strategic/PreBattle Interface.cpp b/Strategic/PreBattle Interface.cpp index 72ec674a..53df0d35 100644 --- a/Strategic/PreBattle Interface.cpp +++ b/Strategic/PreBattle Interface.cpp @@ -2141,6 +2141,13 @@ void PutNonSquadMercsInPlayerGroupOnSquads( GROUP *pGroup, BOOLEAN fExitVehicles // because if this is a simultaneous group attack, the mercs could be coming from different sides, and the // placement screen can't handle mercs on the same squad arriving from difference edges! fSuccess = AddCharacterToSquad( pSoldier, bUniqueVehicleSquad ); + { + bUniqueVehicleSquad = GetFirstEmptySquad(); + if (bUniqueVehicleSquad != -1) + { + fSuccess = AddCharacterToSquad(pSoldier, bUniqueVehicleSquad); + } + } } //CHRISL: So what's supposed to happen in the merc is assigned to a vehicle but fExitVehicles is FALSE? else