if (step.NextQuestId == quest.Id)
return null;
+ // probably irrelevant, since pick up is handled elsewhere (and, in particular, checks for aetherytes and stuff)
+ if (questFunctions.GetPriorityQuests().Contains(step.NextQuestId))
+ return null;
+
return new SetQuest(step.NextQuestId, quest.Id, questRegistry, questController, questFunctions, loggerFactory.CreateLogger<SetQuest>());
}
}
InventoryManager* inventoryManager = InventoryManager.Instance();
int gil = inventoryManager->GetItemCountInContainer(1, InventoryType.Currency);
- return GetPriorityQuestsThatCanBeAccepted()
+ return GetPriorityQuests()
+ .Where(IsReadyToAcceptQuest)
.Where(x =>
{
if (!_questRegistry.TryGetQuest(x, out Quest? quest))
return 1000 * quest.AllSteps().Count(x => x.Step.AetheryteShortcut != null);
}
- private List<ElementId> GetPriorityQuestsThatCanBeAccepted()
+ public List<ElementId> GetPriorityQuests()
{
List<ElementId> priorityQuests =
[
return priorityQuests
.Where(_questRegistry.IsKnownQuest)
- .Where(IsReadyToAcceptQuest)
.ToList();
}