Browse Source

if you've stopped moving on purpose, you're not stuck

AzaezelX 6 months ago
parent
commit
14a03dfc6c
2 changed files with 2 additions and 0 deletions
  1. 1 0
      Engine/source/T3D/AI/AIController.cpp
  2. 1 0
      Engine/source/T3D/AI/AINavigation.cpp

+ 1 - 0
Engine/source/T3D/AI/AIController.cpp

@@ -322,6 +322,7 @@ void AIControllerData::resolveSpeed(AIController* obj, Point3F location, Move* m
 
 void AIControllerData::resolveStuck(AIController* obj)
 {
+   if (obj->mMovement.mMoveState == AIController::ModeStop) return;
    ShapeBase* sbo = dynamic_cast<ShapeBase*>(obj->getAIInfo()->mObj.getPointer());
    // Don't check for ai stuckness if animation during
    // an anim-clip effect override.

+ 1 - 0
Engine/source/T3D/AI/AINavigation.cpp

@@ -155,6 +155,7 @@ void AINavigation::onReachDestination()
    else
 #endif
       getCtrl()->throwCallback("onReachDestination");
+   getCtrl()->mMovement.mMoveState = AIController::ModeStop;
 }
 
 bool AINavigation::setPathDestination(const Point3F& pos)