diff options
| -rwxr-xr-x | src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index 1958774380e..20c9c6cb608 100755 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -273,15 +273,16 @@ void FollowMovementGenerator<Player>::_updateSpeed(Player &/*u*/)  }  template<> -void FollowMovementGenerator<Creature>::_updateSpeed(Creature &u) +void FollowMovementGenerator<Creature>::_updateSpeed(Creature& owner)  {      // pet only sync speed with owner -    if (!((Creature&)u).isPet() || !i_target.isValid() || i_target->GetGUID() != u.GetOwnerGUID()) +    /// Make sure we are not in the process of a map change +    if (!owner.isPet() || !owner.IsInWorld() || !i_target.isValid() || i_target->GetGUID() != owner.GetOwnerGUID())          return; -    u.UpdateSpeed(MOVE_RUN, true); -    u.UpdateSpeed(MOVE_WALK, true); -    u.UpdateSpeed(MOVE_SWIM, true); +    owner.UpdateSpeed(MOVE_RUN, true); +    owner.UpdateSpeed(MOVE_WALK, true); +    owner.UpdateSpeed(MOVE_SWIM, true);  }  template<> | 
