diff options
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/Maps/Map.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Maps/Map.h | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 9e55fbddb7c..6958392f66d 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3311,7 +3311,7 @@ bool Map::SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn, bool force, std::v return true; } -bool Map::SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes) +bool Map::SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes, size_t* count) { SpawnGroupTemplateData const* groupData = GetSpawnGroupData(groupId); if (!groupData || groupData->flags & SPAWNGROUP_FLAG_SYSTEM) @@ -3348,6 +3348,10 @@ bool Map::SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes) return false; } } + + if (count) + *count = toUnload.size(); + // now do the actual despawning for (WorldObject* obj : toUnload) obj->AddObjectToRemoveList(); diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 006617051c8..37e8f3294e9 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -796,7 +796,7 @@ class TC_GAME_API Map : public GridRefManager<NGridType> SpawnGroupTemplateData const* GetSpawnGroupData(uint32 groupId) const; bool SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn = false, bool force = false, std::vector<WorldObject*>* spawnedObjects = nullptr); - bool SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes = false); + bool SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes = false, size_t* count = nullptr); void SetSpawnGroupActive(uint32 groupId, bool state); bool IsSpawnGroupActive(uint32 groupId) const; |
