diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/QuestHandler.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp index 07b61c7c518..3f928edaf33 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -608,15 +608,18 @@ void WorldSession::HandlePushQuestToParty(WorldPacket& recvPacket) sender->SendPushToPartyResponse(receiver, QUEST_PARTY_MSG_SHARING_QUEST); - if (quest->IsAutoAccept() && receiver->CanAddQuest(quest, true) && receiver->CanTakeQuest(quest, true)) - receiver->AddQuestAndCheckCompletion(quest, sender); - if ((quest->IsAutoComplete() && quest->IsRepeatable() && !quest->IsDailyOrWeekly()) || quest->HasFlag(QUEST_FLAGS_AUTOCOMPLETE)) receiver->PlayerTalkClass->SendQuestGiverRequestItems(quest, sender->GetGUID(), receiver->CanCompleteRepeatableQuest(quest), true); else { receiver->SetQuestSharingInfo(sender->GetGUID(), questId); receiver->PlayerTalkClass->SendQuestGiverQuestDetails(quest, receiver->GetGUID(), true); + if (quest->IsAutoAccept() && receiver->CanAddQuest(quest, true) && receiver->CanTakeQuest(quest, true)) + { + receiver->AddQuestAndCheckCompletion(quest, sender); + sender->SendPushToPartyResponse(receiver, QUEST_PARTY_MSG_ACCEPT_QUEST); + receiver->ClearQuestSharingInfo(); + } } } } |