From 7667345d6ff2cd99948f2dd12a33946621852ea7 Mon Sep 17 00:00:00 2001 From: nqrcqn <47343000+nqrcqn@users.noreply.github.com> Date: Fri, 6 Sep 2019 14:07:25 +0300 Subject: [PATCH 1/8] Support for unidentified and corrupted items --- Procurement/Controls/ItemHover.xaml | 16 +++++- Procurement/Procurement.csproj | 4 ++ .../ForumExport/CorruptedItemFilter.cs | 44 ++++++++++++++++ .../ForumExport/IdentifiedItemFilter.cs | 51 +++++++++++++++++++ .../ForumExport/UncorruptedItemFilter.cs | 51 +++++++++++++++++++ .../ForumExport/UnidentifiedItemFilter.cs | 44 ++++++++++++++++ Procurement/ViewModel/ItemHoverViewModel.cs | 5 ++ 7 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 Procurement/ViewModel/Filters/ForumExport/CorruptedItemFilter.cs create mode 100644 Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs create mode 100644 Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs create mode 100644 Procurement/ViewModel/Filters/ForumExport/UnidentifiedItemFilter.cs diff --git a/Procurement/Controls/ItemHover.xaml b/Procurement/Controls/ItemHover.xaml index 51e81771..5527d8d2 100644 --- a/Procurement/Controls/ItemHover.xaml +++ b/Procurement/Controls/ItemHover.xaml @@ -452,6 +452,20 @@ Converter={StaticResource bc}, ConverterParameter=CollapseWhenFalse}" /> + + diff --git a/Procurement/Procurement.csproj b/Procurement/Procurement.csproj index 8c3ce64c..f6526abb 100644 --- a/Procurement/Procurement.csproj +++ b/Procurement/Procurement.csproj @@ -196,6 +196,7 @@ + @@ -214,6 +215,9 @@ + + + diff --git a/Procurement/ViewModel/Filters/ForumExport/CorruptedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/CorruptedItemFilter.cs new file mode 100644 index 00000000..80a386a0 --- /dev/null +++ b/Procurement/ViewModel/Filters/ForumExport/CorruptedItemFilter.cs @@ -0,0 +1,44 @@ +using POEApi.Model; + +namespace Procurement.ViewModel.Filters.ForumExport +{ + public class CorruptedItemFilter : IFilter + { + public bool CanFormCategory + { + get + { + return false; + } + } + + public string Keyword + { + get + { + return "Corrupted Items"; + } + } + + public string Help + { + get + { + return "Corrupted Items"; + } + } + + public FilterGroup Group + { + get + { + return FilterGroup.Default; + } + } + + public bool Applicable(Item item) + { + return item.Corrupted; + } + } +} diff --git a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs new file mode 100644 index 00000000..35606154 --- /dev/null +++ b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs @@ -0,0 +1,51 @@ +using POEApi.Model; + +namespace Procurement.ViewModel.Filters.ForumExport +{ + public class IdentifiedItemFilter : IFilter + { + public bool CanFormCategory + { + get + { + return false; + } + } + + public string Keyword + { + get + { + return "Identified Items"; + } + } + + public string Help + { + get + { + return "Identified Items"; + } + } + + public FilterGroup Group + { + get + { + return FilterGroup.Default; + } + } + + public bool Applicable(Item item) + { + if (item.TypeLine.Contains("Sacrifice at ") || item.TypeLine.Contains("Mortal ") || item.TypeLine.Contains(" Key") || item.TypeLine.Contains("Fragment of the ") || item.TypeLine.Contains(" Breachstone")) + return false; + + if (item is Map && item.Identified) + return true; + + Gear gear = item as Gear; + return gear != null && gear.Identified && !(gear.MaxStackSize > 0); + } + } +} diff --git a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs new file mode 100644 index 00000000..78f1807c --- /dev/null +++ b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs @@ -0,0 +1,51 @@ +using POEApi.Model; + +namespace Procurement.ViewModel.Filters.ForumExport +{ + public class UncorruptedItemFilter : IFilter + { + public bool CanFormCategory + { + get + { + return false; + } + } + + public string Keyword + { + get + { + return "Uncorrupted Items"; + } + } + + public string Help + { + get + { + return "Uncorrupted Items"; + } + } + + public FilterGroup Group + { + get + { + return FilterGroup.Default; + } + } + + public bool Applicable(Item item) + { + if (item.TypeLine.Contains("Sacrifice at ") || item.TypeLine.Contains("Mortal ") || item.TypeLine.Contains(" Key") || item.TypeLine.Contains("Fragment of the ") || item.TypeLine.Contains(" Breachstone")) + return false; + + if ((item is Map || item is Gem) && !item.Corrupted) + return true; + + Gear gear = item as Gear; + return gear != null && !gear.Corrupted && !(gear.MaxStackSize > 0); + } + } +} diff --git a/Procurement/ViewModel/Filters/ForumExport/UnidentifiedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UnidentifiedItemFilter.cs new file mode 100644 index 00000000..caee2a8e --- /dev/null +++ b/Procurement/ViewModel/Filters/ForumExport/UnidentifiedItemFilter.cs @@ -0,0 +1,44 @@ +using POEApi.Model; + +namespace Procurement.ViewModel.Filters.ForumExport +{ + public class UnidentifiedItemFilter : IFilter + { + public bool CanFormCategory + { + get + { + return false; + } + } + + public string Keyword + { + get + { + return "Unidentified Items"; + } + } + + public string Help + { + get + { + return "Unidentified Items"; + } + } + + public FilterGroup Group + { + get + { + return FilterGroup.Default; + } + } + + public bool Applicable(Item item) + { + return !item.Identified; + } + } +} diff --git a/Procurement/ViewModel/ItemHoverViewModel.cs b/Procurement/ViewModel/ItemHoverViewModel.cs index 03f5b846..c4220e14 100644 --- a/Procurement/ViewModel/ItemHoverViewModel.cs +++ b/Procurement/ViewModel/ItemHoverViewModel.cs @@ -26,6 +26,8 @@ public class ItemHoverViewModel public string DescriptionText { get; private set; } public string SecondaryDescriptionText { get; private set; } public bool IsCorrupted { get; private set; } + public bool IsUnidentified { get; private set; } + public bool IsCorruptedOrUnidentified { get; private set; } public List Microtransactions { get; private set; } public bool HasMicrotransactions { get; private set; } public List EnchantMods { get; private set; } @@ -96,6 +98,9 @@ public ItemHoverViewModel(Item item) this.DescriptionText = item.DescrText; this.IsCorrupted = item.Corrupted; + this.IsUnidentified = !item.Identified; + if (item.Corrupted || !item.Identified) + this.IsCorruptedOrUnidentified = true; this.Microtransactions = item.Microtransactions; this.HasMicrotransactions = item.Microtransactions.Count > 0; From 922a7950aff7473c889ae5b5cc3b20c91b709bf4 Mon Sep 17 00:00:00 2001 From: nqrcqn <47343000+nqrcqn@users.noreply.github.com> Date: Fri, 6 Sep 2019 14:51:37 +0300 Subject: [PATCH 2/8] Remove flasks from UncorruptedItemFilter --- .../ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs index 78f1807c..4fe32e20 100644 --- a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs @@ -38,7 +38,7 @@ public FilterGroup Group public bool Applicable(Item item) { - if (item.TypeLine.Contains("Sacrifice at ") || item.TypeLine.Contains("Mortal ") || item.TypeLine.Contains(" Key") || item.TypeLine.Contains("Fragment of the ") || item.TypeLine.Contains(" Breachstone")) + if (item.TypeLine.Contains(" Flask") || item.TypeLine.Contains("Sacrifice at ") || item.TypeLine.Contains("Mortal ") || item.TypeLine.Contains(" Key") || item.TypeLine.Contains("Fragment of the ") || item.TypeLine.Contains(" Breachstone")) return false; if ((item is Map || item is Gem) && !item.Corrupted) From 4c017d6f3f34cfbf82fec46d27550734c2119569 Mon Sep 17 00:00:00 2001 From: nqrcqn <47343000+nqrcqn@users.noreply.github.com> Date: Sat, 7 Sep 2019 03:32:41 +0300 Subject: [PATCH 3/8] Improve filters --- .../ForumExport/IdentifiedItemFilter.cs | 26 ++++++++++++++----- .../ForumExport/UncorruptedItemFilter.cs | 25 ++++++++++++++---- .../ForumExport/UnidentifiedItemFilter.cs | 1 + Procurement/ViewModel/ItemHoverViewModel.cs | 10 ++++--- 4 files changed, 48 insertions(+), 14 deletions(-) diff --git a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs index 35606154..bd713189 100644 --- a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs @@ -38,14 +38,28 @@ public FilterGroup Group public bool Applicable(Item item) { - if (item.TypeLine.Contains("Sacrifice at ") || item.TypeLine.Contains("Mortal ") || item.TypeLine.Contains(" Key") || item.TypeLine.Contains("Fragment of the ") || item.TypeLine.Contains(" Breachstone")) + if (!item.Identified) + { return false; - - if (item is Map && item.Identified) + } + else if (item is Map) + { return true; - - Gear gear = item as Gear; - return gear != null && gear.Identified && !(gear.MaxStackSize > 0); + } + else if (!(item.MaxStackSize > 0)) + { + Gear gear = item as Gear; + if (gear != null) + { + return !gear.TypeLine.StartsWith("Sacrifice at ") + && !gear.TypeLine.StartsWith("Mortal ") + && !gear.TypeLine.StartsWith("Fragment of the ") + && !gear.TypeLine.EndsWith(" Key") + && !gear.TypeLine.EndsWith(" Breachstone"); + } + } + + return false; } } } diff --git a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs index 4fe32e20..54f836aa 100644 --- a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs @@ -38,14 +38,29 @@ public FilterGroup Group public bool Applicable(Item item) { - if (item.TypeLine.Contains(" Flask") || item.TypeLine.Contains("Sacrifice at ") || item.TypeLine.Contains("Mortal ") || item.TypeLine.Contains(" Key") || item.TypeLine.Contains("Fragment of the ") || item.TypeLine.Contains(" Breachstone")) + if (item.Corrupted) + { return false; - - if ((item is Map || item is Gem) && !item.Corrupted) + } + else if (item is Map || item is Gem) + { return true; + } + else if (!(item.MaxStackSize > 0)) + { + Gear gear = item as Gear; + if (gear != null) + { + return !gear.TypeLine.StartsWith("Sacrifice at ") + && !gear.TypeLine.StartsWith("Mortal ") + && !gear.TypeLine.StartsWith("Fragment of the ") + && !gear.TypeLine.EndsWith(" Key") + && !gear.TypeLine.EndsWith(" Breachstone") + && !gear.TypeLine.Contains(" Flask"); + } + } - Gear gear = item as Gear; - return gear != null && !gear.Corrupted && !(gear.MaxStackSize > 0); + return false; } } } diff --git a/Procurement/ViewModel/Filters/ForumExport/UnidentifiedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UnidentifiedItemFilter.cs index caee2a8e..c58c2703 100644 --- a/Procurement/ViewModel/Filters/ForumExport/UnidentifiedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/UnidentifiedItemFilter.cs @@ -38,6 +38,7 @@ public FilterGroup Group public bool Applicable(Item item) { + // Item types that can't be unidentified always have identified value as true so a simple check is sufficient return !item.Identified; } } diff --git a/Procurement/ViewModel/ItemHoverViewModel.cs b/Procurement/ViewModel/ItemHoverViewModel.cs index c4220e14..4a0cbe7e 100644 --- a/Procurement/ViewModel/ItemHoverViewModel.cs +++ b/Procurement/ViewModel/ItemHoverViewModel.cs @@ -27,7 +27,13 @@ public class ItemHoverViewModel public string SecondaryDescriptionText { get; private set; } public bool IsCorrupted { get; private set; } public bool IsUnidentified { get; private set; } - public bool IsCorruptedOrUnidentified { get; private set; } + public bool IsCorruptedOrUnidentified + { + get + { + return this.IsCorrupted || this.IsUnidentified; + } + } public List Microtransactions { get; private set; } public bool HasMicrotransactions { get; private set; } public List EnchantMods { get; private set; } @@ -99,8 +105,6 @@ public ItemHoverViewModel(Item item) this.IsCorrupted = item.Corrupted; this.IsUnidentified = !item.Identified; - if (item.Corrupted || !item.Identified) - this.IsCorruptedOrUnidentified = true; this.Microtransactions = item.Microtransactions; this.HasMicrotransactions = item.Microtransactions.Count > 0; From b071e49de4d0c97b32cfc753180fc58c7fb2a35c Mon Sep 17 00:00:00 2001 From: nqrcqn <47343000+nqrcqn@users.noreply.github.com> Date: Sat, 7 Sep 2019 10:33:17 +0300 Subject: [PATCH 4/8] Improve filters --- .../Filters/ForumExport/IdentifiedItemFilter.cs | 9 +++++---- .../Filters/ForumExport/UncorruptedItemFilter.cs | 11 ++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs index bd713189..bb71773d 100644 --- a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs @@ -46,16 +46,17 @@ public bool Applicable(Item item) { return true; } - else if (!(item.MaxStackSize > 0)) + else { Gear gear = item as Gear; if (gear != null) { - return !gear.TypeLine.StartsWith("Sacrifice at ") + return !gear.GearType.Equals(GearType.Breachstone) + && !gear.GearType.Equals(GearType.DivinationCard) + && !gear.TypeLine.StartsWith("Sacrifice at ") && !gear.TypeLine.StartsWith("Mortal ") && !gear.TypeLine.StartsWith("Fragment of the ") - && !gear.TypeLine.EndsWith(" Key") - && !gear.TypeLine.EndsWith(" Breachstone"); + && !gear.TypeLine.EndsWith(" Key"); } } diff --git a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs index 54f836aa..4a4d4226 100644 --- a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs @@ -46,17 +46,18 @@ public bool Applicable(Item item) { return true; } - else if (!(item.MaxStackSize > 0)) + else { Gear gear = item as Gear; if (gear != null) { - return !gear.TypeLine.StartsWith("Sacrifice at ") + return !gear.GearType.Equals(GearType.Flask) + && !gear.GearType.Equals(GearType.Breachstone) + && !gear.GearType.Equals(GearType.DivinationCard) + && !gear.TypeLine.StartsWith("Sacrifice at ") && !gear.TypeLine.StartsWith("Mortal ") && !gear.TypeLine.StartsWith("Fragment of the ") - && !gear.TypeLine.EndsWith(" Key") - && !gear.TypeLine.EndsWith(" Breachstone") - && !gear.TypeLine.Contains(" Flask"); + && !gear.TypeLine.EndsWith(" Key"); } } From 88b01c298257ee31f1b033a38744ff1533175dcd Mon Sep 17 00:00:00 2001 From: nqrcqn <47343000+nqrcqn@users.noreply.github.com> Date: Mon, 9 Sep 2019 15:31:24 +0300 Subject: [PATCH 5/8] Replace fragments with geartype unknown --- .../ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs | 7 ++----- .../ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs | 7 ++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs index bb71773d..771be080 100644 --- a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs @@ -51,12 +51,9 @@ public bool Applicable(Item item) Gear gear = item as Gear; if (gear != null) { - return !gear.GearType.Equals(GearType.Breachstone) + return !gear.GearType.Equals(GearType.Unknown) && !gear.GearType.Equals(GearType.DivinationCard) - && !gear.TypeLine.StartsWith("Sacrifice at ") - && !gear.TypeLine.StartsWith("Mortal ") - && !gear.TypeLine.StartsWith("Fragment of the ") - && !gear.TypeLine.EndsWith(" Key"); + && !gear.GearType.Equals(GearType.Breachstone); } } diff --git a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs index 4a4d4226..8910eb92 100644 --- a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs @@ -52,12 +52,9 @@ public bool Applicable(Item item) if (gear != null) { return !gear.GearType.Equals(GearType.Flask) - && !gear.GearType.Equals(GearType.Breachstone) + && !gear.GearType.Equals(GearType.Unknown) && !gear.GearType.Equals(GearType.DivinationCard) - && !gear.TypeLine.StartsWith("Sacrifice at ") - && !gear.TypeLine.StartsWith("Mortal ") - && !gear.TypeLine.StartsWith("Fragment of the ") - && !gear.TypeLine.EndsWith(" Key"); + && !gear.GearType.Equals(GearType.Breachstone); } } From 96cafdbef664fbedd2ddc0230979a4e702ba3ace Mon Sep 17 00:00:00 2001 From: nqrcqn <47343000+nqrcqn@users.noreply.github.com> Date: Mon, 9 Sep 2019 20:18:21 +0300 Subject: [PATCH 6/8] Add abyss jewels --- .../ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs | 2 +- .../ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs index 771be080..718838c6 100644 --- a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs @@ -42,7 +42,7 @@ public bool Applicable(Item item) { return false; } - else if (item is Map) + else if (item is Map || item is AbyssJewel) { return true; } diff --git a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs index 8910eb92..aae7db0c 100644 --- a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs @@ -42,7 +42,7 @@ public bool Applicable(Item item) { return false; } - else if (item is Map || item is Gem) + else if (item is Map || item is Gem || item is AbyssJewel) { return true; } From 448aa3fe09f5a5d7773a0c3e06f7efb77c3764d2 Mon Sep 17 00:00:00 2001 From: nqrcqn <47343000+nqrcqn@users.noreply.github.com> Date: Wed, 11 Sep 2019 01:51:49 +0300 Subject: [PATCH 7/8] Revert itemhover changes --- Procurement/Controls/ItemHover.xaml | 16 +--------------- Procurement/ViewModel/ItemHoverViewModel.cs | 9 --------- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/Procurement/Controls/ItemHover.xaml b/Procurement/Controls/ItemHover.xaml index 5527d8d2..51e81771 100644 --- a/Procurement/Controls/ItemHover.xaml +++ b/Procurement/Controls/ItemHover.xaml @@ -452,20 +452,6 @@ Converter={StaticResource bc}, ConverterParameter=CollapseWhenFalse}" /> - - diff --git a/Procurement/ViewModel/ItemHoverViewModel.cs b/Procurement/ViewModel/ItemHoverViewModel.cs index 4a0cbe7e..03f5b846 100644 --- a/Procurement/ViewModel/ItemHoverViewModel.cs +++ b/Procurement/ViewModel/ItemHoverViewModel.cs @@ -26,14 +26,6 @@ public class ItemHoverViewModel public string DescriptionText { get; private set; } public string SecondaryDescriptionText { get; private set; } public bool IsCorrupted { get; private set; } - public bool IsUnidentified { get; private set; } - public bool IsCorruptedOrUnidentified - { - get - { - return this.IsCorrupted || this.IsUnidentified; - } - } public List Microtransactions { get; private set; } public bool HasMicrotransactions { get; private set; } public List EnchantMods { get; private set; } @@ -104,7 +96,6 @@ public ItemHoverViewModel(Item item) this.DescriptionText = item.DescrText; this.IsCorrupted = item.Corrupted; - this.IsUnidentified = !item.Identified; this.Microtransactions = item.Microtransactions; this.HasMicrotransactions = item.Microtransactions.Count > 0; From b4d54a0d088d95050718239101332a2b0ac3decf Mon Sep 17 00:00:00 2001 From: nqrcqn <47343000+nqrcqn@users.noreply.github.com> Date: Thu, 19 Sep 2019 22:54:07 +0300 Subject: [PATCH 8/8] Simplify filters --- .../ForumExport/IdentifiedItemFilter.cs | 21 +--------------- .../ForumExport/UncorruptedItemFilter.cs | 24 ++++--------------- 2 files changed, 5 insertions(+), 40 deletions(-) diff --git a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs index 718838c6..46353b35 100644 --- a/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/IdentifiedItemFilter.cs @@ -38,26 +38,7 @@ public FilterGroup Group public bool Applicable(Item item) { - if (!item.Identified) - { - return false; - } - else if (item is Map || item is AbyssJewel) - { - return true; - } - else - { - Gear gear = item as Gear; - if (gear != null) - { - return !gear.GearType.Equals(GearType.Unknown) - && !gear.GearType.Equals(GearType.DivinationCard) - && !gear.GearType.Equals(GearType.Breachstone); - } - } - - return false; + return item.Identified && item.ItemLevel > 0 && !(item.StackSize > 0) && !(item is Incubator) && !(item is FullBestiaryOrb); } } } diff --git a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs index aae7db0c..715893d6 100644 --- a/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs +++ b/Procurement/ViewModel/Filters/ForumExport/UncorruptedItemFilter.cs @@ -38,27 +38,11 @@ public FilterGroup Group public bool Applicable(Item item) { - if (item.Corrupted) - { - return false; - } - else if (item is Map || item is Gem || item is AbyssJewel) - { - return true; - } - else - { - Gear gear = item as Gear; - if (gear != null) - { - return !gear.GearType.Equals(GearType.Flask) - && !gear.GearType.Equals(GearType.Unknown) - && !gear.GearType.Equals(GearType.DivinationCard) - && !gear.GearType.Equals(GearType.Breachstone); - } - } + Gear gear = item as Gear; - return false; + return !item.Corrupted + && (item is Gem || (item.ItemLevel > 0 && !(item.StackSize > 0) && (!gear?.GearType.Equals(GearType.Flask) ?? true))) + && !(item is Incubator) && !(item is FullBestiaryOrb); } } }