Esempio n. 1
0
        internal static void DoAllocations(this CustomAllocation allocation)
        {
            if (!Settings.GlobalEnabled)
            {
                return;
            }

            if (allocation.IsAllocationRunning)
            {
                return;
            }
            try
            {
                var originalInput = Main.Character.energyMagicPanel.energyMagicInput;

                allocation.IsAllocationRunning = true;

                if (Settings.ManageNGUDiff)
                {
                    allocation.SwapNGUDiff();
                }
                if (Settings.ManageGear)
                {
                    allocation.EquipGear();
                }
                if (Settings.ManageEnergy)
                {
                    allocation.AllocateEnergy();
                }
                if (Settings.ManageMagic)
                {
                    allocation.AllocateMagic();
                }
                if (Settings.ManageR3)
                {
                    allocation.AllocateR3();
                }

                if (Settings.ManageDiggers && Main.Character.buttons.diggers.interactable)
                {
                    allocation.EquipDiggers();
                    DiggerManager.RecapDiggers();
                }

                if (Settings.ManageWandoos && Main.Character.buttons.wandoos.interactable)
                {
                    allocation.SwapOS();
                }

                Main.Character.energyMagicPanel.energyRequested.text = originalInput.ToString();
                Main.Character.energyMagicPanel.validateInput();
            }
            finally
            {
                allocation.IsAllocationRunning = false;
            }
        }
