mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-21 20:56:23 +00:00
fix(Core/Movement): Don't move for change in orientation only (#19687)
Changing only the orientation of a unit also flags it as if it were moving, which causes spells to be interrupted.
This commit is contained in:
@@ -101,7 +101,9 @@ namespace Movement
|
||||
moveFlags = (moveFlags & ~(MOVEMENTFLAG_FORWARD)) | MOVEMENTFLAG_BACKWARD;
|
||||
}
|
||||
|
||||
if (moveFlags & MOVEMENTFLAG_ROOT)
|
||||
bool isOrientationOnly = args.path.size() == 2 && args.path[0] == args.path[1];
|
||||
|
||||
if ((moveFlags & MOVEMENTFLAG_ROOT) || isOrientationOnly)
|
||||
moveFlags &= ~MOVEMENTFLAG_MASK_MOVING;
|
||||
|
||||
if (!args.HasVelocity)
|
||||
|
||||
@@ -2677,7 +2677,7 @@ void Spell::EffectDistract(SpellEffIndex /*effIndex*/)
|
||||
if (unitTarget->HasUnitState(UNIT_STATE_CONFUSED | UNIT_STATE_STUNNED | UNIT_STATE_FLEEING))
|
||||
return;
|
||||
|
||||
unitTarget->SetFacingTo(unitTarget->GetAngle(destTarget)); /// @BUG Causes the player to stop moving + interrupts spellcast.
|
||||
unitTarget->SetFacingTo(unitTarget->GetAngle(destTarget)); /// @BUG Causes the player to stop moving.
|
||||
unitTarget->GetMotionMaster()->MoveDistract(damage * IN_MILLISECONDS);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user