diff options
-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 59b92a92300..90260a8b593 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -765,15 +765,18 @@ void WorldSession::HandlePushQuestToParty(WorldPackets::Quest::PushQuestToParty& sender->SendPushToPartyResponse(receiver, QuestPushReason::Success); - if (quest->IsAutoAccept() && receiver->CanAddQuest(quest, true) && receiver->CanTakeQuest(quest, true)) - receiver->AddQuestAndCheckCompletion(quest, sender); - if (quest->IsAutoComplete() && quest->IsRepeatable() && !quest->IsDailyOrWeekly()) receiver->PlayerTalkClass->SendQuestGiverRequestItems(quest, sender->GetGUID(), receiver->CanCompleteRepeatableQuest(quest), true); else { receiver->SetQuestSharingInfo(sender->GetGUID(), quest->GetQuestId()); receiver->PlayerTalkClass->SendQuestGiverQuestDetails(quest, receiver->GetGUID(), true, false); + if (quest->IsAutoAccept() && receiver->CanAddQuest(quest, true) && receiver->CanTakeQuest(quest, true)) + { + receiver->AddQuestAndCheckCompletion(quest, sender); + sender->SendPushToPartyResponse(receiver, QuestPushReason::Accepted); + receiver->ClearQuestSharingInfo(); + } } } } |