aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Maps/Map.cpp6
-rw-r--r--src/server/game/Maps/Map.h2
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp6
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp6
4 files changed, 13 insertions, 7 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;
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index 67c617cbb35..b4f28aa65eb 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -41,6 +41,8 @@ EndScriptData */
#include "Transport.h"
#include <fstream>
#include <limits>
+#include <map>
+#include <set>
class debug_commandscript : public CommandScript
{
@@ -1756,7 +1758,7 @@ public:
return false;
}
auto const& spawnGroups = *instance->_instanceSpawnGroups;
- std::unordered_map<uint32, std::set<std::tuple<bool, uint8, uint8>>> store;
+ std::map<uint32, std::set<std::tuple<bool, uint8, uint8>>> store;
for (InstanceSpawnGroupInfo const& info : spawnGroups)
{
if (groupID && info.SpawnGroupId != groupID)
@@ -1813,7 +1815,7 @@ public:
}
}
else
- handler->PSendSysMessage(" | |-- '%s' could've been %s if boss state %u matched mask %u; but it is %s -> %u, which does not match.",
+ handler->PSendSysMessage(" | |-- '%s' could've been %s if boss state %u matched mask 0x%02x; but it is %s -> 0x%02x, which does not match.",
groupData->name, isSpawn ? "allowed to spawn" : "blocked from spawning", bossStateId, std::get<2>(tuple), InstanceScript::GetBossStateName(actualState), (1 << actualState));
}
if (isBlocked)
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 89187ba6067..7c47265a313 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -216,8 +216,6 @@ bool HandleNpcSpawnGroup(ChatHandler* handler, char const* args)
}
handler->PSendSysMessage(LANG_SPAWNGROUP_SPAWNCOUNT, creatureList.size());
- for (WorldObject* obj : creatureList)
- handler->PSendSysMessage("%s (%s)", obj->GetName(), obj->GetGUID().ToString().c_str());
return true;
}
@@ -248,12 +246,14 @@ bool HandleNpcDespawnGroup(ChatHandler* handler, char const* args)
Player* player = handler->GetSession()->GetPlayer();
- if (!player->GetMap()->SpawnGroupDespawn(groupId, deleteRespawnTimes))
+ size_t n = 0;
+ if (!player->GetMap()->SpawnGroupDespawn(groupId, deleteRespawnTimes, &n))
{
handler->PSendSysMessage(LANG_SPAWNGROUP_BADGROUP, groupId);
handler->SetSentErrorMessage(true);
return false;
}
+ handler->PSendSysMessage("Despawned a total of %zu objects.", n);
return true;
}