AzaezelX 2 years ago
parent
commit
1fb4f57f6e
1 changed files with 8 additions and 4 deletions
  1. 8 4
      Engine/source/T3D/player.cpp

+ 8 - 4
Engine/source/T3D/player.cpp

@@ -2269,10 +2269,14 @@ void Player::setState(ActionState state, U32 recoverTicks)
             case RecoverState: {
             case RecoverState: {
                if (mDataBlock->landSequenceTime > 0.0f)
                if (mDataBlock->landSequenceTime > 0.0f)
                {
                {
-                  // Use the land sequence as the basis for the recovery
-                  setActionThread(PlayerData::LandAnim, true, false, true, true);
-                  F32 timeScale = mShapeInstance->getDuration(mActionAnimation.thread) / mDataBlock->landSequenceTime;
-                  mShapeInstance->setTimeScale(mActionAnimation.thread,timeScale);
+                  PlayerData::ActionAnimation& anim = mDataBlock->actionList[PlayerData::LandAnim];
+                  if (anim.sequence != -1)
+                  {
+                     // Use the land sequence as the basis for the recovery
+                     setActionThread(PlayerData::LandAnim, true, false, true, true);
+                     F32 timeScale = mShapeInstance->getDuration(mActionAnimation.thread) / mDataBlock->landSequenceTime;
+                     mShapeInstance->setTimeScale(mActionAnimation.thread, timeScale);
+                  }
                   mRecoverDelay =  mDataBlock->landSequenceTime;
                   mRecoverDelay =  mDataBlock->landSequenceTime;
                }
                }
                else
                else