aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSnapperRy <snapperryen@gmail.com>2016-10-16 22:34:07 +0200
committerSnapperRy <snapperryen@gmail.com>2016-10-16 22:34:07 +0200
commit7666296f5460670e075c290778377676a614cc53 (patch)
tree9421a9d707ccdcaacb714c94e62a8b8e32ce4bea /src
parentc067fe544dd57c3ac72f3251b35d6f30e32d835a (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.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 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;