aboutsummaryrefslogtreecommitdiff
path: root/src/game/QuestHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/QuestHandler.cpp')
-rw-r--r--src/game/QuestHandler.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/game/QuestHandler.cpp b/src/game/QuestHandler.cpp
index 1dbb8e92b38..abb285e6dbb 100644
--- a/src/game/QuestHandler.cpp
+++ b/src/game/QuestHandler.cpp
@@ -31,6 +31,8 @@
#include "ObjectAccessor.h"
#include "ScriptCalls.h"
#include "Group.h"
+#include "BattleGround.h"
+#include "BattleGroundAV.h"
void WorldSession::HandleQuestgiverStatusQueryOpcode( WorldPacket & recv_data )
{
@@ -401,6 +403,12 @@ void WorldSession::HandleQuestComplete(WorldPacket& recv_data)
Quest const *pQuest = objmgr.GetQuestTemplate(quest);
if( pQuest )
{
+ // TODO: need a virtual function
+ if(GetPlayer()->InBattleGround())
+ if(BattleGround* bg = GetPlayer()->GetBattleGround())
+ if(bg->GetTypeID() == BATTLEGROUND_AV)
+ ((BattleGroundAV*)bg)->HandleQuestComplete(quest, GetPlayer());
+
if( _player->GetQuestStatus( quest ) != QUEST_STATUS_COMPLETE )
{
if( pQuest->IsRepeatable() )