From 4811a14bd6dcb9fc65970195f805f42fab71314b Mon Sep 17 00:00:00 2001 From: buddiman Date: Fri, 18 Jun 2021 17:05:29 +0200 Subject: [PATCH] fix(CORE/Quests): Quest dialog fails to close with follow-up quest (#6309) - Fixes the problem with the quest dialog which doesn't close/update on a follow-up quest if there is no space in the inventory - Closes: https://github.com/azerothcore/azerothcore-wotlk/issues/6296 --- src/server/game/Handlers/QuestHandler.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp index 2d4894deb..56db8d221 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -297,10 +297,22 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPacket& recvData) // Send next quest if (Quest const* nextQuest = _player->GetNextQuest(guid, quest)) { - if (_player->CanAddQuest(nextQuest, false) && _player->CanTakeQuest(nextQuest, false)) + if (_player->CanTakeQuest(nextQuest, false)) { if (nextQuest->IsAutoAccept()) - _player->AddQuestAndCheckCompletion(nextQuest, object); + { + // QUEST_FLAGS_AUTO_ACCEPT was not used by Blizzard. + if (_player->CanAddQuest(nextQuest, false)) + { + _player->AddQuestAndCheckCompletion(nextQuest, object); + } + else + { + // Auto accept is set for a custom quest and there is no inventory space + _player->PlayerTalkClass->SendCloseGossip(); + break; + } + } _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextQuest, guid, true); } }