115 {
117 if (!tpl)
118 {
121 return false;
122 }
123
124 uint32 activeCount =
sPoolMgr->GetSpawnedData().GetActiveObjectCount(poolId);
126 tpl->
Description.empty() ?
"(none)" : tpl->Description,
127 tpl->MaxLimit, activeCount);
128
129
131 if (parentPool)
133
134
136 {
137 if (!creGroup->IsEmpty())
139 creGroup->GetExplicitlyChanced(), creGroup->GetEqualChanced(), true);
140 }
141
142
144 {
145 if (!goGroup->IsEmpty())
147 goGroup->GetExplicitlyChanced(), goGroup->GetEqualChanced(), false);
148 }
149
150
152 {
153 auto const& explicitly = poolGroup->GetExplicitlyChanced();
154 auto const& equal = poolGroup->GetEqualChanced();
155 if (!explicitly.empty() || !equal.empty())
156 {
157 uint32 total = explicitly.size() + equal.size();
159
160 auto printSubPool = [&](
PoolObject const& obj)
161 {
162 bool active =
sPoolMgr->GetSpawnedData().IsActiveObject<
Pool>(obj.guid);
164 std::string desc = subTpl ? subTpl->
Description :
"Unknown";
165
168 };
169
170 for (auto const& obj : explicitly)
171 printSubPool(obj);
172 for (auto const& obj : equal)
173 printSubPool(obj);
174 }
175 }
176
177 return true;
178 }
std::uint32_t uint32
Definition Define.h:107
@ LANG_POOL_INFO_SUBPOOL
Definition Language.h:1477
@ LANG_POOL_NOT_FOUND
Definition Language.h:1472
@ LANG_POOL_INFO_SUBPOOLS_HEADER
Definition Language.h:1476
@ LANG_POOL_INFO_HEADER
Definition Language.h:1473
#define sPoolMgr
Definition PoolMgr.h:177
void PSendSysMessage(std::string_view str, bool escapeCharacters=false)
Definition Chat.cpp:219
void SetSentErrorMessage(bool val)
Definition Chat.h:238
static void ListPoolMembers(ChatHandler *handler, char const *typeName, std::vector< PoolObject > const &explicitly, std::vector< PoolObject > const &equal, bool isCreature)
Definition cs_pool.cpp:56
static char const * StatusTag(bool active)
Definition cs_pool.cpp:51
std::string Description
Definition PoolMgr.h:29