From 4d888f94316d15f35b3bae4539ac81b033093c96 Mon Sep 17 00:00:00 2001 From: acidmanifesto Date: Sun, 10 Jul 2022 19:27:56 -0400 Subject: [PATCH] update (core): Clean Up SendGMText (#12317) --- src/server/game/World/World.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 072fc251d..8e64e7b49 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2651,13 +2651,17 @@ void World::SendGMText(uint32 string_id, ...) Acore::LocalizedPacketListDo wt_do(wt_builder); for (SessionMap::iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr) { - if (!itr->second || !itr->second->GetPlayer() || !itr->second->GetPlayer()->IsInWorld()) + // Session should have permissions to receive global gm messages + WorldSession* session = itr->second; + if (!session || AccountMgr::IsPlayerAccount(session->GetSecurity())) continue; - if (AccountMgr::IsPlayerAccount(itr->second->GetSecurity())) + // Player should be in world + Player* player = session->GetPlayer(); + if (!player || !player->IsInWorld()) continue; - wt_do(itr->second->GetPlayer()); + wt_do(session->GetPlayer()); } va_end(ap);