From 5a18ee0e660dc32c5cee68330e0ff6aeb235fd7c Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 18 Jun 2011 17:15:52 +0200 Subject: Core/Quests: Fixed autoaccept quests for quest chains --- .../game/Server/Protocol/Handlers/QuestHandler.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src') diff --git a/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp b/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp index ae095eb4183..0766f5b5de2 100755 --- a/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp @@ -325,7 +325,16 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPacket & recv_data) { // Send next quest if (Quest const* nextquest = _player->GetNextQuest(guid , pQuest)) + { + if (nextquest->IsAutoAccept() && _player->CanAddQuest(nextquest, true)) + { + _player->AddQuest(nextquest, pObject); + if (_player->CanCompleteQuest(nextquest->GetQuestId())) + _player->CompleteQuest(nextquest->GetQuestId()); + } + _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextquest, guid, true); + } (pObject->ToCreature())->AI()->sQuestReward(_player, pQuest, reward); } @@ -335,7 +344,17 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPacket & recv_data) { // Send next quest if (Quest const* nextquest = _player->GetNextQuest(guid , pQuest)) + { + if (nextquest->IsAutoAccept() && _player->CanAddQuest(nextquest, true)) + { + _player->AddQuest(nextquest, pObject); + if (_player->CanCompleteQuest(nextquest->GetQuestId())) + _player->CompleteQuest(nextquest->GetQuestId()); + } + _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextquest, guid, true); + } + pObject->ToGameObject()->AI()->QuestReward(_player, pQuest, reward); } break; -- cgit v1.2.3