Allow gear coffers to be discarded

This commit is contained in:
Liza 2024-02-04 09:38:58 +01:00
parent 0d7f9f4aa4
commit a94c5077fc
Signed by: liza
GPG Key ID: 7199F8D727D55F67
2 changed files with 17 additions and 2 deletions

View File

@ -261,4 +261,6 @@ internal static class InternalConfiguration
#endregion
}.AsReadOnly();
public static readonly IList<uint> DiscardableGearCoffers = new List<uint>();
}

View File

@ -60,6 +60,17 @@ internal sealed class ItemCache
cachedItemInfo.CanBeBoughtFromCalamitySalvager = true;
}
// only look at msq + regional side quests
foreach (var quest in dataManager.GetExcelSheet<Quest>()!.Where(x => x.JournalGenre.Value?.JournalCategory.Value?.JournalSection.Row is 0 or 1 or 3))
{
foreach (var itemId in quest.ItemReward.Where(x => x > 0))
{
var item = dataManager.GetExcelSheet<Item>()!.GetRow(itemId);
if (item is { Rarity: 1, ItemAction.Row: 388 } && item.RowId != 38809 && item.RowId != 29679)
InternalConfiguration.DiscardableGearCoffers.Add(item.RowId);
}
}
}
private bool CanDiscardItemsFromQuest(LazyRow<Quest> quest)
@ -120,13 +131,15 @@ internal sealed class ItemCache
public bool CanBeDiscarded()
{
if (InternalConfiguration.BlacklistedItems.Contains(ItemId) || InternalConfiguration.UltimateWeapons.Contains(ItemId))
if (InternalConfiguration.BlacklistedItems.Contains(ItemId) ||
InternalConfiguration.UltimateWeapons.Contains(ItemId))
return false;
if (UiCategory is UiCategories.Currency or UiCategories.Crystals or UiCategories.Unobtainable)
return false;
if (InternalConfiguration.WhitelistedItems.Contains(ItemId))
if (InternalConfiguration.WhitelistedItems.Contains(ItemId) ||
InternalConfiguration.DiscardableGearCoffers.Contains(ItemId))
return true;
return CanBeBoughtFromCalamitySalvager ||