aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2018-06-15 12:56:33 +0200
committerccrs <ccrs@users.noreply.github.com>2018-06-15 12:56:33 +0200
commit98fd8d4c748942cc7d7acde97610b7b0688472de (patch)
treebc88d6619c8d0ee9e68343e86756cfe040f78013 /src/server
parent24a9598e2c2d8c39f7b8f5b3f900b61466c8652a (diff)
Core/Movement: shield ChaseMovementGenerator against a potential crash
Since GenericMovementGenerator can be built with any MOTION_TYPE
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp
index efe80345bd7..f83c7e8b16a 100644
--- a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp
@@ -31,7 +31,10 @@ static bool IsMutualChase(Unit* owner, Unit* target)
if (target->GetMotionMaster()->GetCurrentMovementGeneratorType() != CHASE_MOTION_TYPE)
return false;
- return (dynamic_cast<ChaseMovementGenerator const*>(target->GetMotionMaster()->GetCurrentMovementGenerator())->GetTarget() == owner);
+ if (ChaseMovementGenerator* movement = dynamic_cast<ChaseMovementGenerator*>(target->GetMotionMaster()->GetCurrentMovementGenerator()))
+ return movement->GetTarget() == owner;
+
+ return false;
}
static bool PositionOkay(Unit* owner, Unit* target, Optional<float> minDistance, Optional<float> maxDistance, Optional<ChaseAngle> angle)