diff options
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r-- | src/game/Player.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 091d8f59428..62dc4789533 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -13752,7 +13752,7 @@ bool Player::CanCompleteQuest(uint32 quest_id) return false; // auto complete quest - if (qInfo->IsAutoComplete() && CanTakeQuest(qInfo, false)) + if ((qInfo->IsAutoComplete() || qInfo->GetFlags() & QUEST_FLAGS_AUTOCOMPLETE) && CanTakeQuest(qInfo, false)) return true; if (q_status.m_status == QUEST_STATUS_INCOMPLETE) @@ -13827,7 +13827,7 @@ bool Player::CanCompleteRepeatableQuest(Quest const *pQuest) bool Player::CanRewardQuest(Quest const *pQuest, bool msg) { // not auto complete quest and not completed quest (only cheating case, then ignore without message) - if (!pQuest->IsAutoComplete() && GetQuestStatus(pQuest->GetQuestId()) != QUEST_STATUS_COMPLETE) + if (!pQuest->IsAutoComplete() && !(pQuest->GetFlags() & QUEST_FLAGS_AUTOCOMPLETE) && GetQuestStatus(pQuest->GetQuestId()) != QUEST_STATUS_COMPLETE) return false; // daily quest can't be rewarded (25 daily quest already completed) |