diff options
-rw-r--r-- | src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp index 28928cdeacb..973921aafe1 100644 --- a/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/ChaseMovementGenerator.cpp @@ -103,6 +103,8 @@ bool ChaseMovementGenerator::Update(Unit* owner, uint32 diff) { owner->StopMoving(); _lastTargetPosition.reset(); + if (Creature* cOwner = owner->ToCreature()) + cOwner->SetCannotReachTarget(false); return true; } @@ -137,6 +139,8 @@ bool ChaseMovementGenerator::Update(Unit* owner, uint32 diff) if (owner->HasUnitState(UNIT_STATE_CHASE_MOVE) && owner->movespline->Finalized()) { _path = nullptr; + if (Creature* cOwner = owner->ToCreature()) + cOwner->SetCannotReachTarget(false); owner->ClearUnitState(UNIT_STATE_CHASE_MOVE); owner->SetInFront(target); DoMovementInform(owner, target); @@ -219,6 +223,8 @@ void ChaseMovementGenerator::Deactivate(Unit* owner) { AddFlag(MOVEMENTGENERATOR_FLAG_DEACTIVATED); owner->ClearUnitState(UNIT_STATE_CHASE_MOVE); + if (Creature* cOwner = owner->ToCreature()) + cOwner->SetCannotReachTarget(false); } void ChaseMovementGenerator::Finalize(Unit* owner, bool active, bool/* movementInform*/) |