private void Tick(object sender, EventArgs e)
        {
            if (Status != (EntityStatus)Api.Player.Status)
            {
                Status = (EntityStatus)Api.Player.Status;
                StatusChanged(this, new StatusChangedEventArgs {
                    Status = Status
                });
            }
            if (Zone != CurrentZone)
            {
                Zone = CurrentZone;
                ZoneChanged(this, EventArgs.Empty);
            }
            CastCheck();
            if (OldPosition.Equals(CurrentPosition))
            {
                IsMoving = false;
            }
            else if (!OldPosition.Equals(CurrentPosition))
            {
                IsMoving = true;

                OldPosition = CurrentPosition;
                if (Tasks.Huntertask.Options.RecordWaypoints)
                {
                    Navi.LearnRoutine();
                }
            }
        }