aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement
diff options
context:
space:
mode:
authorVincent_Michael <Vincent_Michael@gmx.de>2013-01-20 22:11:06 +0100
committerVincent_Michael <Vincent_Michael@gmx.de>2013-01-20 22:11:06 +0100
commit1e57543779014dfbb4c024cca25a434e2496e318 (patch)
tree7a1025a2d5dd9ad855df91430ee350c7c1d772e0 /src/server/game/Movement
parent94944e307239e5ccaabc0f1d88a7da528dbbe508 (diff)
parent52d0e9f055b3dccf2b8ddec2680321e197932b4a (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.cpp13
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h2
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