aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArog <benjamin.le.bot@gmail.com>2017-05-05 16:23:45 -0400
committerjoschiwald <joschiwald.trinity@gmail.com>2017-05-05 22:23:45 +0200
commitf2becced5aeed15c767b867a0ed2af788dde50a6 (patch)
treeceabf6300fd1450eefd439ea9daa7711af6ada2c /src
parentb68b7ecd9fbc8afe5254881b621aa69735663c21 (diff)
Core/Conditions: CONDITION_QUEST_OBJECTIVE_COMPLETE (#19510)
* Ignore QUEST_OBJECTIVE_FLAG_OPTIONAL from quest_completion
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: