public override void Start(GameLiving target)
 {
     base.Start(target);
     target.IsStunned = true;
     target.StopAttack();
     target.StopCurrentSpellcast();
     target.DisableTurning(true);
     (target as GamePlayer)?.Out.SendUpdateMaxSpeed();
 }
		public override void Start(GameLiving target)
		{
			base.Start(target);
			target.IsStunned = true;
			target.StopAttack();
			target.StopCurrentSpellcast();
			target.DisableTurning(true);
			if (target is GamePlayer)
				(target as GamePlayer).Out.SendUpdateMaxSpeed();
		}
        public override void Stop()
        {
            _owner.IsStunned = false;
            _owner.DisableTurning(false);
            if (_owner is GamePlayer player)
            {
                player.Out.SendUpdateMaxSpeed();
            }
            else
            {
                _owner.CurrentSpeed = _owner.MaxSpeed;
            }

            base.Stop();
        }
        public override void Stop()
        {
            owner.IsStunned = false;
            owner.DisableTurning(false);
            GamePlayer player = owner as GamePlayer;

            if (player != null)
            {
                player.Out.SendUpdateMaxSpeed();
            }
            else
            {
                owner.CurrentSpeed = owner.MaxSpeed;
            }
            base.Stop();
        }
        public override void Stop()
        {
            GameEventMgr.RemoveHandler(_owner, GameLivingEvent.AttackedByEnemy, new DOLEventHandler(OnAttack));
            _owner.IsStunned = false;
            _owner.DisableTurning(false);
            if (_owner is GamePlayer player)
            {
                player.Out.SendUpdateMaxSpeed();
            }
            else
            {
                _owner.CurrentSpeed = _owner.MaxSpeed;
            }

            base.Stop();
        }
        public override void Start(GameLiving target)
		{
            base.Start(target);
            owner = target;
            foreach (GamePlayer p in target.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
            {
                p.Out.SendSpellEffectAnimation(target, target, 7042, 0, false, 1);
            }
            owner.IsStunned = true;
            owner.StopAttack();
            owner.StopCurrentSpellcast();
            owner.DisableTurning(true);
            GamePlayer player = owner as GamePlayer;
            if (player != null)
            {
                player.Out.SendUpdateMaxSpeed();
            }
            else if(owner.CurrentSpeed > owner.MaxSpeed) 
            {
                owner.CurrentSpeed = owner.MaxSpeed;
            }
        }
        public override void Start(GameLiving target)
        {
            base.Start(target);
            _owner = target;
            foreach (GamePlayer p in target.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
            {
                p.Out.SendSpellEffectAnimation(target, target, 7042, 0, false, 1);
            }

            _owner.IsStunned = true;
            _owner.StopAttack();
            _owner.StopCurrentSpellcast();
            _owner.DisableTurning(true);
            if (_owner is GamePlayer player)
            {
                player.Out.SendUpdateMaxSpeed();
            }
            else if (_owner.CurrentSpeed > _owner.MaxSpeed)
            {
                _owner.CurrentSpeed = _owner.MaxSpeed;
            }
        }