diff options
Diffstat (limited to 'src/game/CreatureAI.cpp')
-rw-r--r-- | src/game/CreatureAI.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/game/CreatureAI.cpp b/src/game/CreatureAI.cpp index cfe72f654eb..165bb2411ec 100644 --- a/src/game/CreatureAI.cpp +++ b/src/game/CreatureAI.cpp @@ -200,13 +200,16 @@ void CreatureAI::EnterEvadeMode() if(!_EnterEvadeMode()) return; - if(Unit *owner = me->GetCharmerOrOwner()) + if(!me->m_Vehicle) // otherwise me will be in evade mode forever { - me->GetMotionMaster()->Clear(false); - me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, m_creature->GetFollowAngle(), MOTION_SLOT_ACTIVE); + if(Unit *owner = me->GetCharmerOrOwner()) + { + me->GetMotionMaster()->Clear(false); + me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, m_creature->GetFollowAngle(), MOTION_SLOT_ACTIVE); + } + else + me->GetMotionMaster()->MoveTargetedHome(); } - else - me->GetMotionMaster()->MoveTargetedHome(); Reset(); } |