diff --git a/Generals/Code/GameEngine/Source/GameLogic/AI/AIStates.cpp b/Generals/Code/GameEngine/Source/GameLogic/AI/AIStates.cpp index 3ac19981a52..12fcf564aec 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/AI/AIStates.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/AI/AIStates.cpp @@ -6275,6 +6275,12 @@ StateReturnType AIExitState::update() if( goalExitInterface == nullptr ) return STATE_FAILURE; +#if !RETAIL_COMPATIBLE_CRC + // TheSuperHackers @bugfix Stubbjax 03/05/2026 Stop trying to exit if the container is dead, as we are already ejected. + if (goal->isEffectivelyDead()) + return STATE_FAILURE; +#endif + if( goalExitInterface->isExitBusy() ) return STATE_CONTINUE;// Just wait a sec. diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIStates.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIStates.cpp index ed72618ea52..33b4bcf7171 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIStates.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIStates.cpp @@ -6487,6 +6487,12 @@ StateReturnType AIExitState::update() if( goalExitInterface == nullptr ) return STATE_FAILURE; +#if !RETAIL_COMPATIBLE_CRC + // TheSuperHackers @bugfix Stubbjax 03/05/2026 Stop trying to exit if the container is dead, as we are already ejected. + if (goal->isEffectivelyDead()) + return STATE_FAILURE; +#endif + if( goalExitInterface->isExitBusy() ) return STATE_CONTINUE;// Just wait a sec.