diff --git a/Generals/Code/GameEngine/Source/GameLogic/Object/Update/PhysicsUpdate.cpp b/Generals/Code/GameEngine/Source/GameLogic/Object/Update/PhysicsUpdate.cpp index 044d2ceeb3..3eb8247a21 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/Object/Update/PhysicsUpdate.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/Object/Update/PhysicsUpdate.cpp @@ -1260,7 +1260,12 @@ void PhysicsBehavior::onCollide( Object *other, const Coord3D *loc, const Coord3 else { // fall into a nonbuilding -- whatever. if we're a vehicle, quietly do a little damage. +#if RETAIL_COMPATIBLE_CRC if (obj->isKindOf(KINDOF_VEHICLE)) +#else + // TheSuperHackers @bugfix Stubbjax 28/01/2026 Prevent dead units from repeatedly dealing damage. + if (obj->isKindOf(KINDOF_VEHICLE) && !obj->isEffectivelyDead()) +#endif { TheWeaponStore->createAndFireTempWeapon(getPhysicsBehaviorModuleData()->m_vehicleCrashesIntoNonBuildingWeaponTemplate, obj, obj->getPosition()); } diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/PhysicsUpdate.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/PhysicsUpdate.cpp index eb81af5cb3..67e391d26e 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/PhysicsUpdate.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/PhysicsUpdate.cpp @@ -1385,7 +1385,12 @@ void PhysicsBehavior::onCollide( Object *other, const Coord3D *loc, const Coord3 else { // fall into a nonbuilding -- whatever. if we're a vehicle, quietly do a little damage. +#if RETAIL_COMPATIBLE_CRC if (obj->isKindOf(KINDOF_VEHICLE)) +#else + // TheSuperHackers @bugfix Stubbjax 28/01/2026 Prevent dead units from repeatedly dealing damage. + if (obj->isKindOf(KINDOF_VEHICLE) && !obj->isEffectivelyDead()) +#endif { TheWeaponStore->createAndFireTempWeapon(getPhysicsBehaviorModuleData()->m_vehicleCrashesIntoNonBuildingWeaponTemplate, obj, obj->getPosition()); }