From a980bd38a9665326b3607057e719de8b158985cc Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Thu, 24 Feb 2022 15:54:43 +0100 Subject: [PATCH] fix(Core/Spells): auto attack only selected target when charge is over (#10541) Fixes #10353 --- .../Movement/MovementGenerators/PointMovementGenerator.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp index 317f8c2a9..83ec1a36d 100644 --- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp @@ -162,9 +162,12 @@ void PointMovementGenerator::DoFinalize(T* unit) { unit->ClearUnitState(UNIT_STATE_CHARGING); - if (Unit* target = ObjectAccessor::GetUnit(*unit, _chargeTargetGUID)) + if (_chargeTargetGUID && _chargeTargetGUID == unit->GetTarget()) { - unit->Attack(target, true); + if (Unit* target = ObjectAccessor::GetUnit(*unit, _chargeTargetGUID)) + { + unit->Attack(target, true); + } } }