diff --git a/Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp b/Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp index d0f4b52301..27f3cd2e8f 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp @@ -2789,6 +2789,11 @@ Bool Object::hasSpecialPower( SpecialPowerType type ) const //------------------------------------------------------------------------------------------------- void Object::onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel newLevel, Bool provideFeedback ) { +#if !RETAIL_COMPATIBLE_CRC + if (isEffectivelyDead()) + return; +#endif + updateUpgradeModules(); const UpgradeTemplate* up = TheUpgradeCenter->findVeterancyUpgrade(newLevel); @@ -2843,6 +2848,11 @@ void Object::onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel ne && outerDrawable && outerDrawable->isVisible(); +#if RETAIL_COMPATIBLE_CRC + if (isEffectivelyDead()) + return; +#endif + if( doAnimation && TheGameLogic->getDrawIconUI() ) { if( TheAnim2DCollection && TheGlobalData->m_levelGainAnimationName.isEmpty() == FALSE ) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp index 598e266bea..437a5433cd 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp @@ -3104,6 +3104,11 @@ Bool Object::hasAnySpecialPower() const //------------------------------------------------------------------------------------------------- void Object::onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel newLevel, Bool provideFeedback ) { +#if !RETAIL_COMPATIBLE_CRC + if (isEffectivelyDead()) + return; +#endif + updateUpgradeModules(); const UpgradeTemplate* up = TheUpgradeCenter->findVeterancyUpgrade(newLevel); @@ -3158,6 +3163,11 @@ void Object::onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel ne && outerDrawable && outerDrawable->isVisible(); +#if RETAIL_COMPATIBLE_CRC + if (isEffectivelyDead()) + return; +#endif + if( doAnimation && TheGameLogic->getDrawIconUI() ) { if( TheAnim2DCollection && TheGlobalData->m_levelGainAnimationName.isEmpty() == FALSE )