aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Player.cpp4
-rw-r--r--src/game/QuestHandler.cpp4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 5addf5db822..6534fb12280 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -13670,7 +13670,11 @@ void Player::SendPreparedQuest(uint64 guid)
}
if (pQuest->HasFlag(QUEST_FLAGS_AUTO_ACCEPT) && CanAddQuest(pQuest, true))
+ {
AddQuest(pQuest, pObject);
+ if (CanCompleteQuest(quest_id))
+ CompleteQuest(quest_id);
+ }
if ((pQuest->IsAutoComplete() && pQuest->IsRepeatable() && !pQuest->IsDailyOrWeekly()) || pQuest->HasFlag(QUEST_FLAGS_AUTOCOMPLETE))
PlayerTalkClass->SendQuestGiverRequestItems(pQuest, guid, CanCompleteRepeatableQuest(pQuest), true);
diff --git a/src/game/QuestHandler.cpp b/src/game/QuestHandler.cpp
index 9b03f68efa8..43213801ebb 100644
--- a/src/game/QuestHandler.cpp
+++ b/src/game/QuestHandler.cpp
@@ -247,7 +247,11 @@ void WorldSession::HandleQuestgiverQueryQuestOpcode(WorldPacket & recv_data)
if (pQuest)
{
if (pQuest->HasFlag(QUEST_FLAGS_AUTO_ACCEPT) && _player->CanAddQuest(pQuest, true))
+ {
_player->AddQuest(pQuest, pObject);
+ if (_player->CanCompleteQuest(quest))
+ _player->CompleteQuest(quest);
+ }
if (pQuest->HasFlag(QUEST_FLAGS_AUTOCOMPLETE))
_player->PlayerTalkClass->SendQuestGiverRequestItems(pQuest, pObject->GetGUID(), _player->CanCompleteQuest(pQuest->GetQuestId()), true);