diff --git a/PickIt.cs b/PickIt.cs index 3765cf5..e741362 100644 --- a/PickIt.cs +++ b/PickIt.cs @@ -16,6 +16,7 @@ using System.Windows.Forms; using Input = ExileCore.Input; + namespace PickIt { public class PickIt : BaseSettingsPlugin @@ -337,6 +338,12 @@ public bool OverrideChecks(CustomItem item) if (Settings.Gems && item.Quality >= Settings.GemQuality.Value && item.ClassName.Contains("Skill Gem")) return true; + #endregion + + #region Flasks + + if (Settings.Flasks && item.Quality >= Settings.FlaskQuality.Value && item.ClassName.Contains("Flask")) return true; + #endregion #region Uniques @@ -445,9 +452,9 @@ private IEnumerator FindItemToPick() { currentLabels = GameController.Game.IngameState.IngameUi.ItemsOnGroundLabels .Where(x => x.Address != 0 && - x.ItemOnGround?.Path != null && + x.ItemOnGround?.Path != null && x.CanPickUp && x.IsVisible && x.Label.GetClientRectCache.Center.PointInRectangle(rect) && - (x.CanPickUp || x.MaxTimeForPickUp.TotalSeconds <= 0) || x.ItemOnGround?.Path == morphPath) + (x.MaxTimeForPickUp.TotalSeconds <= 0) || x.ItemOnGround?.Path == morphPath) .Select(x => new CustomItem(x, GameController.Files, x.ItemOnGround.DistancePlayer, _weightsRules, x.ItemOnGround?.Path == morphPath)) .OrderByDescending(x => x.Weight).ThenBy(x => x.Distance).ToList(); @@ -456,9 +463,9 @@ private IEnumerator FindItemToPick() { currentLabels = GameController.Game.IngameState.IngameUi.ItemsOnGroundLabels .Where(x => x.Address != 0 && - x.ItemOnGround?.Path != null && + x.ItemOnGround?.Path != null && x.CanPickUp && x.IsVisible && x.Label.GetClientRectCache.Center.PointInRectangle(rect) && - (x.CanPickUp || x.MaxTimeForPickUp.TotalSeconds <= 0) || x.ItemOnGround?.Path == morphPath) + (x.MaxTimeForPickUp.TotalSeconds <= 0) || x.ItemOnGround?.Path == morphPath) .Select(x => new CustomItem(x, GameController.Files, x.ItemOnGround.DistancePlayer, _weightsRules, x.ItemOnGround?.Path == morphPath)) .OrderBy(x => x.Distance).ToList(); diff --git a/PickItSettings.cs b/PickItSettings.cs index d3b59cc..59e25ba 100644 --- a/PickItSettings.cs +++ b/PickItSettings.cs @@ -29,6 +29,8 @@ public PickItSettings() QuestItems = new ToggleNode(true); Gems = new ToggleNode(true); GemQuality = new RangeNode(1, 0, 20); + Flasks = new ToggleNode(false); + FlaskQuality = new RangeNode(1, 0, 20); GroundChests = new ToggleNode(false); ShaperItems = new ToggleNode(true); ElderItems = new ToggleNode(true); @@ -115,6 +117,8 @@ public PickItSettings() public ToggleNode MapFragments { get; set; } public ToggleNode Gems { get; set; } public RangeNode GemQuality { get; set; } + public ToggleNode Flasks { get; set; } + public RangeNode FlaskQuality { get; set; } public ToggleNode QuestItems { get; set; } public ToggleNode GroundChests { get; set; } public ToggleNode LeftClickToggleNode { get; set; }