diff options
| author | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-01-20 22:11:06 +0100 |
|---|---|---|
| committer | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-01-20 22:11:06 +0100 |
| commit | 1e57543779014dfbb4c024cca25a434e2496e318 (patch) | |
| tree | 7a1025a2d5dd9ad855df91430ee350c7c1d772e0 /src/server/game/Movement | |
| parent | 94944e307239e5ccaabc0f1d88a7da528dbbe508 (diff) | |
| parent | 52d0e9f055b3dccf2b8ddec2680321e197932b4a (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps
Conflicts:
src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
Diffstat (limited to 'src/server/game/Movement')
| -rw-r--r-- | src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp | 13 | ||||
| -rwxr-xr-x | src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index 65cffefd6c9..3a8841848d1 100644 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -246,21 +246,22 @@ bool FollowMovementGenerator<Player>::EnableWalking() const } template<> -void FollowMovementGenerator<Player>::_updateSpeed(Player* /*u*/) +void FollowMovementGenerator<Player>::_updateSpeed(Player* /*owner*/) { // nothing to do for Player } template<> -void FollowMovementGenerator<Creature>::_updateSpeed(Creature* u) +void FollowMovementGenerator<Creature>::_updateSpeed(Creature* owner) { // pet only sync speed with owner - if (!u->isPet() || !i_target.isValid() || i_target->GetGUID() != u->GetOwnerGUID()) + /// Make sure we are not in the process of a map change (IsInWorld) + 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<> diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h index b95e359e540..4f8cf658fde 100755 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h @@ -110,7 +110,7 @@ class FollowMovementGenerator : public TargetedMovementGeneratorMedium<T, Follow bool _lostTarget(T*) const { return false; } void _reachTarget(T*) {} private: - void _updateSpeed(T* u); + void _updateSpeed(T* owner); }; #endif |
