aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSnapperRy <snapperryen@gmail.com>2016-10-16 22:34:07 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-10-03 17:47:19 +0200
commitf0ddceeff40e97c19a3b9ff123d99be9172866d2 (patch)
tree564e94465494592e02762c7405cb8a70dc924c9d
parent6df51159c414128e5df9c8484cde3837f8e2d5f3 (diff)
Core/Quest: show DIALOG_STATUS_AVAILABLE instead of DIALOG_STATUS_REWARD for non-repeatable autocomplete quests.
(cherry picked from commit 7666296f5460670e075c290778377676a614cc53)
-rw-r--r--src/server/game/Entities/Player/Player.cpp17
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 39afab8ded1..11d96a95d9a 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -16098,17 +16098,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;
}
@@ -16131,9 +16128,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;