diff options
-rw-r--r-- | src/server/game/Entities/Creature/GossipDef.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp index deecaf9dfc7..933aa232732 100644 --- a/src/server/game/Entities/Creature/GossipDef.cpp +++ b/src/server/game/Entities/Creature/GossipDef.cpp @@ -245,7 +245,7 @@ void PlayerMenu::SendGossipMenu(uint32 titleTextId, ObjectGuid objectGUID) text.QuestType = item.QuestIcon; text.QuestFlags[0] = quest->GetFlags(); text.QuestFlags[1] = quest->GetFlagsEx(); - text.Repeatable = quest->IsRepeatable(); + text.Repeatable = quest->IsRepeatable() && !quest->IsDailyOrWeekly() && !quest->IsMonthly(); text.QuestTitle = quest->GetLogTitle(); LocaleConstant localeConstant = _session->GetSessionDbLocaleIndex(); @@ -375,7 +375,7 @@ void PlayerMenu::SendQuestGiverQuestListMessage(Object* questgiver) text.QuestType = questMenuItem.QuestIcon; text.QuestFlags[0] = quest->GetFlags(); text.QuestFlags[1] = quest->GetFlagsEx(); - text.Repeatable = quest->IsRepeatable(); + text.Repeatable = quest->IsRepeatable() && !quest->IsDailyOrWeekly() && !quest->IsMonthly(); text.QuestTitle = quest->GetLogTitle(); LocaleConstant localeConstant = _session->GetSessionDbLocaleIndex(); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a9e5d37a1d7..152e86370b5 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14963,7 +14963,9 @@ void Player::PrepareQuestMenu(ObjectGuid guid) if (!CanTakeQuest(quest, false)) continue; - if (quest->IsAutoComplete()) + if (quest->IsAutoComplete() && (!quest->IsRepeatable() || quest->IsDaily() || quest->IsWeekly() || quest->IsMonthly())) + qm.AddMenuItem(quest_id, 0); + else if (quest->IsAutoComplete()) qm.AddMenuItem(quest_id, 4); else if (GetQuestStatus(quest_id) == QUEST_STATUS_NONE) qm.AddMenuItem(quest_id, 2); @@ -16610,7 +16612,7 @@ QuestGiverStatus Player::GetQuestDialogStatus(Object* questgiver) break; } - if (quest->IsAutoComplete() && CanTakeQuest(quest, false) && quest->IsRepeatable() && !quest->IsDailyOrWeekly()) + if (quest->IsAutoComplete() && CanTakeQuest(quest, false) && quest->IsRepeatable() && !quest->IsDailyOrWeekly() && !quest->IsMonthly()) { if (GetLevel() <= (GetQuestLevel(quest) + sWorld->getIntConfig(CONFIG_QUEST_LOW_LEVEL_HIDE_DIFF))) result |= QuestGiverStatus::RepeatableTurnin; |