From 87a61ed4c16d66766efd9aee33ec6f4234e44c52 Mon Sep 17 00:00:00 2001 From: Stubbjax Date: Wed, 19 Nov 2025 22:32:30 +1100 Subject: [PATCH] bugfix: Preserve occupants when transferring assets to allies --- .../Source/GameLogic/Object/Contain/TransportContain.cpp | 5 +++++ .../Source/GameLogic/Object/Contain/TransportContain.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp b/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp index 2916b521585..b063a99557d 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp @@ -503,7 +503,12 @@ void TransportContain::onCapture( Player *oldOwner, Player *newOwner ) else { //Use standard +#if RETAIL_COMPATIBLE_CRC orderAllPassengersToExit( CMD_FROM_AI ); +#else + if (oldOwner->getRelationship(newOwner->getDefaultTeam()) != ALLIES) + orderAllPassengersToExit(CMD_FROM_AI); +#endif } } } diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp index e024d449da9..4a845279d41 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp @@ -644,7 +644,12 @@ void TransportContain::onCapture( Player *oldOwner, Player *newOwner ) else { //Use standard +#if RETAIL_COMPATIBLE_CRC orderAllPassengersToExit( CMD_FROM_AI, FALSE ); +#else + if (oldOwner->getRelationship(newOwner->getDefaultTeam()) != ALLIES) + orderAllPassengersToExit(CMD_FROM_AI, FALSE); +#endif } } }