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; } }
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; }
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(); } }