From 6f0c3469a63c97eef57f36f1a39fed0b281b7cc9 Mon Sep 17 00:00:00 2001 From: w12x Date: Sun, 5 Oct 2008 08:48:32 -0500 Subject: [svn] -enabled instantiated battlegrounds -enabled arena matches -rewritten battleground queuing to support joining as group -removed queue announcements --HG-- branch : trunk --- src/game/MapInstanced.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/game/MapInstanced.cpp') diff --git a/src/game/MapInstanced.cpp b/src/game/MapInstanced.cpp index 2ff105c2f9d..a1f2ddc39be 100644 --- a/src/game/MapInstanced.cpp +++ b/src/game/MapInstanced.cpp @@ -141,7 +141,17 @@ Map* MapInstanced::GetInstance(const WorldObject* obj) uint32 NewInstanceId = 0; // instanceId of the resulting map Player* player = (Player*)obj; - // TODO: battlegrounds and arenas + if(IsBattleGroundOrArena()) + { + // instantiate or find existing bg map for player + // the instance id is set in battlegroundid + NewInstanceId = player->GetBattleGroundId(); + assert(NewInstanceId); + map = _FindMap(NewInstanceId); + if(!map) + map = CreateBattleGround(NewInstanceId); + return map; + } InstancePlayerBind *pBind = player->GetBoundInstance(GetId(), player->GetDifficulty()); InstanceSave *pSave = pBind ? pBind->save : NULL; -- cgit v1.2.3