diff --git a/Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp b/Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp index 60b5214dbc..eee44de2ea 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp @@ -3996,9 +3996,17 @@ void Object::removeUpgrade( const UpgradeTemplate *upgradeT ) //------------------------------------------------------------------------------------------------- void Object::onCapture( Player *oldOwner, Player *newOwner ) { - // Everybody dhills when they captured so they don't keep doing something the new player might not want him to be doing + // Everybody chills when they captured so they don't keep doing something the new player might not want him to be doing + // TheSuperHackers @tweak Stubbjax 19/11/2025 Except when the new owner is an ally, so that Hackers keep on hacking, etc. if( getAIUpdateInterface() && (oldOwner != newOwner) ) + { +#if RETAIL_COMPATIBLE_CRC getAIUpdateInterface()->aiIdle(CMD_FROM_AI); +#else + if (oldOwner->getRelationship(newOwner->getDefaultTeam()) != ALLIES) + getAIUpdateInterface()->aiIdle(CMD_FROM_AI); +#endif + } // this gets the new owner some points newOwner->getScoreKeeper()->addObjectCaptured(this); diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp index f65afacd15..8cff59b5d0 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp @@ -4517,9 +4517,17 @@ void Object::removeUpgrade( const UpgradeTemplate *upgradeT ) //------------------------------------------------------------------------------------------------- void Object::onCapture( Player *oldOwner, Player *newOwner ) { - // Everybody dhills when they captured so they don't keep doing something the new player might not want him to be doing + // Everybody chills when they captured so they don't keep doing something the new player might not want him to be doing + // TheSuperHackers @tweak Stubbjax 19/11/2025 Except when the new owner is an ally, so that Hackers keep on hacking, etc. if( getAIUpdateInterface() && (oldOwner != newOwner) ) + { +#if RETAIL_COMPATIBLE_CRC getAIUpdateInterface()->aiIdle(CMD_FROM_AI); +#else + if (oldOwner->getRelationship(newOwner->getDefaultTeam()) != ALLIES) + getAIUpdateInterface()->aiIdle(CMD_FROM_AI); +#endif + } // this gets the new owner some points newOwner->getScoreKeeper()->addObjectCaptured(this);