From f2becced5aeed15c767b867a0ed2af788dde50a6 Mon Sep 17 00:00:00 2001 From: Arog Date: Fri, 5 May 2017 16:23:45 -0400 Subject: Core/Conditions: CONDITION_QUEST_OBJECTIVE_COMPLETE (#19510) * Ignore QUEST_OBJECTIVE_FLAG_OPTIONAL from quest_completion --- src/server/game/Entities/Player/Player.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index edf43289ea8..5c1c705a72d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14644,8 +14644,11 @@ bool Player::CanCompleteQuest(uint32 quest_id) { for (QuestObjective const& obj : qInfo->GetObjectives()) { - if (!IsQuestObjectiveComplete(obj)) - return false; + if (!(obj.Flags & QUEST_OBJECTIVE_FLAG_OPTIONAL) && !(obj.Flags & QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR)) + { + if (!IsQuestObjectiveComplete(obj)) + return false; + } } if (qInfo->HasSpecialFlag(QUEST_SPECIAL_FLAGS_TIMED) && q_status.Timer == 0) @@ -16775,9 +16778,6 @@ bool Player::IsQuestObjectiveComplete(QuestObjective const& objective) const Quest const* quest = sObjectMgr->GetQuestTemplate(objective.QuestID); ASSERT(quest); - if (objective.Flags & QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR) - return true; - switch (objective.Type) { case QUEST_OBJECTIVE_MONSTER: -- cgit v1.2.3