From f94935b29438887c4c0343fd91b82a96949c945b Mon Sep 17 00:00:00 2001 From: Critical Impact Date: Fri, 19 Jul 2024 20:25:59 +1000 Subject: [PATCH] 1.7.0.14 --- CriticalCommonLib | 2 +- InventoryTools/CHANGELOG.md | 11 +++++ InventoryTools/InventoryTools.csproj | 2 +- .../Columns/FromCalamitySalvagerColumn.cs | 36 +++++++++++++++++ .../Filters/FromCalamitySalvagerFilter.cs | 40 +++++++++++++++++++ InventoryTools/packages.lock.json | 6 +-- 6 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 InventoryTools/Logic/Columns/FromCalamitySalvagerColumn.cs create mode 100644 InventoryTools/Logic/Filters/FromCalamitySalvagerFilter.cs diff --git a/CriticalCommonLib b/CriticalCommonLib index c6d97e92..fe848db0 160000 --- a/CriticalCommonLib +++ b/CriticalCommonLib @@ -1 +1 @@ -Subproject commit c6d97e9278682b8bf35e87e6d9a35f5a8d41e915 +Subproject commit fe848db065e04b11affaea5391591d5781d20980 diff --git a/InventoryTools/CHANGELOG.md b/InventoryTools/CHANGELOG.md index 266ed2da..b644ba3b 100644 --- a/InventoryTools/CHANGELOG.md +++ b/InventoryTools/CHANGELOG.md @@ -13,6 +13,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed +## [1.7.0.14] - 2024-07-19 + +### Added + +- Added a calamity salvager filter and column, also items that can be purchased from a calamity salvager will be listed within the item window for applicable items + +### Fixed + +- Fixed a bug that would list missing ingredients for a craft even if they weren't missing +- Fixed duplicate patch data that was breaking the patch column + ## [1.7.0.13] - 2024-07-18 ### Added diff --git a/InventoryTools/InventoryTools.csproj b/InventoryTools/InventoryTools.csproj index d8115388..c0d69499 100644 --- a/InventoryTools/InventoryTools.csproj +++ b/InventoryTools/InventoryTools.csproj @@ -3,7 +3,7 @@ 12 - 1.2.0.11 + 1.7.0.14 InventoryTools true false diff --git a/InventoryTools/Logic/Columns/FromCalamitySalvagerColumn.cs b/InventoryTools/Logic/Columns/FromCalamitySalvagerColumn.cs new file mode 100644 index 00000000..c9bf9f56 --- /dev/null +++ b/InventoryTools/Logic/Columns/FromCalamitySalvagerColumn.cs @@ -0,0 +1,36 @@ +using CriticalCommonLib.Models; +using CriticalCommonLib.Sheets; +using InventoryTools.Logic.Columns.Abstract; +using InventoryTools.Services; +using Microsoft.Extensions.Logging; + +namespace InventoryTools.Logic.Columns; + +public class FromCalamitySalvagerColumn : CheckboxColumn +{ + public FromCalamitySalvagerColumn(ILogger logger, ImGuiService imGuiService) : base(logger, imGuiService) + { + } + + public override string Name { get; set; } = "Is from Calamity Salvager?"; + public override float Width { get; set; } = 100; + public override string HelpText { get; set; } = "Is this item available at a calmity salvager?"; + public override ColumnCategory ColumnCategory { get; } = ColumnCategory.Basic; + public override bool HasFilter { get; set; } = true; + public override ColumnFilterType FilterType { get; set; } = ColumnFilterType.Boolean; + + public override bool? CurrentValue(ColumnConfiguration columnConfiguration, InventoryItem item) + { + return CurrentValue(columnConfiguration, item.Item); + } + + public override bool? CurrentValue(ColumnConfiguration columnConfiguration, ItemEx item) + { + return item.ObtainedCalamitySalvager; + } + + public override bool? CurrentValue(ColumnConfiguration columnConfiguration, SortingResult item) + { + return CurrentValue(columnConfiguration, item.Item); + } +} \ No newline at end of file diff --git a/InventoryTools/Logic/Filters/FromCalamitySalvagerFilter.cs b/InventoryTools/Logic/Filters/FromCalamitySalvagerFilter.cs new file mode 100644 index 00000000..de0d86c7 --- /dev/null +++ b/InventoryTools/Logic/Filters/FromCalamitySalvagerFilter.cs @@ -0,0 +1,40 @@ +using CriticalCommonLib.Models; +using CriticalCommonLib.Sheets; +using InventoryTools.Logic.Filters.Abstract; +using InventoryTools.Services; +using Microsoft.Extensions.Logging; + +namespace InventoryTools.Logic.Filters; + +public class FromCalamitySalvagerFilter : BooleanFilter +{ + public FromCalamitySalvagerFilter(ILogger logger, ImGuiService imGuiService) : base(logger, imGuiService) + { + } + + public override string Key { get; set; } = "FromCalamitySalvager"; + public override string Name { get; set; } = "Is from Calamity Salvager?"; + public override string HelpText { get; set; } = "Is this item available at a calmity salvager?"; + public override FilterCategory FilterCategory { get; set; } = FilterCategory.Basic; + + public override FilterType AvailableIn { get; set; } = + FilterType.SearchFilter | FilterType.SortingFilter | FilterType.GameItemFilter | FilterType.HistoryFilter | + FilterType.CraftFilter; + public override bool? FilterItem(FilterConfiguration configuration, InventoryItem item) + { + return FilterItem(configuration, item.Item); + } + + public override bool? FilterItem(FilterConfiguration configuration, ItemEx item) + { + var currentValue = CurrentValue(configuration); + if (currentValue == null) return true; + + if(currentValue.Value && item.ObtainedCalamitySalvager) + { + return true; + } + + return !currentValue.Value && !item.ObtainedCalamitySalvager; + } +} \ No newline at end of file diff --git a/InventoryTools/packages.lock.json b/InventoryTools/packages.lock.json index 9746a878..d062c479 100644 --- a/InventoryTools/packages.lock.json +++ b/InventoryTools/packages.lock.json @@ -145,8 +145,8 @@ }, "LuminaSupplemental.Excel": { "type": "Transitive", - "resolved": "2.0.1", - "contentHash": "8e66vQqftCTkurXQOWKKYIecLYKhcKCHP8sth2IM6UhbfeviUhaZs4iOe4JqItn8z3TEoIEKupjJdg1mBuoOxQ==", + "resolved": "2.0.2", + "contentHash": "y5reV6M3MIrUkULs7C2ApGUGPyPNVIPSSvhckImGjhgopUkcs9qOalkVue3U1QLf1Zec4Lr9ibzWkdiiPnEYnQ==", "dependencies": { "CSVFile": "3.1.0", "CsvHelper": "30.0.1" @@ -592,7 +592,7 @@ "dependencies": { "Dalamud.ContextMenu": "[1.3.1, )", "Humanizer.Core": "[2.14.1, )", - "LuminaSupplemental.Excel": "[2.0.1, )", + "LuminaSupplemental.Excel": "[2.0.2, )", "Microsoft.Extensions.Hosting": "[7.0.1, )", "NaturalSort.Extension": "[3.2.0, )", "SerialQueue": "[2.1.0, )",