muffin v6.16

This commit is contained in:
alydev 2025-10-09 08:44:15 +10:00
parent 29d735e936
commit 1a1e8d9042
4 changed files with 193 additions and 280 deletions

View file

@ -464483,7 +464483,7 @@ public static class AssemblyQuestLoader
reference6 = obj6; reference6 = obj6;
questRoot.QuestSequence = list2; questRoot.QuestSequence = list2;
AddQuest(questId, questRoot); AddQuest(questId, questRoot);
QuestId questId2 = new QuestId(5409); QuestId questId2 = new QuestId(5406);
QuestRoot questRoot2 = new QuestRoot(); QuestRoot questRoot2 = new QuestRoot();
num = 1; num = 1;
List<string> list9 = new List<string>(num); List<string> list9 = new List<string>(num);
@ -464492,7 +464492,7 @@ public static class AssemblyQuestLoader
index = 0; index = 0;
span[index] = "WigglyMuffin"; span[index] = "WigglyMuffin";
questRoot2.Author = list9; questRoot2.Author = list9;
index = 3; index = 2;
List<QuestSequence> list10 = new List<QuestSequence>(index); List<QuestSequence> list10 = new List<QuestSequence>(index);
CollectionsMarshal.SetCount(list10, index); CollectionsMarshal.SetCount(list10, index);
span2 = CollectionsMarshal.AsSpan(list10); span2 = CollectionsMarshal.AsSpan(list10);
@ -464507,51 +464507,104 @@ public static class AssemblyQuestLoader
CollectionsMarshal.SetCount(list11, num2); CollectionsMarshal.SetCount(list11, num2);
span3 = CollectionsMarshal.AsSpan(list11); span3 = CollectionsMarshal.AsSpan(list11);
index2 = 0; index2 = 0;
span3[index2] = new QuestStep(EInteractionType.AcceptQuest, 1052617u, new Vector3(-53.177734f, -3.33786E-06f, -72.129456f), 1237); span3[index2] = new QuestStep(EInteractionType.AcceptQuest, 1054945u, new Vector3(418.7533f, 89.46841f, -779.5682f), 816)
{
AetheryteShortcut = EAetheryteLocation.IlMhegWolekdorf,
SkipConditions = new SkipConditions
{
AetheryteShortcutIf = new SkipAetheryteCondition
{
InSameTerritory = true
}
}
};
obj7.Steps = list11; obj7.Steps = list11;
reference7 = obj7; reference7 = obj7;
num++; num++;
ref QuestSequence reference8 = ref span2[num]; ref QuestSequence reference8 = ref span2[num];
QuestSequence obj8 = new QuestSequence QuestSequence obj8 = new QuestSequence
{ {
Sequence = 1 Sequence = byte.MaxValue
}; };
index2 = 1; index2 = 1;
List<QuestStep> list12 = new List<QuestStep>(index2); List<QuestStep> list12 = new List<QuestStep>(index2);
CollectionsMarshal.SetCount(list12, index2); CollectionsMarshal.SetCount(list12, index2);
span3 = CollectionsMarshal.AsSpan(list12); span3 = CollectionsMarshal.AsSpan(list12);
num2 = 0; num2 = 0;
ref QuestStep reference9 = ref span3[num2]; span3[num2] = new QuestStep(EInteractionType.CompleteQuest, 1054945u, new Vector3(418.7533f, 89.46841f, -779.5682f), 816);
obj8.Steps = list12;
reference8 = obj8;
questRoot2.QuestSequence = list10;
AddQuest(questId2, questRoot2);
QuestId questId3 = new QuestId(5409);
QuestRoot questRoot3 = new QuestRoot();
num = 1;
List<string> list13 = new List<string>(num);
CollectionsMarshal.SetCount(list13, num);
span = CollectionsMarshal.AsSpan(list13);
index = 0;
span[index] = "WigglyMuffin";
questRoot3.Author = list13;
index = 3;
List<QuestSequence> list14 = new List<QuestSequence>(index);
CollectionsMarshal.SetCount(list14, index);
span2 = CollectionsMarshal.AsSpan(list14);
num = 0;
ref QuestSequence reference9 = ref span2[num];
QuestSequence obj9 = new QuestSequence
{
Sequence = 0
};
num2 = 1;
List<QuestStep> list15 = new List<QuestStep>(num2);
CollectionsMarshal.SetCount(list15, num2);
span3 = CollectionsMarshal.AsSpan(list15);
index2 = 0;
span3[index2] = new QuestStep(EInteractionType.AcceptQuest, 1052617u, new Vector3(-53.177734f, -3.33786E-06f, -72.129456f), 1237);
obj9.Steps = list15;
reference9 = obj9;
num++;
ref QuestSequence reference10 = ref span2[num];
QuestSequence obj10 = new QuestSequence
{
Sequence = 1
};
index2 = 1;
List<QuestStep> list16 = new List<QuestStep>(index2);
CollectionsMarshal.SetCount(list16, index2);
span3 = CollectionsMarshal.AsSpan(list16);
num2 = 0;
ref QuestStep reference11 = ref span3[num2];
QuestStep questStep = new QuestStep(EInteractionType.Interact, 1052624u, new Vector3(-42.008118f, 11.869998f, -95.75043f), 1237); QuestStep questStep = new QuestStep(EInteractionType.Interact, 1052624u, new Vector3(-42.008118f, 11.869998f, -95.75043f), 1237);
int num3 = 1; int num3 = 1;
List<DialogueChoice> list13 = new List<DialogueChoice>(num3); List<DialogueChoice> list17 = new List<DialogueChoice>(num3);
CollectionsMarshal.SetCount(list13, num3); CollectionsMarshal.SetCount(list17, num3);
Span<DialogueChoice> span4 = CollectionsMarshal.AsSpan(list13); Span<DialogueChoice> span4 = CollectionsMarshal.AsSpan(list17);
int index3 = 0; int index3 = 0;
span4[index3] = new DialogueChoice span4[index3] = new DialogueChoice
{ {
Type = EDialogChoiceType.YesNo, Type = EDialogChoiceType.YesNo,
Prompt = new ExcelRef("TEXT_KINGWK201_05409_SYSTEM_100_021") Prompt = new ExcelRef("TEXT_KINGWK201_05409_SYSTEM_100_021")
}; };
questStep.DialogueChoices = list13; questStep.DialogueChoices = list17;
reference9 = questStep; reference11 = questStep;
obj8.Steps = list12; obj10.Steps = list16;
reference8 = obj8; reference10 = obj10;
num++; num++;
ref QuestSequence reference10 = ref span2[num]; ref QuestSequence reference12 = ref span2[num];
QuestSequence obj9 = new QuestSequence QuestSequence obj11 = new QuestSequence
{ {
Sequence = byte.MaxValue Sequence = byte.MaxValue
}; };
num2 = 1; num2 = 1;
List<QuestStep> list14 = new List<QuestStep>(num2); List<QuestStep> list18 = new List<QuestStep>(num2);
CollectionsMarshal.SetCount(list14, num2); CollectionsMarshal.SetCount(list18, num2);
span3 = CollectionsMarshal.AsSpan(list14); span3 = CollectionsMarshal.AsSpan(list18);
index2 = 0; index2 = 0;
span3[index2] = new QuestStep(EInteractionType.CompleteQuest, 1053219u, new Vector3(287.49524f, 52.00211f, -382.9862f), 1291); span3[index2] = new QuestStep(EInteractionType.CompleteQuest, 1053219u, new Vector3(287.49524f, 52.00211f, -382.9862f), 1291);
obj9.Steps = list14; obj11.Steps = list18;
reference10 = obj9; reference12 = obj11;
questRoot2.QuestSequence = list10; questRoot3.QuestSequence = list14;
AddQuest(questId2, questRoot2); AddQuest(questId3, questRoot3);
} }
} }