Esempio n. 2
0
        void AutomationRoutine()
        {
            try
            {
                if (!Settings.GlobalEnabled)
                {
                    _timeLeft = 10f;
                    return;
                }

                if (Settings.ManageInventory)
                {
                    var converted  = Character.inventory.GetConvertedInventory().ToArray();
                    var boostSlots = _invManager.GetBoostSlots(converted);
                    _invManager.EnsureFiltered(converted);
                    _invManager.ManageConvertibles(converted);
                    _invManager.MergeEquipped();
                    _invManager.MergeInventory(converted);
                    _invManager.MergeBoosts(converted);
                    _invManager.MergeGuffs(converted);
                    _invManager.BoostInventory(boostSlots);
                    _invManager.BoostInfinityCube();
                    _invManager.ManageBoostConversion(boostSlots);
                }

                if (Settings.SwapTitanLoadouts)
                {
                    LoadoutManager.TryTitanSwap();
                    DiggerManager.TryTitanSwap();
                }

                if (Settings.ManageYggdrasil && Character.buttons.yggdrasil.interactable)
                {
                    _yggManager.ManageYggHarvest();
                    _yggManager.CheckFruits();
                }

                if (Settings.AutoBuyEM)
                {
                    //We haven't unlocked custom purchases yet
                    if (Character.highestBoss < 17)
                    {
                        return;
                    }
                    //Magic isn't unlocked yet
                    if (Character.highestBoss < 37)
                    {
                        var ePurchase    = Character.energyPurchases;
                        var total        = ePurchase.customAllCost();
                        var numPurchases = Math.Floor((double)(Character.realExp / total));
                        if (numPurchases > 0)
                        {
                            var ePurchaseMethod = ePurchase.GetType().GetMethod("buyCustomAll",
                                                                                BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                            if (ePurchaseMethod != null)
                            {
                                Log($"Buying {numPurchases} exp purchases");
                                for (var i = 0; i < numPurchases; i++)
                                {
                                    ePurchaseMethod.Invoke(ePurchase, null);
                                }
                            }
                        }
                    }
                    else
                    {
                        var ePurchase    = Character.energyPurchases;
                        var mPurchase    = Character.magicPurchases;
                        var total        = ePurchase.customAllCost() + mPurchase.customAllCost();
                        var numPurchases = Math.Floor((double)(Character.realExp / total));
                        if (numPurchases > 0)
                        {
                            var ePurchaseMethod = ePurchase.GetType().GetMethod("buyCustomAll",
                                                                                BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                            var mPurchaseMethod = mPurchase.GetType().GetMethod("buyCustomAll",
                                                                                BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                            if (ePurchaseMethod != null && mPurchaseMethod != null)
                            {
                                Log($"Buying {numPurchases} e/m purchases");
                                for (var i = 0; i < numPurchases; i++)
                                {
                                    ePurchaseMethod.Invoke(ePurchase, null);
                                    mPurchaseMethod.Invoke(mPurchase, null);
                                }
                            }
                        }
                    }
                }

                if (Settings.ManageGear)
                {
                    _profile.EquipGear();
                }
                if (Settings.ManageEnergy)
                {
                    _profile.AllocateEnergy();
                }
                if (Settings.ManageMagic)
                {
                    _profile.AllocateMagic();
                }
                if (Settings.ManageR3)
                {
                    _profile.AllocateR3();
                }

                if (Settings.ManageDiggers && Character.buttons.diggers.interactable)
                {
                    _profile.EquipDiggers();
                    DiggerManager.RecapDiggers();
                }

                if (Settings.ManageWandoos && Character.buttons.wandoos.interactable)
                {
                    _profile.SwapOS();
                }

                if (Settings.AutoQuest && Character.buttons.beast.interactable)
                {
                    var converted = Character.inventory.GetConvertedInventory().ToArray();
                    _invManager.ManageQuestItems(converted);
                    _questManager.CheckQuestTurnin();
                    _questManager.ManageQuests();
                }

                if (Settings.AutoRebirth)
                {
                    _profile.DoRebirth();
                }
            }
            catch (Exception e)
            {
                Log(e.Message);
                Log(e.StackTrace);
            }
            _timeLeft = 10f;
        }
Esempio n. 3
0
        void QuickStuff()
        {
            //Turn on autoattack if we're in ITOPOD and its not on
            if (Settings.AutoQuestITOPOD && Character.adventureController.zone >= 1000 && !Character.adventure.autoattacking && !Settings.CombatEnabled)
            {
                Character.adventureController.idleAttackMove.setToggle();
            }

            if (Settings.AutoFight)
            {
                var needsAllocation = false;
                var bc = Character.bossController;
                if (!bc.isFighting && !bc.nukeBoss)
                {
                    if (Character.bossID == 0)
                    {
                        needsAllocation = true;
                    }

                    if (bc.character.attack / 5.0 > bc.character.bossDefense && bc.character.defense / 5.0 > bc.character.bossAttack)
                    {
                        bc.startNuke();
                    }
                    else
                    {
                        if (bc.character.attack > (bc.character.bossDefense * 1.4) && bc.character.defense > bc.character.bossAttack * 1.4)
                        {
                            bc.beginFight();
                            bc.stopButton.gameObject.SetActive(true);
                        }
                    }
                }

                if (needsAllocation)
                {
                    if (Settings.ManageGear)
                    {
                        _profile.EquipGear();
                    }
                    if (Settings.ManageEnergy)
                    {
                        _profile.AllocateEnergy();
                    }
                    if (Settings.ManageMagic)
                    {
                        _profile.AllocateMagic();
                    }
                    if (Settings.ManageDiggers && Character.buttons.diggers.interactable)
                    {
                        _profile.EquipDiggers();
                        DiggerManager.RecapDiggers();
                    }

                    if (Settings.ManageR3 && Character.buttons.hacks.interactable)
                    {
                        _profile.AllocateR3();
                    }

                    if (Settings.ManageWandoos && Character.buttons.wandoos.interactable)
                    {
                        _profile.SwapOS();
                    }
                }
            }

            if (Settings.AutoMoneyPit)
            {
                MoneyPitManager.CheckMoneyPit();
            }

            if (Settings.AutoSpin)
            {
                MoneyPitManager.DoDailySpin();
            }

            if (Settings.AutoQuestITOPOD)
            {
                MoveToITOPOD();
            }

            if (Settings.AutoSpellSwap)
            {
                var spaghetti   = (Character.bloodMagicController.lootBonus() - 1) * 100;
                var counterfeit = ((Character.bloodMagicController.goldBonus() - 1)) * 100;
                var number      = Character.bloodMagic.rebirthPower;
                Character.bloodMagic.rebirthAutoSpell = Settings.BloodNumberThreshold >= number;
                Character.bloodMagic.goldAutoSpell    = Settings.CounterfeitThreshold >= counterfeit;
                Character.bloodMagic.lootAutoSpell    = Settings.SpaghettiThreshold >= spaghetti;
                Character.bloodSpells.updateGoldToggleState();
                Character.bloodSpells.updateLootToggleState();
                Character.bloodSpells.updateRebirthToggleState();
            }
        }