Ejemplo n.º 1
0
 public void Disable()
 {
     if (!CombatAreaCache.RemovePickupItemEvaluator("ChaosRecipePickupEvaluator"))
     {
         Log.Error("[ChaosRecipe] Fail to remove pickup item evaluator.");
     }
 }
Ejemplo n.º 2
0
 public void Enable()
 {
     if (!CombatAreaCache.AddPickupItemEvaluator("ChaosRecipePickupEvaluator", ShouldPickup))
     {
         Log.Error("[ChaosRecipe] Fail to add pickup item evaluator.");
     }
 }
Ejemplo n.º 3
0
 public void Enable()
 {
     if (settings.Instance.ChaosRecipeEnabled)
     {
         if (!CombatAreaCache.AddPickupItemEvaluator("ChaosExaltRecipePickupEvaluatorShaper", ShouldPickupChaos))
         {
             Log.Error("[ChaosExaltRecipe] Fail to add pickup item evaluator.");
         }
     }
     if (settings.Instance.ExaltRecipeEnabled)
     {
         if (!CombatAreaCache.AddPickupItemEvaluator("ExaltRecipePickupEvaluatorShaper", ShouldPickupShaper))
         {
             Log.Error("[ChaosExaltRecipe] Fail to add pickup item evaluator.");
         }
         if (!CombatAreaCache.AddPickupItemEvaluator("ExaltRecipePickupEvaluatorElder", ShouldPickupElder))
         {
             Log.Error("[ChaosExaltRecipe] Fail to add pickup item evaluator.");
         }
     }
 }
Ejemplo n.º 4
0
        public void Tick()
        {
            if (_coroutine == null)
            {
                _coroutine = new Coroutine(() => MainCoroutine());
            }

            ExilePather.Reload();

            Events.Tick();
            CombatAreaCache.Tick();
            _taskManager.Tick();
            PluginManager.Tick();
            RoutineManager.Tick();
            PlayerMoverManager.Tick();
            StuckDetection.Tick();

            Statistics.Instance.Tick();

            // Check to see if the coroutine is finished. If it is, stop the bot.
            if (_coroutine.IsFinished)
            {
                Log.Debug($"The bot coroutine has finished in a state of {_coroutine.Status}");
                BotManager.Stop();
                return;
            }

            try
            {
                _coroutine.Resume();
            }
            catch
            {
                var c = _coroutine;
                _coroutine = null;
                c.Dispose();
                throw;
            }
        }
Ejemplo n.º 5
0
        public void Start()
        {
            Log.DebugFormat("[ChaosExaltRecipe] Start");

            if (PluginManager.EnabledPlugins.Any(p => p.Name.Equals("chaosrecipe", StringComparison.InvariantCultureIgnoreCase)))
            {
                Log.Error($"[{Name}] ChaosRecipe is enabled. This could cause conflicts between the 2 plugins, please disable ChaosRecipe.");
                BotManager.Stop();
                return;
            }

            if (settings.Instance.ChaosRecipeEnabled && settings.Instance.ChaosStashTab == "")
            {
                Log.Error($"[{Name}] Chaos Recipe is enabled in Chaos Exalt Recipe plugin, but a stash tab was not set. Please set a valid stash tab for the chaos recipe.");
                BotManager.Stop();
                return;
            }

            if (settings.Instance.ExaltRecipeEnabled && settings.Instance.ShaperStashTab == "" && settings.Instance.ElderStashTab == "")
            {
                Log.Error($"[{Name}] Exalt Recipe is enabled in Chaos Exalt Recipe plugin, but a stash tab was not set. Please set a valid stash tab for the shaper/elder exalt recipe.");
                BotManager.Stop();
                return;
            }


            // Getting things set up now
            var taskManager = BotStructure.TaskManager;

            if (settings.Instance.ChaosRecipeEnabled)
            {
                if (!CombatAreaCache.AddPickupItemEvaluator("ChaosExaltRecipePickupEvaluatorShaper", ShouldPickupChaos))
                {
                    Log.Error("[ChaosExaltRecipe] Fail to add pickup item evaluator.");
                }
                taskManager.AddBefore(new StashChaosRecipeTask(), "IdTask");
                taskManager.AddBefore(new SellChaosRecipeTask(), "VendorTask");
            }
            else
            {
                if (!CombatAreaCache.RemovePickupItemEvaluator("ChaosExaltRecipePickupEvaluatorShaper"))
                {
                    Log.Error("[ChaosExaltRecipe] Fail to remove pickup item evaluator.");
                }
            }

            if (settings.Instance.ExaltRecipeEnabled)
            {
                if (!CombatAreaCache.AddPickupItemEvaluator("ExaltRecipePickupEvaluatorShaper", ShouldPickupShaper))
                {
                    Log.Error("[ChaosExaltRecipe] Fail to add pickup item evaluator.");
                }
                if (!CombatAreaCache.AddPickupItemEvaluator("ExaltRecipePickupEvaluatorElder", ShouldPickupElder))
                {
                    Log.Error("[ChaosExaltRecipe] Fail to add pickup item evaluator.");
                }
                taskManager.AddBefore(new StashShaperExaltRecipeTask(), "IdTask");
                taskManager.AddBefore(new StashElderExaltRecipeTask(), "IdTask");
                taskManager.AddBefore(new SellShaperExaltRecipeTask(), "VendorTask");
                taskManager.AddBefore(new SellElderExaltRecipeTask(), "VendorTask");
            }
            else
            {
                if (!CombatAreaCache.RemovePickupItemEvaluator("ExaltRecipePickupEvaluatorShaper"))
                {
                    Log.Error("[ChaosExaltRecipe] Fail to remove pickup item evaluator.");
                }
                if (!CombatAreaCache.RemovePickupItemEvaluator("ExaltRecipePickupEvaluatorElder"))
                {
                    Log.Error("[ChaosExaltRecipe] Fail to remove pickup item evaluator.");
                }
            }
        }