DungeonMap* MapManager::CreateDungeonMap(uint32 id, uint32 InstanceId, DungeonPersistentState *save) { // make sure we have a valid map id const MapEntry* entry = sMapStore.LookupEntry(id); if (!entry) { sLog.outError("CreateDungeonMap: no entry for map %d", id); MANGOS_ASSERT(false); } if (!ObjectMgr::GetInstanceTemplate(id)) { sLog.outError("CreateDungeonMap: no instance template for map %d", id); MANGOS_ASSERT(false); } DEBUG_LOG("MapInstanced::CreateInstanceMap: %s map instance %d for %d created", save?"":"new ", InstanceId, id); DungeonMap *map = new DungeonMap(id, i_gridCleanUpDelay, InstanceId); // Dungeons can have saved instance data bool load_data = save != NULL; map->CreateInstanceData(load_data); return map; }
DungeonMap* MapManager::CreateDungeonMap(uint32 id, uint32 InstanceId, Difficulty difficulty, DungeonPersistentState* save) { // make sure we have a valid map id if (!sMapStore.LookupEntry(id)) { sLog.outError("CreateDungeonMap: no entry for map %d", id); MANGOS_ASSERT(false); } if (!ObjectMgr::GetInstanceTemplate(id)) { sLog.outError("CreateDungeonMap: no instance template for map %d", id); MANGOS_ASSERT(false); } // some instances only have one difficulty if (!GetMapDifficultyData(id, difficulty)) difficulty = DUNGEON_DIFFICULTY_NORMAL; DEBUG_LOG("MapInstanced::CreateDungeonMap: %s map instance %d for %d created with difficulty %d", save ? "" : "new ", InstanceId, id, difficulty); DungeonMap* map = new DungeonMap(id, i_gridCleanUpDelay, InstanceId, difficulty); // Dungeons can have saved instance data bool load_data = save != nullptr; map->CreateInstanceData(load_data); return map; }