aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/MapInstanced.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Maps/MapInstanced.cpp')
-rwxr-xr-xsrc/server/game/Maps/MapInstanced.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Maps/MapInstanced.cpp b/src/server/game/Maps/MapInstanced.cpp
index 1567bcf2397..7dc126ce237 100755
--- a/src/server/game/Maps/MapInstanced.cpp
+++ b/src/server/game/Maps/MapInstanced.cpp
@@ -245,9 +245,15 @@ bool MapInstanced::DestroyInstance(InstancedMaps::iterator &itr)
// so in the next map creation, (EnsureGridCreated actually) VMaps will be reloaded
Map::UnloadAll();
}
+
+ // Free up the instance id and allow it to be reused for bgs and arenas (other instances are handled in the InstanceSaveMgr)
+ if (itr->second->IsBattlegroundOrArena())
+ sMapMgr->FreeInstanceId(itr->second->GetInstanceId());
+
// erase map
delete itr->second;
m_InstancedMaps.erase(itr++);
+
return true;
}