diff options
| author | Malcrom <malcromdev@gmail.com> | 2013-12-03 23:41:11 -0330 |
|---|---|---|
| committer | Malcrom <malcromdev@gmail.com> | 2013-12-03 23:41:11 -0330 |
| commit | e60fe4c30380277f06ab550bc33eab01c0de88d3 (patch) | |
| tree | c5b35a26b034a0c0bb734a18acad65735ebe1e0c | |
| parent | 81c73c2d53dd8ff1f908e9e1c1ec0573441d2fc2 (diff) | |
Core/SmartAI: Fixed waypoint pathing not resuming after evade.
| -rw-r--r-- | src/server/game/AI/SmartScripts/SmartAI.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index b185ada614d..96c4cb9f5d0 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -460,7 +460,6 @@ void SmartAI::EnterEvadeMode() me->LoadCreaturesAddon(); me->SetLootRecipient(NULL); me->ResetPlayerDamageReq(); - GetScript()->ProcessEventsFor(SMART_EVENT_EVADE);//must be after aura clear so we can cast spells from db SetRun(mRun); @@ -475,7 +474,10 @@ void SmartAI::EnterEvadeMode() me->GetMotionMaster()->MoveFollow(target, mFollowDist, mFollowAngle); } else + { + mCanCombatMove = true; me->GetMotionMaster()->MoveTargetedHome(); + } Reset(); } @@ -588,6 +590,9 @@ int SmartAI::Permissible(const Creature* creature) void SmartAI::JustReachedHome() { GetScript()->ProcessEventsFor(SMART_EVENT_REACHED_HOME); + + if (!UpdateVictim() && me->GetMotionMaster()->GetCurrentMovementGeneratorType() == IDLE_MOTION_TYPE && me->GetWaypointPath()) + me->ToCreature()->GetMotionMaster()->MovePath(me->GetWaypointPath(), true); } void SmartAI::EnterCombat(Unit* enemy) @@ -787,8 +792,9 @@ void SmartAI::SetCombatMove(bool on) } else { - me->StopMoving(); + me->GetMotionMaster()->MovementExpired(); me->GetMotionMaster()->Clear(true); + me->StopMoving(); me->GetMotionMaster()->MoveIdle(); } } |
