aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp10
1 files changed, 5 insertions, 5 deletions
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: