Add experimental option to disable AutoDuty bare mode
authorLiza Carvelli <liza@carvel.li>
Mon, 10 Mar 2025 16:07:00 +0000 (17:07 +0100)
committerLiza Carvelli <liza@carvel.li>
Mon, 10 Mar 2025 16:07:00 +0000 (17:07 +0100)
Questionable/Configuration.cs
Questionable/External/AutoDutyIpc.cs
Questionable/Windows/ConfigComponents/DebugConfigComponent.cs

index 3ee5737..2979cdb 100644 (file)
@@ -70,6 +70,7 @@ internal sealed class Configuration : IPluginConfiguration
         public bool DebugOverlay { get; set; }
         public bool NeverFly { get; set; }
         public bool AdditionalStatusInformation { get; set; }
+        public bool DisableAutoDutyBareMode { get; set; }
     }
 
     internal enum ECombatModule
index 29675cd..f1d7755 100644 (file)
@@ -75,7 +75,7 @@ internal sealed class AutoDutyIpc
         try
         {
             _setConfig.InvokeAction("dutyModeEnum", "Support");
-            _run.InvokeAction(cfcData.TerritoryId, 1, true);
+            _run.InvokeAction(cfcData.TerritoryId, 1, !_configuration.Advanced.DisableAutoDutyBareMode);
         }
         catch (IpcError e)
         {
index c410f3f..cc9fe35 100644 (file)
@@ -1,4 +1,6 @@
 using Dalamud.Interface.Colors;
+using Dalamud.Interface.Components;
+using Dalamud.Interface.Utility;
 using Dalamud.Interface.Utility.Raii;
 using Dalamud.Plugin;
 using ImGuiNET;
@@ -44,6 +46,24 @@ internal sealed class DebugConfigComponent : ConfigComponent
             Save();
         }
 
+        ImGui.Separator();
+
+        ImGui.Text("AutoDuty options");
+        using (var _ = ImRaii.PushIndent())
+        {
+            ImGui.AlignTextToFramePadding();
+            bool disableAutoDutyBareMode = Configuration.Advanced.DisableAutoDutyBareMode;
+            if (ImGui.Checkbox("Use Pre-Loop/Loop/Post-Loop settings", ref disableAutoDutyBareMode))
+            {
+                Configuration.Advanced.DisableAutoDutyBareMode = disableAutoDutyBareMode;
+                Save();
+            }
+
+            ImGui.SameLine();
+            ImGuiComponents.HelpMarker(
+                "Typically, the loop settings for AutoDuty are disabled when running dungeons with Questionable, since they can cause issues (or even shut down your PC).");
+        }
+
         ImGui.EndTabItem();
     }
 }