View file

@ -290,11 +290,11 @@ internal sealed class QuestController : MiniTaskController<QuestController>
_safeAnimationEnd = DateTime.Now.AddSeconds(1f + num); _safeAnimationEnd = DateTime.Now.AddSeconds(1f + num);
} }
} }
UpdateCurrentQuest();
if (AutomationType == EAutomationType.Manual && !IsRunning && !IsQuestWindowOpen) if (AutomationType == EAutomationType.Manual && !IsRunning && !IsQuestWindowOpen)
{ {
return; return;
} }
UpdateCurrentQuest();
if (!_clientState.IsLoggedIn) if (!_clientState.IsLoggedIn)
{ {
StopAllDueToConditionFailed("Logged out"); StopAllDueToConditionFailed("Logged out");
@ -511,38 +511,6 @@ internal sealed class QuestController : MiniTaskController<QuestController>
_pendingQuest = null; _pendingQuest = null;
CheckNextTasks("Pending quest accepted"); CheckNextTasks("Pending quest accepted");
} }
if (_startedQuest != null && !_questFunctions.IsQuestAccepted(_startedQuest.Quest.Id))
{
if (_questFunctions.IsQuestComplete(_startedQuest.Quest.Id))
{
_logger.LogDebug("Quest {QuestId} is complete, clearing started quest", _startedQuest.Quest.Id);
_startedQuest = null;
}
else
{
if (!_startedQuest.Quest.Info.IsRepeatable)
{
_logger.LogInformation("Quest {QuestId} was abandoned, clearing started quest", _startedQuest.Quest.Id);
(ElementId, byte)? tuple = (from x in ManualPriorityQuests
where _questFunctions.IsReadyToAcceptQuest(x.Id)
select ((ElementId Id, byte))(Id: x.Id, 0)).FirstOrDefault();
if (tuple.HasValue)
{
(ElementId, byte) valueOrDefault = tuple.GetValueOrDefault();
if ((object)valueOrDefault.Item1 != null && _questRegistry.TryGetQuest(valueOrDefault.Item1, out Quest quest))
{
_logger.LogInformation("Setting priority quest {QuestId} as next quest", valueOrDefault.Item1);
SetNextQuest(quest);
}
}
_startedQuest = null;
Stop("Quest abandoned");
return;
}
_logger.LogInformation("Repeatable quest {QuestId} is no longer accepted, clearing started quest", _startedQuest.Quest.Id);
_startedQuest = null;
}
}
if (_simulatedQuest == null && _nextQuest != null && !((!_nextQuest.Quest.Info.IsRepeatable) ? (!_questFunctions.IsQuestAcceptedOrComplete(_nextQuest.Quest.Id)) : (!_questFunctions.IsQuestAccepted(_nextQuest.Quest.Id)))) if (_simulatedQuest == null && _nextQuest != null && !((!_nextQuest.Quest.Info.IsRepeatable) ? (!_questFunctions.IsQuestAcceptedOrComplete(_nextQuest.Quest.Id)) : (!_questFunctions.IsQuestAccepted(_nextQuest.Quest.Id))))
{ {
_logger.LogInformation("Next quest {QuestId} accepted or completed", _nextQuest.Quest.Id); _logger.LogInformation("Next quest {QuestId} accepted or completed", _nextQuest.Quest.Id);
@ -551,26 +519,11 @@ internal sealed class QuestController : MiniTaskController<QuestController>
_startedQuest = _nextQuest; _startedQuest = _nextQuest;
AutomationType = EAutomationType.SingleQuestB; AutomationType = EAutomationType.SingleQuestB;
} }
else if (_questFunctions.IsQuestAccepted(_nextQuest.Quest.Id))
{
QuestProgressInfo questProgressInfo = _questFunctions.GetQuestProgressInfo(_nextQuest.Quest.Id);
if (questProgressInfo != null)
{
_startedQuest = new QuestProgress(_nextQuest.Quest, questProgressInfo.Sequence);
_logger.LogInformation("Moving accepted next quest to started quest (sequence: {Sequence})", questProgressInfo.Sequence);
_nextQuest = null;
CheckNextTasks("Next quest already accepted");
return;
}
_logger.LogWarning("Could not get quest progress info for accepted quest {QuestId}", _nextQuest.Quest.Id);
}
_logger.LogDebug("Started: {StartedQuest}", _startedQuest?.Quest.Id); _logger.LogDebug("Started: {StartedQuest}", _startedQuest?.Quest.Id);
_nextQuest = null; _nextQuest = null;
} }
byte b; byte b;
QuestProgress questProgress; QuestProgress questProgress;
ElementId elementId;
MainScenarioQuestState mainScenarioQuestState;
if (_simulatedQuest != null) if (_simulatedQuest != null)
{ {
b = _simulatedQuest.Sequence; b = _simulatedQuest.Sequence;
@ -596,90 +549,85 @@ internal sealed class QuestController : MiniTaskController<QuestController>
} }
else else
{ {
ElementId CurrentQuest; _questFunctions.GetCurrentQuest(AutomationType != EAutomationType.SingleQuestB).Deconstruct(out ElementId CurrentQuest, out byte Sequence, out MainScenarioQuestState State);
byte Sequence; ElementId elementId = CurrentQuest;
MainScenarioQuestState State;
if (_startedQuest == null)
{
_questFunctions.GetCurrentQuest(AutomationType != EAutomationType.SingleQuestB).Deconstruct(out CurrentQuest, out Sequence, out State);
elementId = CurrentQuest;
b = Sequence; b = Sequence;
mainScenarioQuestState = State; MainScenarioQuestState mainScenarioQuestState = State;
(ElementId, byte)? tuple2 = (from x in ManualPriorityQuests (ElementId, byte)? tuple = (from x in ManualPriorityQuests
where _questFunctions.IsQuestAccepted(x.Id) where _questFunctions.IsReadyToAcceptQuest(x.Id) || _questFunctions.IsQuestAccepted(x.Id)
select (Id: x.Id, _questFunctions.GetQuestProgressInfo(x.Id)?.Sequence ?? 0)).FirstOrDefault(); select (Id: x.Id, _questFunctions.GetQuestProgressInfo(x.Id)?.Sequence ?? 0)).FirstOrDefault();
if (tuple2.HasValue) if (tuple.HasValue)
{ {
(ElementId, byte) valueOrDefault2 = tuple2.GetValueOrDefault(); (ElementId, byte) valueOrDefault = tuple.GetValueOrDefault();
if ((object)valueOrDefault2.Item1 != null) if ((object)valueOrDefault.Item1 != null)
{ {
(elementId, b) = valueOrDefault2; (elementId, b) = valueOrDefault;
goto IL_084c;
} }
} }
Quest quest2 = ManualPriorityQuests.FirstOrDefault((Quest x) => _questFunctions.IsReadyToAcceptQuest(x.Id)); if (elementId == null || elementId.Value == 0)
if (quest2 != null)
{ {
_logger.LogInformation("Setting ready priority quest {QuestId} as next quest", quest2.Id); if (_startedQuest != null)
SetNextQuest(quest2); {
switch (mainScenarioQuestState)
{
case MainScenarioQuestState.Unavailable:
_logger.LogWarning("MSQ information not available, doing nothing");
return;
case MainScenarioQuestState.LoadingScreen:
_logger.LogWarning("On loading screen, no MSQ - doing nothing");
return; return;
} }
goto IL_084c; _logger.LogInformation("No current quest, resetting data [CQI: {CurrrentQuestData}], [CQ: {QuestData}], [MSQ: {MsqData}]", _questFunctions.GetCurrentQuestInternal(allowNewMsq: true), _questFunctions.GetCurrentQuest(), _questFunctions.GetMainScenarioQuest());
_startedQuest = null;
Stop("Resetting current quest");
} }
questProgress = _startedQuest; questProgress = null;
b = _startedQuest.Sequence;
QuestProgressInfo questProgressInfo2 = _questFunctions.GetQuestProgressInfo(_startedQuest.Quest.Id);
if (questProgressInfo2 != null && questProgressInfo2.Sequence != b)
{
_logger.LogInformation("Updating started quest sequence from {OldSequence} to {NewSequence}", b, questProgressInfo2.Sequence);
b = questProgressInfo2.Sequence;
}
if (AutomationType == EAutomationType.Manual || !IsRunning)
{
_questFunctions.GetCurrentQuest(AutomationType != EAutomationType.SingleQuestB).Deconstruct(out CurrentQuest, out Sequence, out State);
ElementId elementId2 = CurrentQuest;
byte sequence = Sequence;
(ElementId, byte)? tuple4 = (from x in ManualPriorityQuests
where _questFunctions.IsQuestAccepted(x.Id)
select (Id: x.Id, _questFunctions.GetQuestProgressInfo(x.Id)?.Sequence ?? 0)).FirstOrDefault();
if (tuple4.HasValue)
{
(ElementId, byte) valueOrDefault3 = tuple4.GetValueOrDefault();
if ((object)valueOrDefault3.Item1 != null)
{
(elementId2, sequence) = valueOrDefault3;
}
}
if (elementId2 != null && elementId2.Value != 0 && _startedQuest.Quest.Id != elementId2)
{
_logger.LogInformation("Game current quest changed from {OldQuest} to {NewQuest}, updating started quest", _startedQuest.Quest.Id, elementId2);
if (_questRegistry.TryGetQuest(elementId2, out Quest quest3))
{
_logger.LogInformation("Switching to new quest: {QuestName}", quest3.Info.Name);
_startedQuest = new QuestProgress(quest3, sequence);
if (_clientState.LocalPlayer != null && _clientState.LocalPlayer.Level < quest3.Info.Level)
{
_logger.LogInformation("Stopping automation, player level ({PlayerLevel}) < quest level ({QuestLevel}", _clientState.LocalPlayer.Level, quest3.Info.Level);
Stop("Quest level too high");
}
questProgress = _startedQuest;
} }
else else
{ {
_logger.LogInformation("New quest {QuestId} not found in registry", elementId2); if (_startedQuest == null || _startedQuest.Quest.Id != elementId)
{
Quest quest;
if (_configuration.Stop.Enabled && _startedQuest != null && _configuration.Stop.QuestsToStopAfter.Contains(_startedQuest.Quest.Id) && _questFunctions.IsQuestComplete(_startedQuest.Quest.Id))
{
ElementId id = _startedQuest.Quest.Id;
_logger.LogInformation("Reached stopping point (quest: {QuestId})", id);
_chatGui.Print("Completed quest '" + _startedQuest.Quest.Info.Name + "', which is configured as a stopping point.", "Questionable", 576);
_startedQuest = null;
Stop($"Stopping point [{id}] reached");
}
else if (_questRegistry.TryGetQuest(elementId, out quest))
{
_logger.LogInformation("New quest: {QuestName}", quest.Info.Name);
_startedQuest = new QuestProgress(quest, b);
if (_clientState.LocalPlayer != null && _clientState.LocalPlayer.Level < quest.Info.Level)
{
_logger.LogInformation("Stopping automation, player level ({PlayerLevel}) < quest level ({QuestLevel}", _clientState.LocalPlayer.Level, quest.Info.Level);
Stop("Quest level too high");
return;
}
if (AutomationType == EAutomationType.SingleQuestB)
{
_logger.LogInformation("Single quest is finished");
AutomationType = EAutomationType.Manual;
}
CheckNextTasks("Different Quest");
}
else if (_startedQuest != null)
{
_logger.LogInformation("No active quest anymore? Not sure what happened...");
_startedQuest = null;
Stop("No active Quest");
}
return;
}
questProgress = _startedQuest;
} }
} }
}
}
goto IL_0b7c;
IL_0b7c:
if (questProgress == null) if (questProgress == null)
{ {
DebugState = "No quest active"; DebugState = "No quest active";
if (!IsRunning)
{
Stop("No quest active"); Stop("No quest active");
}
return; return;
} }
if (_gameFunctions.IsOccupied() && !_gameFunctions.IsOccupiedWithCustomDeliveryNpc(questProgress.Quest)) if (_gameFunctions.IsOccupied() && !_gameFunctions.IsOccupiedWithCustomDeliveryNpc(questProgress.Quest))
@ -730,68 +678,6 @@ internal sealed class QuestController : MiniTaskController<QuestController>
{ {
DebugState = null; DebugState = null;
} }
return;
IL_084c:
if (elementId == null || elementId.Value == 0)
{
if (_startedQuest != null)
{
switch (mainScenarioQuestState)
{
case MainScenarioQuestState.Unavailable:
_logger.LogWarning("MSQ information not available, doing nothing");
return;
case MainScenarioQuestState.LoadingScreen:
_logger.LogWarning("On loading screen, no MSQ - doing nothing");
return;
}
_logger.LogInformation("No current quest, resetting data [CQI: {CurrrentQuestData}], [CQ: {QuestData}], [MSQ: {MsqData}]", _questFunctions.GetCurrentQuestInternal(allowNewMsq: true), _questFunctions.GetCurrentQuest(), _questFunctions.GetMainScenarioQuest());
_startedQuest = null;
Stop("Resetting current quest");
}
questProgress = null;
}
else
{
if (_startedQuest == null || _startedQuest.Quest.Id != elementId)
{
Quest quest4;
if (_configuration.Stop.Enabled && _startedQuest != null && _configuration.Stop.QuestsToStopAfter.Contains(_startedQuest.Quest.Id) && _questFunctions.IsQuestComplete(_startedQuest.Quest.Id))
{
ElementId id = _startedQuest.Quest.Id;
_logger.LogInformation("Reached stopping point (quest: {QuestId})", id);
_chatGui.Print("Completed quest '" + _startedQuest.Quest.Info.Name + "', which is configured as a stopping point.", "Questionable", 576);
_startedQuest = null;
Stop($"Stopping point [{id}] reached");
}
else if (_questRegistry.TryGetQuest(elementId, out quest4))
{
_logger.LogInformation("New quest: {QuestName}", quest4.Info.Name);
_startedQuest = new QuestProgress(quest4, b);
if (_clientState.LocalPlayer != null && _clientState.LocalPlayer.Level < quest4.Info.Level)
{
_logger.LogInformation("Stopping automation, player level ({PlayerLevel}) < quest level ({QuestLevel}", _clientState.LocalPlayer.Level, quest4.Info.Level);
Stop("Quest level too high");
return;
}
if (AutomationType == EAutomationType.SingleQuestB)
{
_logger.LogInformation("Single quest is finished");
AutomationType = EAutomationType.Manual;
}
CheckNextTasks("Different Quest");
}
else if (_startedQuest != null)
{
_logger.LogInformation("No active quest anymore? Not sure what happened...");
_startedQuest = null;
Stop("No active Quest");
}
return;
}
questProgress = _startedQuest;
}
goto IL_0b7c;
} }
} }
@ -947,13 +833,6 @@ internal sealed class QuestController : MiniTaskController<QuestController>
} }
} }
public void SetStartedQuest(Quest quest, byte sequence = 0)
{
_logger.LogInformation("Setting started quest: {QuestId}", quest.Id);
_startedQuest = new QuestProgress(quest, sequence);
_nextQuest = null;
}
public void SetGatheringQuest(Quest? quest) public void SetGatheringQuest(Quest? quest)
{ {
_logger.LogInformation("GatheringQuest: {QuestId}", quest?.Id); _logger.LogInformation("GatheringQuest: {QuestId}", quest?.Id);

View file

@ -59,33 +59,14 @@ internal sealed class QuestJournalUtils
{ {
return; return;
} }
bool flag = _questFunctions.IsQuestComplete(questInfo.QuestId); using (ImRaii.Disabled(!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId)))
bool flag2 = _questFunctions.IsQuestAccepted(questInfo.QuestId);
bool flag3 = _questFunctions.IsReadyToAcceptQuest(questInfo.QuestId);
using (ImRaii.Disabled(quest == null || flag || (!flag3 && !flag2)))
{ {
if (ImGui.MenuItem("Start as next quest")) if (ImGui.MenuItem("Start as next quest"))
{
if (quest == null)
{
return;
}
if (flag2)
{
QuestProgressInfo questProgressInfo = _questFunctions.GetQuestProgressInfo(questInfo.QuestId);
if (questProgressInfo != null)
{
_questController.SetStartedQuest(quest, questProgressInfo.Sequence);
_questController.Start(label);
}
}
else
{ {
_questController.SetNextQuest(quest); _questController.SetNextQuest(quest);
_questController.Start(label); _questController.Start(label);
} }
} }
}
List<ElementId> incompletePrerequisiteQuests = GetIncompletePrerequisiteQuests(questInfo); List<ElementId> incompletePrerequisiteQuests = GetIncompletePrerequisiteQuests(questInfo);
using (ImRaii.Disabled(incompletePrerequisiteQuests.Count == 0)) using (ImRaii.Disabled(incompletePrerequisiteQuests.Count == 0))
{ {
@ -110,8 +91,8 @@ internal sealed class QuestJournalUtils
ImGui.SetTooltip((incompletePrerequisiteQuests.Count == 1) ? "Add this quest to the priority list" : $"Add this quest and {incompletePrerequisiteQuests.Count - 1} required quest(s) to the priority list in completion order"); ImGui.SetTooltip((incompletePrerequisiteQuests.Count == 1) ? "Add this quest to the priority list" : $"Add this quest and {incompletePrerequisiteQuests.Count - 1} required quest(s) to the priority list in completion order");
} }
} }
bool flag4 = _commandManager.Commands.ContainsKey("/questinfo"); bool flag = _commandManager.Commands.ContainsKey("/questinfo");
using (ImRaii.Disabled(!(questInfo.QuestId is QuestId) || !flag4)) using (ImRaii.Disabled(!(questInfo.QuestId is QuestId) || !flag))
{ {
if (ImGui.MenuItem("View in Quest Map")) if (ImGui.MenuItem("View in Quest Map"))
{ {

View file

@ -2,15 +2,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14 # Visual Studio 14
VisualStudioVersion = 14.0.24720.0 VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuestPaths", "QuestPaths\QuestPaths.csproj", "{33884875-12A7-4737-9AE0-22BA23C5F933}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuestPaths", "QuestPaths\QuestPaths.csproj", "{FEE8D61C-6244-4D60-98C6-A38B62E87FBF}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GatheringPaths", "GatheringPaths\GatheringPaths.csproj", "{577D196C-BA5A-410B-99D8-8242BA2EC631}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GatheringPaths", "GatheringPaths\GatheringPaths.csproj", "{D96B8F86-366E-4B48-B4A9-13862BB089D6}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Questionable", "Questionable\Questionable.csproj", "{589FE93D-4A62-47CD-91FF-833BCE031B3D}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Questionable", "Questionable\Questionable.csproj", "{DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Questionable.Model", "Questionable.Model\Questionable.Model.csproj", "{932D91F5-DA79-4120-862D-3E35C6F92408}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Questionable.Model", "Questionable.Model\Questionable.Model.csproj", "{165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LLib", "LLib\LLib.csproj", "{6E090518-C6E6-4D84-A889-67976D3C2CB5}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LLib", "LLib\LLib.csproj", "{07D8F685-A86D-47EB-82C9-51647E338452}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -20,46 +20,46 @@ Global
Release|x64 = Release|x64 Release|x64 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{33884875-12A7-4737-9AE0-22BA23C5F933}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU {FEE8D61C-6244-4D60-98C6-A38B62E87FBF}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
{33884875-12A7-4737-9AE0-22BA23C5F933}.Debug|AnyCPU.Build.0 = Debug|AnyCPU {FEE8D61C-6244-4D60-98C6-A38B62E87FBF}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
{33884875-12A7-4737-9AE0-22BA23C5F933}.Debug|x64.ActiveCfg = Debug|AnyCPU {FEE8D61C-6244-4D60-98C6-A38B62E87FBF}.Debug|x64.ActiveCfg = Debug|AnyCPU
{33884875-12A7-4737-9AE0-22BA23C5F933}.Debug|x64.Build.0 = Debug|AnyCPU {FEE8D61C-6244-4D60-98C6-A38B62E87FBF}.Debug|x64.Build.0 = Debug|AnyCPU
{33884875-12A7-4737-9AE0-22BA23C5F933}.Release|AnyCPU.ActiveCfg = Release|AnyCPU {FEE8D61C-6244-4D60-98C6-A38B62E87FBF}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
{33884875-12A7-4737-9AE0-22BA23C5F933}.Release|AnyCPU.Build.0 = Release|AnyCPU {FEE8D61C-6244-4D60-98C6-A38B62E87FBF}.Release|AnyCPU.Build.0 = Release|AnyCPU
{33884875-12A7-4737-9AE0-22BA23C5F933}.Release|x64.ActiveCfg = Release|AnyCPU {FEE8D61C-6244-4D60-98C6-A38B62E87FBF}.Release|x64.ActiveCfg = Release|AnyCPU
{33884875-12A7-4737-9AE0-22BA23C5F933}.Release|x64.Build.0 = Release|AnyCPU {FEE8D61C-6244-4D60-98C6-A38B62E87FBF}.Release|x64.Build.0 = Release|AnyCPU
{577D196C-BA5A-410B-99D8-8242BA2EC631}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU {D96B8F86-366E-4B48-B4A9-13862BB089D6}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
{577D196C-BA5A-410B-99D8-8242BA2EC631}.Debug|AnyCPU.Build.0 = Debug|AnyCPU {D96B8F86-366E-4B48-B4A9-13862BB089D6}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
{577D196C-BA5A-410B-99D8-8242BA2EC631}.Debug|x64.ActiveCfg = Debug|AnyCPU {D96B8F86-366E-4B48-B4A9-13862BB089D6}.Debug|x64.ActiveCfg = Debug|AnyCPU
{577D196C-BA5A-410B-99D8-8242BA2EC631}.Debug|x64.Build.0 = Debug|AnyCPU {D96B8F86-366E-4B48-B4A9-13862BB089D6}.Debug|x64.Build.0 = Debug|AnyCPU
{577D196C-BA5A-410B-99D8-8242BA2EC631}.Release|AnyCPU.ActiveCfg = Release|AnyCPU {D96B8F86-366E-4B48-B4A9-13862BB089D6}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
{577D196C-BA5A-410B-99D8-8242BA2EC631}.Release|AnyCPU.Build.0 = Release|AnyCPU {D96B8F86-366E-4B48-B4A9-13862BB089D6}.Release|AnyCPU.Build.0 = Release|AnyCPU
{577D196C-BA5A-410B-99D8-8242BA2EC631}.Release|x64.ActiveCfg = Release|AnyCPU {D96B8F86-366E-4B48-B4A9-13862BB089D6}.Release|x64.ActiveCfg = Release|AnyCPU
{577D196C-BA5A-410B-99D8-8242BA2EC631}.Release|x64.Build.0 = Release|AnyCPU {D96B8F86-366E-4B48-B4A9-13862BB089D6}.Release|x64.Build.0 = Release|AnyCPU
{589FE93D-4A62-47CD-91FF-833BCE031B3D}.Debug|AnyCPU.ActiveCfg = Debug|x64 {DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}.Debug|AnyCPU.ActiveCfg = Debug|x64
{589FE93D-4A62-47CD-91FF-833BCE031B3D}.Debug|AnyCPU.Build.0 = Debug|x64 {DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}.Debug|AnyCPU.Build.0 = Debug|x64
{589FE93D-4A62-47CD-91FF-833BCE031B3D}.Debug|x64.ActiveCfg = Debug|x64 {DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}.Debug|x64.ActiveCfg = Debug|x64
{589FE93D-4A62-47CD-91FF-833BCE031B3D}.Debug|x64.Build.0 = Debug|x64 {DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}.Debug|x64.Build.0 = Debug|x64
{589FE93D-4A62-47CD-91FF-833BCE031B3D}.Release|AnyCPU.ActiveCfg = Release|x64 {DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}.Release|AnyCPU.ActiveCfg = Release|x64
{589FE93D-4A62-47CD-91FF-833BCE031B3D}.Release|AnyCPU.Build.0 = Release|x64 {DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}.Release|AnyCPU.Build.0 = Release|x64
{589FE93D-4A62-47CD-91FF-833BCE031B3D}.Release|x64.ActiveCfg = Release|x64 {DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}.Release|x64.ActiveCfg = Release|x64
{589FE93D-4A62-47CD-91FF-833BCE031B3D}.Release|x64.Build.0 = Release|x64 {DC9E5480-EDC8-46CC-9D1A-5B4A93636AB6}.Release|x64.Build.0 = Release|x64
{932D91F5-DA79-4120-862D-3E35C6F92408}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU {165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
{932D91F5-DA79-4120-862D-3E35C6F92408}.Debug|AnyCPU.Build.0 = Debug|AnyCPU {165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
{932D91F5-DA79-4120-862D-3E35C6F92408}.Debug|x64.ActiveCfg = Debug|AnyCPU {165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}.Debug|x64.ActiveCfg = Debug|AnyCPU
{932D91F5-DA79-4120-862D-3E35C6F92408}.Debug|x64.Build.0 = Debug|AnyCPU {165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}.Debug|x64.Build.0 = Debug|AnyCPU
{932D91F5-DA79-4120-862D-3E35C6F92408}.Release|AnyCPU.ActiveCfg = Release|AnyCPU {165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
{932D91F5-DA79-4120-862D-3E35C6F92408}.Release|AnyCPU.Build.0 = Release|AnyCPU {165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}.Release|AnyCPU.Build.0 = Release|AnyCPU
{932D91F5-DA79-4120-862D-3E35C6F92408}.Release|x64.ActiveCfg = Release|AnyCPU {165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}.Release|x64.ActiveCfg = Release|AnyCPU
{932D91F5-DA79-4120-862D-3E35C6F92408}.Release|x64.Build.0 = Release|AnyCPU {165BDD4B-772A-4F0C-B11B-0E46EAE13C9B}.Release|x64.Build.0 = Release|AnyCPU
{6E090518-C6E6-4D84-A889-67976D3C2CB5}.Debug|AnyCPU.ActiveCfg = Debug|x64 {07D8F685-A86D-47EB-82C9-51647E338452}.Debug|AnyCPU.ActiveCfg = Debug|x64
{6E090518-C6E6-4D84-A889-67976D3C2CB5}.Debug|AnyCPU.Build.0 = Debug|x64 {07D8F685-A86D-47EB-82C9-51647E338452}.Debug|AnyCPU.Build.0 = Debug|x64
{6E090518-C6E6-4D84-A889-67976D3C2CB5}.Debug|x64.ActiveCfg = Debug|x64 {07D8F685-A86D-47EB-82C9-51647E338452}.Debug|x64.ActiveCfg = Debug|x64
{6E090518-C6E6-4D84-A889-67976D3C2CB5}.Debug|x64.Build.0 = Debug|x64 {07D8F685-A86D-47EB-82C9-51647E338452}.Debug|x64.Build.0 = Debug|x64
{6E090518-C6E6-4D84-A889-67976D3C2CB5}.Release|AnyCPU.ActiveCfg = Release|x64 {07D8F685-A86D-47EB-82C9-51647E338452}.Release|AnyCPU.ActiveCfg = Release|x64
{6E090518-C6E6-4D84-A889-67976D3C2CB5}.Release|AnyCPU.Build.0 = Release|x64 {07D8F685-A86D-47EB-82C9-51647E338452}.Release|AnyCPU.Build.0 = Release|x64
{6E090518-C6E6-4D84-A889-67976D3C2CB5}.Release|x64.ActiveCfg = Release|x64 {07D8F685-A86D-47EB-82C9-51647E338452}.Release|x64.ActiveCfg = Release|x64
{6E090518-C6E6-4D84-A889-67976D3C2CB5}.Release|x64.Build.0 = Release|x64 {07D8F685-A86D-47EB-82C9-51647E338452}.Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE