diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-11-24 20:22:47 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-11-24 20:22:47 +0100 |
| commit | 90a58117017a93fa33864fe1892e7304e2f3bbf4 (patch) | |
| tree | 6794e7fbb805065c8e4fd6076fd1fd4798c45494 /src/server/game/Movement | |
| parent | ab4ec5bd01122d503af38fc8464ff7528d297604 (diff) | |
Core/Spells: Fixed logic related to movement while channeling
Closes #18289
Diffstat (limited to 'src/server/game/Movement')
3 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp index 4cf896c6d98..512c9bf1ea0 100644 --- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp @@ -38,7 +38,7 @@ void FleeingMovementGenerator<T>::_setTargetLocation(T* owner) if (owner->HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED)) return; - if (owner->HasUnitState(UNIT_STATE_CASTING) && !owner->CanMoveDuringChannel()) + if (owner->IsMovementPreventedByCasting()) { owner->CastStop(); return; diff --git a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp index feea0ce734d..ae4a6849978 100644 --- a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp @@ -29,7 +29,7 @@ template<> void RandomMovementGenerator<Creature>::_setRandomLocation(Creature* creature) { - if (creature->HasUnitState(UNIT_STATE_CASTING) && !creature->CanMoveDuringChannel()) + if (creature->IsMovementPreventedByCasting()) { creature->CastStop(); return; diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index 4f7337d6e5e..8a16add83ff 100644 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -36,7 +36,7 @@ void TargetedMovementGeneratorMedium<T, D>::_setTargetLocation(T* owner, bool up if (owner->HasUnitState(UNIT_STATE_NOT_MOVE)) return; - if (owner->HasUnitState(UNIT_STATE_CASTING) && !owner->CanMoveDuringChannel()) + if (owner->IsMovementPreventedByCasting()) return; if (owner->GetTypeId() == TYPEID_UNIT && !i_target->isInAccessiblePlaceFor(owner->ToCreature())) @@ -149,7 +149,7 @@ bool TargetedMovementGeneratorMedium<T, D>::DoUpdate(T* owner, uint32 time_diff) } // prevent movement while casting spells with cast time or channel time - if (owner->HasUnitState(UNIT_STATE_CASTING) && !owner->CanMoveDuringChannel()) + if (owner->IsMovementPreventedByCasting()) { if (!owner->IsStopped()) owner->StopMoving(); |
