diff options
| author | SnapperRy <snapperryen@gmail.com> | 2016-10-16 22:34:07 +0200 |
|---|---|---|
| committer | SnapperRy <snapperryen@gmail.com> | 2016-10-16 22:34:07 +0200 |
| commit | 7666296f5460670e075c290778377676a614cc53 (patch) | |
| tree | 9421a9d707ccdcaacb714c94e62a8b8e32ce4bea /src | |
| parent | c067fe544dd57c3ac72f3251b35d6f30e32d835a (diff) | |
Core/Quest: show DIALOG_STATUS_AVAILABLE instead of DIALOG_STATUS_REWARD for non-repeatable autocomplete quests.
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 2d63ccb3a83..59b109ab754 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15975,17 +15975,14 @@ QuestGiverStatus Player::GetQuestDialogStatus(Object* questgiver) continue; QuestStatus status = GetQuestStatus(questId); - if ((status == QUEST_STATUS_COMPLETE && !GetQuestRewardStatus(questId)) || - (quest->IsAutoComplete() && CanTakeQuest(quest, false))) - { - if (quest->IsAutoComplete() && quest->IsRepeatable() && !quest->IsDailyOrWeekly()) - result2 = DIALOG_STATUS_REWARD_REP; - else - result2 = DIALOG_STATUS_REWARD; - } + if (status == QUEST_STATUS_COMPLETE && !GetQuestRewardStatus(questId)) + result2 = DIALOG_STATUS_REWARD; else if (status == QUEST_STATUS_INCOMPLETE) result2 = DIALOG_STATUS_INCOMPLETE; + if (quest->IsAutoComplete() && CanTakeQuest(quest, false) && quest->IsRepeatable() && !quest->IsDailyOrWeekly()) + result2 = DIALOG_STATUS_REWARD_REP; + if (result2 > result) result = result2; } @@ -16008,9 +16005,7 @@ QuestGiverStatus Player::GetQuestDialogStatus(Object* questgiver) { if (SatisfyQuestLevel(quest, false)) { - if (quest->IsAutoComplete()) - result2 = DIALOG_STATUS_REWARD_REP; - else if (getLevel() <= (GetQuestLevel(quest) + sWorld->getIntConfig(CONFIG_QUEST_LOW_LEVEL_HIDE_DIFF))) + if (getLevel() <= (GetQuestLevel(quest) + sWorld->getIntConfig(CONFIG_QUEST_LOW_LEVEL_HIDE_DIFF))) { if (quest->IsDaily()) result2 = DIALOG_STATUS_AVAILABLE_REP; |
