aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp9
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();
+ }
}
}
}