diff --git a/Source/Game/Movement/Generators/ChaseMovementGenerator.cs b/Source/Game/Movement/Generators/ChaseMovementGenerator.cs index 7bba568b9..717f81a0e 100644 --- a/Source/Game/Movement/Generators/ChaseMovementGenerator.cs +++ b/Source/Game/Movement/Generators/ChaseMovementGenerator.cs @@ -223,7 +223,11 @@ namespace Game.Movement if (target.GetMotionMaster().GetCurrentMovementGeneratorType() != MovementGeneratorType.Chase) return false; - return ((ChaseMovementGenerator)target.GetMotionMaster().GetCurrentMovementGenerator())._abstractFollower.GetTarget() == owner; + ChaseMovementGenerator movement = target.GetMotionMaster().GetCurrentMovementGenerator() as ChaseMovementGenerator; + if (movement != null) + return movement.GetTarget() == owner; + + return false; } static bool PositionOkay(Unit owner, Unit target, float? minDistance, float? maxDistance, ChaseAngle? angle) @@ -245,5 +249,10 @@ namespace Game.Movement if (creatureOwner.IsAIEnabled && creatureOwner.GetAI() != null) creatureOwner.GetAI().MovementInform(MovementGeneratorType.Chase, (uint)target.GetGUID().GetCounter()); } + + public Unit GetTarget() + { + return _abstractFollower.GetTarget(); + } } }