Don't return completed main scenario quest
This commit is contained in:
parent
634ac804af
commit
0e0e74ce64
@ -149,10 +149,7 @@ internal sealed unsafe class GameFunctions
|
||||
// always prioritize accepting MSQ quests, to make sure we don't turn in one MSQ quest and then go off to do
|
||||
// side quests until the end of time.
|
||||
var msqQuest = GetMainScenarioQuest(questManager);
|
||||
if (msqQuest.CurrentQuest != 0 &&
|
||||
_questRegistry.IsKnownQuest(msqQuest.CurrentQuest) &&
|
||||
IsReadyToAcceptQuest(msqQuest.CurrentQuest) &&
|
||||
!questManager->IsQuestAccepted(msqQuest.CurrentQuest))
|
||||
if (msqQuest.CurrentQuest != 0 && _questRegistry.IsKnownQuest(msqQuest.CurrentQuest))
|
||||
return msqQuest;
|
||||
|
||||
// Use the quests in the same order as they're shown in the to-do list, e.g. if the MSQ is the first item,
|
||||
@ -224,6 +221,11 @@ internal sealed unsafe class GameFunctions
|
||||
if (questManager->IsQuestAccepted(currentQuest) && questManager->GetQuestById(currentQuest)->IsHidden)
|
||||
return default;
|
||||
|
||||
// it can sometimes happen (although this isn't reliably reproducible) that the quest returned here
|
||||
// is one you've just completed.
|
||||
if (!IsReadyToAcceptQuest(currentQuest))
|
||||
return default;
|
||||
|
||||
// if we're not at a high enough level to continue, we also ignore it
|
||||
var currentLevel = _clientState.LocalPlayer?.Level ?? 0;
|
||||
if (currentLevel != 0 &&
|
||||
|
Loading…
Reference in New Issue
Block a user