diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/QuestHandler.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp index ff08b69dcfc..e4c82e64af5 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -382,6 +382,9 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPackets::Quest::Quest { if (_player->CanRewardQuest(quest, packet.Choice.LootItemType, packet.Choice.Item.ItemID, true)) // Then check if player can receive the reward item (if inventory is not full, if player doesn't have too many unique items, and so on). If not, the client will close the gossip window { + if (Battleground* bg = _player->GetBattleground()) + bg->HandleQuestComplete(packet.QuestID, _player); + _player->RewardQuest(quest, packet.Choice.LootItemType, packet.Choice.Item.ItemID, object); switch (object->GetTypeId()) @@ -594,9 +597,6 @@ void WorldSession::HandleQuestgiverCompleteQuest(WorldPackets::Quest::QuestGiver return; } - if (Battleground* bg = _player->GetBattleground()) - bg->HandleQuestComplete(packet.QuestID, _player); - if (_player->GetQuestStatus(packet.QuestID) != QUEST_STATUS_COMPLETE) { if (quest->IsRepeatable()) |