Exemplo n.º 1
0
        public async Task <bool> Run()
        {
            if (MoveTimer.IsFinished && (Poi.Current != null && Poi.Current.Type != PoiType.None))
            {
                var path = StraightPathHelper.RealStraightPath();
                Logger.Info($"Dump path:");
                foreach (var x in path)
                {
                    Logger.Info(x.ToString());
                }

                Logger.Warn("No activity was detected for {0} seconds. Clearing POI and trying again.", MoveTimer.WaitTime.TotalSeconds);
                Poi.Clear("No activity detected");
                MoveTimer.Reset();
                return(true);
            }
            else if (MoveTimer.IsFinished)
            {
                Logger.Warn("No activity was detected for {0} seconds. Clearing Navigator?", MoveTimer.WaitTime.TotalSeconds);
                await CommonTasks.StopMoving();

                Navigator.Clear();
                MoveTimer.Reset();
                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
        public async Task <bool> Run()
        {
            if (_moveTimer.IsFinished && Poi.Current != null && Poi.Current.Type != PoiType.None)
            {
                List <Vector3> path = StraightPathHelper.RealStraightPath();
                Logger.Info("Dump path:");
                foreach (Vector3 x in path)
                {
                    Logger.Info(x.ToString());
                }

                Logger.Warn(
                    "No activity was detected for {0} seconds. Adding target {1} to the blacklist and trying again",
                    _moveTimer.WaitTime.TotalSeconds, Poi.Current);
                if (Poi.Current.Unit != null)
                {
                    DDTargetingProvider.Instance.AddToBlackList(Poi.Current.Unit, TimeSpan.FromSeconds(30),
                                                                "Navigation Error");
                }

                if (Poi.Current.Type != PoiType.None)
                {
                    Poi.Clear("No activity detected (not none): PoiType: " + Poi.Current.Type);
                }

                if (Poi.Current.Type != PoiType.Wait)
                {
                    Poi.Clear("No activity detected (not wait): PoiType: " + Poi.Current.Type);
                }

                if (Poi.Current.Type == PoiType.Quest)
                {
                    Poi.Clear("No activity detected (not wait): PoiType: " + Poi.Current.Type);
                }

                GameObjectManager.Update();
                Navigator.Clear();
                _moveTimer.Reset();
                return(true);
            }

            if (_moveTimer.IsFinished)
            {
                Logger.Warn("No activity was detected for {0} seconds. Clearing Navigator?",
                            _moveTimer.WaitTime.TotalSeconds);
                await CommonTasks.StopMoving();

                Navigator.Clear();
                _moveTimer.Reset();
                return(true);
            }

            return(false);
        }
Exemplo n.º 3
0
        public async Task <bool> Run()
        {
            if (MoveTimer.IsFinished && Poi.Current != null && Poi.Current.Type != PoiType.None)
            {
                var path = StraightPathHelper.RealStraightPath();

/*                 Logger.Info($"Dump path:");
 *              foreach(var x in path)
 *              {
 *                  Logger.Info(x.ToString());
 *              } */

                Logger.Warn("No activity was detected for {0} seconds. Adding target to the blacklist and trying again",
                            MoveTimer.WaitTime.TotalSeconds);
                if (Poi.Current.Unit != null)
                {
                    DDTargetingProvider.Instance.AddToBlackList(Poi.Current.Unit, TimeSpan.FromSeconds(60),
                                                                "Navigation Error");
                }
                //if (Poi.Current.Type != PoiType.None)
                Poi.Clear("No activity detected");


                MoveTimer.Reset();
                return(true);
            }

            if (MoveTimer.IsFinished)
            {
                Logger.Warn("No activity was detected for {0} seconds. Clearing Navigator?",
                            MoveTimer.WaitTime.TotalSeconds);
                await CommonTasks.StopMoving();

                Navigator.Clear();
                MoveTimer.Reset();
                return(true);
            }

            return(false);
        }