muffin v7.4.6
This commit is contained in:
parent
bb09805213
commit
1cc65e495d
13 changed files with 1291 additions and 949 deletions
|
|
@ -43,6 +43,10 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
|
||||
private bool _mountComboJustOpened;
|
||||
|
||||
private string _classJobSearchText = string.Empty;
|
||||
|
||||
private bool _classJobComboJustOpened;
|
||||
|
||||
public GeneralConfigComponent(IDalamudPluginInterface pluginInterface, Configuration configuration, IDataManager dataManager, ClassJobUtils classJobUtils, QuestRegistry questRegistry, TerritoryData territoryData)
|
||||
: base(pluginInterface, configuration)
|
||||
{
|
||||
|
|
@ -155,17 +159,54 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
base.Configuration.General.GrandCompany = (FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany)currentItem2;
|
||||
Save();
|
||||
}
|
||||
int currentItem3 = Array.IndexOf(_classJobIds, base.Configuration.General.CombatJob);
|
||||
if (currentItem3 == -1)
|
||||
int num3 = Array.IndexOf(_classJobIds, base.Configuration.General.CombatJob);
|
||||
if (num3 == -1)
|
||||
{
|
||||
base.Configuration.General.CombatJob = EClassJob.Adventurer;
|
||||
Save();
|
||||
currentItem3 = 0;
|
||||
num3 = 0;
|
||||
}
|
||||
if (ImGui.Combo((ImU8String)"Preferred Combat Job", ref currentItem3, (ReadOnlySpan<string>)_classJobNames, _classJobNames.Length))
|
||||
string text2 = ((num3 >= 0 && num3 < _classJobNames.Length) ? _classJobNames[num3] : "Unknown");
|
||||
if (ImGui.BeginCombo("Preferred Combat Job", text2, ImGuiComboFlags.HeightLarge))
|
||||
{
|
||||
base.Configuration.General.CombatJob = _classJobIds[currentItem3];
|
||||
Save();
|
||||
if (!_classJobComboJustOpened)
|
||||
{
|
||||
ImGui.SetKeyboardFocusHere();
|
||||
_classJobComboJustOpened = true;
|
||||
}
|
||||
ImGui.SetNextItemWidth(-1f);
|
||||
ImGui.InputTextWithHint("##CombatJobSearch", "Search combat jobs...", ref _classJobSearchText, 256);
|
||||
ImGui.Separator();
|
||||
using (ImRaii.IEndObject endObject3 = ImRaii.Child("##CombatJobScrollArea", new Vector2(0f, 300f), border: false))
|
||||
{
|
||||
if (endObject3)
|
||||
{
|
||||
string value2 = _classJobSearchText.ToUpperInvariant();
|
||||
for (int num4 = 0; num4 < _classJobNames.Length; num4++)
|
||||
{
|
||||
if (string.IsNullOrEmpty(_classJobSearchText) || _classJobNames[num4].ToUpperInvariant().Contains(value2, StringComparison.Ordinal))
|
||||
{
|
||||
bool flag2 = num4 == num3;
|
||||
if (ImGui.Selectable(_classJobNames[num4], flag2))
|
||||
{
|
||||
base.Configuration.General.CombatJob = _classJobIds[num4];
|
||||
Save();
|
||||
_classJobSearchText = string.Empty;
|
||||
ImGui.CloseCurrentPopup();
|
||||
}
|
||||
if (flag2)
|
||||
{
|
||||
ImGui.SetItemDefaultFocus();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ImGui.EndCombo();
|
||||
}
|
||||
else
|
||||
{
|
||||
_classJobComboJustOpened = false;
|
||||
}
|
||||
ImGui.Separator();
|
||||
ImGui.Text("UI");
|
||||
|
|
@ -212,16 +253,38 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
ImGui.Text("Questing");
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
bool v7 = base.Configuration.General.ConfigureTextAdvance;
|
||||
if (ImGui.Checkbox("Automatically configure TextAdvance with the recommended settings", ref v7))
|
||||
bool v7 = base.Configuration.General.CinemaMode;
|
||||
if (ImGui.Checkbox("Cinema Mode (watch cutscenes)", ref v7))
|
||||
{
|
||||
base.Configuration.General.ConfigureTextAdvance = v7;
|
||||
base.Configuration.General.CinemaMode = v7;
|
||||
Save();
|
||||
}
|
||||
bool v8 = base.Configuration.General.SkipLowPriorityDuties;
|
||||
if (ImGui.Checkbox("Unlock certain optional dungeons and raids (instead of waiting for completion)", ref v8))
|
||||
ImGui.SameLine();
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
base.Configuration.General.SkipLowPriorityDuties = v8;
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("When enabled, cutscenes will NOT be automatically skipped.");
|
||||
ImGui.Text("This allows you to experience the story while Questionable");
|
||||
ImGui.Text("handles navigation, combat, and other gameplay automation.");
|
||||
ImGui.Spacing();
|
||||
ImGui.TextColored(new Vector4(0.7f, 0.7f, 0.7f, 1f), "Recommended for first-time story playthroughs.");
|
||||
}
|
||||
}
|
||||
bool v8 = base.Configuration.General.ConfigureTextAdvance;
|
||||
if (ImGui.Checkbox("Automatically configure TextAdvance with the recommended settings", ref v8))
|
||||
{
|
||||
base.Configuration.General.ConfigureTextAdvance = v8;
|
||||
Save();
|
||||
}
|
||||
bool v9 = base.Configuration.General.SkipLowPriorityDuties;
|
||||
if (ImGui.Checkbox("Unlock certain optional dungeons and raids (instead of waiting for completion)", ref v9))
|
||||
{
|
||||
base.Configuration.General.SkipLowPriorityDuties = v9;
|
||||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
|
|
@ -241,18 +304,18 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
{
|
||||
if (_territoryData.TryGetContentFinderCondition(lowPriorityContentFinderConditionQuest.ContentFinderConditionId, out TerritoryData.ContentFinderConditionData contentFinderConditionData))
|
||||
{
|
||||
ImU8String text2 = new ImU8String(0, 1);
|
||||
text2.AppendFormatted(contentFinderConditionData.Name);
|
||||
ImGui.BulletText(text2);
|
||||
ImU8String text3 = new ImU8String(0, 1);
|
||||
text3.AppendFormatted(contentFinderConditionData.Name);
|
||||
ImGui.BulletText(text3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ImGui.Spacing();
|
||||
bool v9 = base.Configuration.General.AutoStepRefreshEnabled;
|
||||
if (ImGui.Checkbox("Automatically refresh quest steps when stuck", ref v9))
|
||||
bool v10 = base.Configuration.General.AutoStepRefreshEnabled;
|
||||
if (ImGui.Checkbox("Automatically refresh quest steps when stuck", ref v10))
|
||||
{
|
||||
base.Configuration.General.AutoStepRefreshEnabled = v9;
|
||||
base.Configuration.General.AutoStepRefreshEnabled = v10;
|
||||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
|
|
@ -268,37 +331,37 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
ImGui.Text("This helps resume automated quest completion when interruptions occur.");
|
||||
}
|
||||
}
|
||||
using (ImRaii.Disabled(!v9))
|
||||
using (ImRaii.Disabled(!v10))
|
||||
{
|
||||
ImGui.Indent();
|
||||
int v10 = base.Configuration.General.AutoStepRefreshDelaySeconds;
|
||||
int v11 = base.Configuration.General.AutoStepRefreshDelaySeconds;
|
||||
ImGui.SetNextItemWidth(150f);
|
||||
if (ImGui.SliderInt("Refresh delay (seconds)", ref v10, 10, 180))
|
||||
if (ImGui.SliderInt("Refresh delay (seconds)", ref v11, 10, 180))
|
||||
{
|
||||
base.Configuration.General.AutoStepRefreshDelaySeconds = v10;
|
||||
base.Configuration.General.AutoStepRefreshDelaySeconds = v11;
|
||||
Save();
|
||||
}
|
||||
Vector4 col = new Vector4(0.7f, 0.7f, 0.7f, 1f);
|
||||
ImU8String text3 = new ImU8String(77, 1);
|
||||
text3.AppendLiteral("Quest steps will refresh automatically after ");
|
||||
text3.AppendFormatted(v10);
|
||||
text3.AppendLiteral(" seconds if no progress is made.");
|
||||
ImGui.TextColored(in col, text3);
|
||||
ImU8String text4 = new ImU8String(77, 1);
|
||||
text4.AppendLiteral("Quest steps will refresh automatically after ");
|
||||
text4.AppendFormatted(v11);
|
||||
text4.AppendLiteral(" seconds if no progress is made.");
|
||||
ImGui.TextColored(in col, text4);
|
||||
ImGui.Unindent();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
ImGui.Separator();
|
||||
ImGui.Text("Priority Quest Management");
|
||||
bool v11 = base.Configuration.General.ClearPriorityQuestsOnLogout;
|
||||
if (ImGui.Checkbox("Clear priority quests on character logout", ref v11))
|
||||
bool v12 = base.Configuration.General.ClearPriorityQuestsOnLogout;
|
||||
if (ImGui.Checkbox("Clear priority quests on character logout", ref v12))
|
||||
{
|
||||
base.Configuration.General.ClearPriorityQuestsOnLogout = v11;
|
||||
base.Configuration.General.ClearPriorityQuestsOnLogout = v12;
|
||||
Save();
|
||||
}
|
||||
bool v12 = base.Configuration.General.ClearPriorityQuestsOnCompletion;
|
||||
if (ImGui.Checkbox("Remove priority quests when completed", ref v12))
|
||||
bool v13 = base.Configuration.General.ClearPriorityQuestsOnCompletion;
|
||||
if (ImGui.Checkbox("Remove priority quests when completed", ref v13))
|
||||
{
|
||||
base.Configuration.General.ClearPriorityQuestsOnCompletion = v12;
|
||||
base.Configuration.General.ClearPriorityQuestsOnCompletion = v13;
|
||||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue