Compare commits
No commits in common. "master" and "v6.0" have entirely different histories.
|
@ -990,7 +990,7 @@ csharp_space_around_binary_operators = before_and_after
|
|||
csharp_using_directive_placement = outside_namespace:silent
|
||||
csharp_prefer_simple_using_statement = true:suggestion
|
||||
csharp_prefer_braces = true:silent
|
||||
csharp_style_namespace_declarations = file_scoped:silent
|
||||
csharp_style_namespace_declarations = block_scoped:silent
|
||||
csharp_style_prefer_method_group_conversion = true:silent
|
||||
csharp_style_prefer_top_level_statements = true:silent
|
||||
csharp_style_prefer_primary_constructors = true:suggestion
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Project Sdk="Dalamud.NET.Sdk/9.0.2">
|
||||
<PropertyGroup>
|
||||
<Version>6.2</Version>
|
||||
<Version>6.0</Version>
|
||||
<OutputPath>dist</OutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -35,7 +35,6 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin
|
|||
private readonly ICommandManager _commandManager;
|
||||
private readonly InventoryUtils _inventoryUtils;
|
||||
private readonly IconCache _iconCache;
|
||||
private readonly GameStrings _gameStrings;
|
||||
private readonly AutoRetainerApi _autoRetainerApi;
|
||||
|
||||
[SuppressMessage("Usage", "CA2213:Disposable fields should be disposed", Justification = "Obsolete in ECommons")]
|
||||
|
@ -80,7 +79,6 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin
|
|||
listManager.FinishInitialization();
|
||||
|
||||
_iconCache = new IconCache(textureProvider);
|
||||
_gameStrings = new GameStrings(dataManager, pluginLog);
|
||||
|
||||
_pluginInterface.UiBuilder.Draw += _windowSystem.Draw;
|
||||
_pluginInterface.UiBuilder.OpenMainUi += OpenDiscardUi;
|
||||
|
@ -336,7 +334,7 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin
|
|||
var textNode = addon->UldManager.NodeList[15]->GetAsAtkTextNode();
|
||||
var text = MemoryHelper.ReadSeString(&textNode->NodeText).ExtractText();
|
||||
_pluginLog.Information($"YesNo prompt: {text}");
|
||||
if (_gameStrings.DiscardItem.IsMatch(text) || _gameStrings.DiscardCollectable.IsMatch(text))
|
||||
if (text.StartsWith("Discard", StringComparison.Ordinal))
|
||||
{
|
||||
return addon;
|
||||
}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
using System.Data;
|
||||
using System.Text.RegularExpressions;
|
||||
using Dalamud.Plugin.Services;
|
||||
using LLib;
|
||||
using Lumina.Excel.GeneratedSheets;
|
||||
|
||||
namespace ARDiscard.GameData;
|
||||
|
||||
internal sealed class GameStrings
|
||||
{
|
||||
public GameStrings(IDataManager dataManager, IPluginLog pluginLog)
|
||||
{
|
||||
DiscardItem = dataManager.GetRegex<Addon>(110, addon => addon.Text, pluginLog)
|
||||
?? throw new ConstraintException($"Unable to resolve {nameof(DiscardItem)}");
|
||||
DiscardCollectable = dataManager.GetRegex<Addon>(153, addon => addon.Text, pluginLog)
|
||||
?? throw new ConstraintException($"Unable to resolve {nameof(DiscardCollectable)}");
|
||||
}
|
||||
|
||||
public Regex DiscardItem { get; }
|
||||
public Regex DiscardCollectable { get; }
|
||||
}
|
|
@ -72,14 +72,8 @@ 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> quest)
|
||||
{
|
||||
return quest.Row > 0 &&
|
||||
|
|
|
@ -234,8 +234,7 @@ 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(_itemCache.MaxDungeonItemLevel, maximumItemLevel));
|
||||
_configuration.Armoury.MaximumGearItemLevel = Math.Max(0, Math.Min(625, maximumItemLevel));
|
||||
Save();
|
||||
}
|
||||
|
||||
|
|
|
@ -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 IEnumerable<uint> ToSavedItems()
|
||||
public override IEnumerable<uint> ToSavedItems()
|
||||
{
|
||||
SelectedItems.RemoveAll(x => ExcludedTab.IsBlacklistedInConfiguration(x.ItemId));
|
||||
return SelectedItems.Select(x => x.ItemId);
|
||||
|
|
|
@ -20,7 +20,7 @@ internal sealed class ExcludedListTab : ItemListTab
|
|||
|
||||
protected override string RightSideLabel => "Items that will never be discarded";
|
||||
|
||||
public IEnumerable<uint> ToSavedItems()
|
||||
public override IEnumerable<uint> ToSavedItems()
|
||||
{
|
||||
return SelectedItems
|
||||
.Select(x => x.ItemId)
|
||||
|
|
|
@ -26,6 +26,8 @@ internal abstract class ItemListTab
|
|||
protected abstract string RightSideLabel { get; }
|
||||
protected List<(uint ItemId, string Name)> SelectedItems { get; } = new();
|
||||
|
||||
public abstract IEnumerable<uint> ToSavedItems();
|
||||
|
||||
public void Draw()
|
||||
{
|
||||
var ws = ImGui.GetWindowSize();
|
||||
|
@ -141,6 +143,8 @@ 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()
|
||||
|
|
Loading…
Reference in New Issue