diff --git a/YesAlready/Configuration.cs b/YesAlready/Configuration.cs index a0b64ae..76fab34 100644 --- a/YesAlready/Configuration.cs +++ b/YesAlready/Configuration.cs @@ -49,6 +49,7 @@ public partial class Configuration() : IPluginConfiguration public bool LordOfVerminionQuit { get; set; } = false; public bool ChocoboRacingQuit { get; set; } = false; public bool PartyFinderJoinConfirm { get; set; } = false; + public bool GimmickYesNo { get; set; } = false; public static Configuration Load(DirectoryInfo configDirectory) { diff --git a/YesAlready/Features/AddonSelectYesNoFeature.cs b/YesAlready/Features/AddonSelectYesNoFeature.cs index 76641d9..bb4fa34 100644 --- a/YesAlready/Features/AddonSelectYesNoFeature.cs +++ b/YesAlready/Features/AddonSelectYesNoFeature.cs @@ -5,6 +5,7 @@ using ECommons.DalamudServices; using FFXIVClientStructs.FFXIV.Client.UI; using FFXIVClientStructs.FFXIV.Component.GUI; +using Lumina.Excel.GeneratedSheets2; using System; using System.Collections.Generic; using System.Linq; @@ -49,6 +50,13 @@ protected unsafe void AddonSetup(AddonEvent eventType, AddonArgs addonInfo) return; } + if (P.Config.GimmickYesNo && Svc.Data.GetExcelSheet().Where(x => !x.Unknown0.RawString.IsNullOrEmpty()).Select(x => x.Unknown0.RawString).ToList().Any(g => g.Equals(text))) + { + Svc.Log.Debug($"AddonSelectYesNo: Entry is a gimmick"); + AddonSelectYesNoExecute((nint)addon, true); + return; + } + if (P.Config.PartyFinderJoinConfirm && GenericHelpers.TryGetAddonByName("LookingForGroupDetail", out var _) && lfgPatterns.Any(r => r.IsMatch(text))) { Svc.Log.Debug($"AddonSelectYesNo: Entry is party finder join confirmation"); diff --git a/YesAlready/UI/MainWindow.cs b/YesAlready/UI/MainWindow.cs index 2075b7a..ff64b3f 100644 --- a/YesAlready/UI/MainWindow.cs +++ b/YesAlready/UI/MainWindow.cs @@ -692,6 +692,15 @@ private static void DisplayTextButtons() Utils.ImGuiEx.IconButton(FontAwesomeIcon.QuestionCircle, sb.ToString()); if (ImGui.IsItemHovered()) ImGui.SetTooltip(sb.ToString()); + ImGui.SameLine(); + var gimmickConfirm = P.Config.GimmickYesNo; + if (ImGui.Checkbox("Auto GimmickYesNo", ref gimmickConfirm)) + { + P.Config.GimmickYesNo = gimmickConfirm; + P.Config.Save(); + } + if (ImGui.IsItemHovered()) ImGui.SetTooltip("Automatically confirm any Yesno dialogs that are part of the GimmickYesNo sheet.\nThese are mostly the dungeon Yesnos like \"Unlock this door?\" or \"Pickup this item?\""); + ImGui.PopStyleVar(); // ItemSpacing } diff --git a/YesAlready/YesAlready.csproj b/YesAlready/YesAlready.csproj index aa579ed..2b7a861 100644 --- a/YesAlready/YesAlready.csproj +++ b/YesAlready/YesAlready.csproj @@ -2,7 +2,7 @@ daemitus, croizat - 1.6.0.0 + 1.6.1.0