diff --git a/ARDiscard/ARDiscard.csproj b/ARDiscard/ARDiscard.csproj index cc988a8..ec2d545 100644 --- a/ARDiscard/ARDiscard.csproj +++ b/ARDiscard/ARDiscard.csproj @@ -1,6 +1,6 @@ - 6.1 + 6.2 dist diff --git a/ARDiscard/GameData/ItemCache.cs b/ARDiscard/GameData/ItemCache.cs index 49f6004..55e5f01 100644 --- a/ARDiscard/GameData/ItemCache.cs +++ b/ARDiscard/GameData/ItemCache.cs @@ -72,8 +72,14 @@ internal sealed class ItemCache listManager.AddToInternalWhitelist(item.RowId); } } + + MaxDungeonItemLevel = _items.Values.Where(x => x.Rarity == 2) + .Select(x => (int)x.ILvl) + .Max(); } + public int MaxDungeonItemLevel { get; } + private bool CanDiscardItemsFromQuest(LazyRow quest) { return quest.Row > 0 && diff --git a/ARDiscard/Windows/ConfigWindow.cs b/ARDiscard/Windows/ConfigWindow.cs index 363c1c9..04dee0e 100644 --- a/ARDiscard/Windows/ConfigWindow.cs +++ b/ARDiscard/Windows/ConfigWindow.cs @@ -234,7 +234,8 @@ internal sealed class ConfigWindow : LWindow if (ImGui.InputInt("Ignore items >= this ilvl (Armoury Chest only)", ref maximumItemLevel)) { - _configuration.Armoury.MaximumGearItemLevel = Math.Max(0, Math.Min(625, maximumItemLevel)); + _configuration.Armoury.MaximumGearItemLevel = + Math.Max(0, Math.Min(_itemCache.MaxDungeonItemLevel, maximumItemLevel)); Save(); } diff --git a/ARDiscard/Windows/DiscardListTab.cs b/ARDiscard/Windows/DiscardListTab.cs index 27f32b8..6f2f8b0 100644 --- a/ARDiscard/Windows/DiscardListTab.cs +++ b/ARDiscard/Windows/DiscardListTab.cs @@ -14,7 +14,7 @@ namespace ARDiscard.Windows protected override string RightSideLabel => "Items that will be automatically discarded"; internal required ExcludedListTab ExcludedTab { private get; init; } - public override IEnumerable ToSavedItems() + public IEnumerable ToSavedItems() { SelectedItems.RemoveAll(x => ExcludedTab.IsBlacklistedInConfiguration(x.ItemId)); return SelectedItems.Select(x => x.ItemId); diff --git a/ARDiscard/Windows/ExcludedListTab.cs b/ARDiscard/Windows/ExcludedListTab.cs index 92abdde..9f3ce6c 100644 --- a/ARDiscard/Windows/ExcludedListTab.cs +++ b/ARDiscard/Windows/ExcludedListTab.cs @@ -20,7 +20,7 @@ internal sealed class ExcludedListTab : ItemListTab protected override string RightSideLabel => "Items that will never be discarded"; - public override IEnumerable ToSavedItems() + public IEnumerable ToSavedItems() { return SelectedItems .Select(x => x.ItemId) diff --git a/ARDiscard/Windows/ItemListTab.cs b/ARDiscard/Windows/ItemListTab.cs index c08913f..ac54f60 100644 --- a/ARDiscard/Windows/ItemListTab.cs +++ b/ARDiscard/Windows/ItemListTab.cs @@ -26,8 +26,6 @@ internal abstract class ItemListTab protected abstract string RightSideLabel { get; } protected List<(uint ItemId, string Name)> SelectedItems { get; } = new(); - public abstract IEnumerable ToSavedItems(); - public void Draw() { var ws = ImGui.GetWindowSize(); @@ -143,8 +141,6 @@ internal abstract class ItemListTab protected virtual (string Name, bool Enabled) AsLeftSideDisplay(uint itemId, string name) => (name, true); - protected virtual (string Name, bool Enabled) AsRightSideDisplay(uint itemId, string name) => (name, true); - protected void Save() => _parent.Save(); private void UpdateResults()