diff --git a/Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp b/Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp index 8bdcdac3404..571574544b4 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp @@ -685,10 +685,13 @@ class JetTakeoffOrLandingState : public AIFollowPathState pp->transferRunwayReservationToNextInLineForTakeoff(jet->getID()); PhysicsBehavior* physics = jet->getPhysics(); - Real ratio = physics->getVelocityMagnitude() / (m_maxSpeed * jetAI->friend_getTakeoffSpeedForMaxLift()); - if (ratio < 0.0f) ratio = 0.0f; - if (ratio > 1.0f) ratio = 1.0f; - jetAI->getCurLocomotor()->setMaxLift(m_maxLift * ratio); + if (physics) + { + Real ratio = physics->getVelocityMagnitude() / (m_maxSpeed * jetAI->friend_getTakeoffSpeedForMaxLift()); + if (ratio < 0.0f) ratio = 0.0f; + if (ratio > 1.0f) ratio = 1.0f; + jetAI->getCurLocomotor()->setMaxLift(m_maxLift * ratio); + } } StateReturnType ret = AIFollowPathState::update(); @@ -1867,7 +1870,7 @@ UpdateSleepTime JetAIUpdate::update() } PhysicsBehavior* physics = jet->getPhysics(); - if (physics->getVelocityMagnitude() > 0 && getFlag(ALLOW_AIR_LOCO)) + if (physics && physics->getVelocityMagnitude() > 0 && getFlag(ALLOW_AIR_LOCO)) jet->setModelConditionState(MODELCONDITION_JETEXHAUST); else jet->clearModelConditionState(MODELCONDITION_JETEXHAUST); diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp index 323f54d08c0..6af8394b1b8 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate/JetAIUpdate.cpp @@ -2094,7 +2094,7 @@ UpdateSleepTime JetAIUpdate::update() } PhysicsBehavior* physics = jet->getPhysics(); - if (physics->getVelocityMagnitude() > 0 && getFlag(ALLOW_AIR_LOCO)) + if (physics && physics->getVelocityMagnitude() > 0 && getFlag(ALLOW_AIR_LOCO)) jet->setModelConditionState(MODELCONDITION_JETEXHAUST); else jet->clearModelConditionState(MODELCONDITION_JETEXHAUST);