public override bool Initialise() { base.Initialise(); Name = "BasicFlaskRoutine"; KeyboardHelper = new KeyboardHelper(GameController); Tree = CreateTree(); // Add this as a coroutine for this plugin Settings.Enable.OnValueChanged += (sender, b) => { if (b) { if (Core.ParallelRunner.FindByName(basicFlaskRoutineChecker) == null) { InitCoroutine(); } TreeCoroutine?.Resume(); } else { TreeCoroutine?.Pause(); } }; InitCoroutine(); Settings.TicksPerSecond.OnValueChanged += (sender, b) => { UpdateCoroutineWaitRender(); }; return(true); }
private void UpdateCoroutineWaitRender() { if (TreeCoroutine != null) { TreeCoroutine.UpdateCondition(new WaitTime(1000 / Settings.TicksPerSecond)); } }
public bool CreateAndStartTreeFromLoadedProfile() { if (Settings.LoadedProfile == null) { return(false); } if (Settings.LoadedProfile.Composite == null) { LogMessage(PluginName + ": Profile " + Settings.LoadedProfile.Name + " was loaded, but it had no composite.", 5); return(true); } if (TreeCoroutine != null) { TreeCoroutine.Done(true); } var extensionParameter = new ExtensionParameter(this); Tree = new ProfileTreeBuilder(ExtensionCache, extensionParameter).BuildTreeFromTriggerComposite(Settings.LoadedProfile.Composite); // Append the cache action to the built tree Tree = new Sequence( new TreeSharp.Action(x => ExtensionCache.LoadedExtensions.ForEach(ext => ext.UpdateCache(extensionParameter, ExtensionCache.Cache))), Tree); // Add this as a coroutine for this plugin TreeCoroutine = (new Coroutine(() => TickTree(Tree) , new WaitTime(1000 / Settings.TicksPerSecond), nameof(BuildYourOwnRoutineCore), "Tree")) .AutoRestart(GameController.CoroutineRunner).Run(); LogMessage(PluginName + ": Profile " + Settings.LoadedProfile.Name + " was loaded successfully!", 5); return(true); }
public override bool Initialise() { base.Initialise(); Name = "Willplug"; pickit = new Pickit(this.Settings, this); mover = new Mover(GameController); WillBot.Me = new WillPlayer(this, GameController, pickit, LoadedMonsters); WillBot.Mover = mover; WillBot.gameController = GameController; WillBot.basePlugin = this; WillBot.KeyboardHelper = new TreeRoutine.DefaultBehaviors.Helpers.KeyboardHelper(GameController); Input.RegisterKey(Keys.RButton); Input.RegisterKey(Keys.A); //Input.RegisterKey(Settings.VaalAttackKey); Input.RegisterKey(Settings.TestKey1); Input.RegisterKey(Settings.TestKey2); Input.RegisterKey(Settings.PauseAbilityUsage); Input.RegisterKey(Settings.TryLootNearbykey); // Input.RegisterKey(Settings.SmokeMineMacroActivationKey); //BuffTree = BuffBehavior.CreateBerserkerBuffTree(); //BuffTree = NecroBuffs.CreateNecroBuffTree(); BuffTree = CharacterAbilityTrees.CreateScourgeArrowPfTree(); Tree = CreateTree(); Settings.Enable.OnValueChanged += (sender, b) => { if (b) { if (Core.ParallelRunner.FindByName(treeroutineName) == null) { InitCoroutine(); } TreeCoroutine?.Resume(); } else { TreeCoroutine?.Pause(); } }; InitCoroutine(); InitBuffRoutine(); InitAutoLootRoutine(); #region PickitRelated DebugTimer.Reset(); Settings.MouseSpeed.OnValueChanged += (sender, f) => { Mouse.speedMouse = Settings.MouseSpeed.Value; }; pickitCoroutineWaitTime = new WaitTime(Settings.ExtraDelay); Settings.ExtraDelay.OnValueChanged += (sender, i) => pickitCoroutineWaitTime = new WaitTime(i); pickit.LoadRuleFiles(); #endregion return(true); }
public override bool Initialise() { base.Initialise(); Name = "BuildYourOwnRoutineCore"; KeyboardHelper = new KeyboardHelper(GameController); ExtensionCache = new ExtensionCache(); ExtensionParameter = new ExtensionParameter(this); ProfileDirectory = DirectoryFullName + @"/Profile/"; ExtensionDirectory = DirectoryFullName + @"/Extension/"; Directory.CreateDirectory(DirectoryFullName); Directory.CreateDirectory(ExtensionDirectory); ExtensionLoader.LoadAllExtensions(ExtensionCache, ExtensionDirectory); ProcessLoadedExtensions(); Settings.Enable.OnValueChanged += (sender, b) => { if (b) { if (Core.ParallelRunner.FindByName(buildYourOwnRoutineChecker) == null) { CreateAndStartTreeFromLoadedProfile(); } TreeCoroutine?.Resume(); } else { TreeCoroutine?.Pause(); } }; CreateAndStartTreeFromLoadedProfile(); Settings.TicksPerSecond.OnValueChanged += (sender, b) => { UpdateCoroutineWaitRender(); }; return(true); }
public override Job Tick() { //ingameStateIngameUi = GameController.Game.IngameState.IngameUi; screentCenterCache = screenCenter; k = camera.Width < 1024f ? 1120f : 1024f; scale = k / camera.Height * camera.Width * 3f / 4f / mapWindow.LargeMapZoom; string soulCatcher = "unique_flask_no_recovery_and_soul_gain"; //string soulCatcher = "unique_flask_soul_catcher"; // //if (WillBot.Plugin.TreeHelper.CanTickMap() == true) //{ // if (Settings.VaalAttackKey.PressedDown()) // { // var playerBuffs = GameController.Game.IngameState.Data.LocalPlayer.GetComponent<ExileCore.PoEMemory.Components.Buffs>(); // var soulCatcherBuffs = playerBuffs?.BuffsList?.Where(x => x.Name?.Contains(soulCatcher) ?? false)?.ToList(); // var soulCatcherBuff = soulCatcherBuffs.FirstOrDefault(); // if (soulCatcherBuff != null && soulCatcherBuff.Timer > 0.2) // { // InputWrapper.KeyDown(Keys.A); // } // else // { // if (DateTime.Now.Subtract(lastActivatedFlaskTime).TotalMilliseconds > 100) // { // InputWrapper.KeyPress(Keys.D2); // lastActivatedFlaskTime = DateTime.Now; // } // } // } // else // { // InputWrapper.KeyUp(Keys.A); // } //} if (Settings.PauseAbilityUsage.PressedOnce()) { if (BuffTreeCoroutine.Running) { Console.WriteLine("Ability paused"); BuffTreeCoroutine.AutoResume = false; BuffTreeCoroutine.Pause(); } else { Console.WriteLine("Abilities resumed"); BuffTreeCoroutine.AutoResume = true; BuffTreeCoroutine.Resume(); } } if (Settings.TestKey1.PressedOnce()) { if (TreeCoroutine.Running) { WillBot.isBotPaused = true; Console.WriteLine("Bot paused"); InputWrapper.ResetMouseButtons(); TreeCoroutine.AutoResume = false; TreeCoroutine.Pause(); } else { WillBot.Mover.UpdateTerrainData(doNotUpdateIfAlreadyExists: true); WillBot.isBotPaused = false; Console.WriteLine("Bot resumed"); TreeCoroutine.AutoResume = true; TreeCoroutine.Resume(); } } if (Settings.TestKey2.PressedOnce()) { //ChaosRecipeBehavior.MapChaosRecipeItems(); //ChaosRecipeBehavior.GetNumberOfCrRecipeSetsInStash(); var gameControllerEntities = GameController.EntityListWrapper; var labelOnGrounds = GameController.IngameState.IngameUi.ItemsOnGroundLabels; var pause = 5; } //if (Settings.TryLootNearbykey.PressedOnce()) //{ // AutoLootCoroutine.AutoResume = true; // AutoLootCoroutine.Resume(); // Console.WriteLine("Looting nearby"); //} //if (autoLootingDone == true) //{ // AutoLootCoroutine.AutoResume = false; // AutoLootCoroutine.Pause(); // Console.WriteLine("Looting done"); // autoLootingDone = false; //} //Debug check for seed cache //var nearestEntities = GameController.Entities.Where(x => x.DistancePlayer < 15).ToList(); //foreach (var entity in nearestEntities) //{ // WillBot.WillBot.LogMessageComboCombo($"Distance player: {entity.DistancePlayer}, name: {entity.ToString()}"); //} if (WillBot.isBotPaused == false) { WillBot.Mover.UpdateExplored(); StuckTracker.Update(); pickit.UpdateItemsToPickUp(); } return(null); }