From 64778f8decf29c0d9bee09ac07974499b27763d8 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Tue, 4 Aug 2020 22:36:01 +0200 Subject: [PATCH] feature(World/Config): Implement MaxWhoListReturns (#3127) --- src/server/game/Handlers/MiscHandler.cpp | 4 ++-- src/server/game/World/World.cpp | 3 +++ src/server/game/World/World.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 48e2ab468..c4997c985 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -390,7 +390,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData) // 49 is maximum player count sent to client - can be overridden // through config, but is unstable - if ((matchcount++) >= 50 /*sWorld->getIntConfig(CONFIG_MAX_WHO)*/) + if ((matchcount++) >= sWorld->getIntConfig(CONFIG_MAX_WHO_LIST_RETURN)) continue; data << pname; // player name @@ -408,7 +408,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData) data.put(4, matchcount); // insert right count, count of matches SendPacket(&data); - ;// sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Send SMSG_WHO Message"); + // sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Send SMSG_WHO Message"); } diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index fdb219474..a29e432e5 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -750,8 +750,11 @@ void World::LoadConfigSettings(bool reload) m_int_configs[CONFIG_CHARTER_COST_ARENA_3v3] = sConfigMgr->GetIntDefault("ArenaTeam.CharterCost.3v3", 1200000); m_int_configs[CONFIG_CHARTER_COST_ARENA_5v5] = sConfigMgr->GetIntDefault("ArenaTeam.CharterCost.5v5", 2000000); + m_int_configs[CONFIG_MAX_WHO_LIST_RETURN] = sConfigMgr->GetIntDefault("MaxWhoListReturns", 49); + m_int_configs[CONFIG_CHARACTER_CREATING_DISABLED] = sConfigMgr->GetIntDefault("CharacterCreating.Disabled", 0); m_int_configs[CONFIG_CHARACTER_CREATING_DISABLED_RACEMASK] = sConfigMgr->GetIntDefault("CharacterCreating.Disabled.RaceMask", 0); + m_int_configs[CONFIG_CHARACTER_CREATING_DISABLED_CLASSMASK] = sConfigMgr->GetIntDefault("CharacterCreating.Disabled.ClassMask", 0); m_int_configs[CONFIG_CHARACTERS_PER_REALM] = sConfigMgr->GetIntDefault("CharactersPerRealm", 10); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index e874d6fa8..1397f050b 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -369,6 +369,7 @@ enum WorldIntConfigs CONFIG_CHARTER_COST_ARENA_2v2, CONFIG_CHARTER_COST_ARENA_3v3, CONFIG_CHARTER_COST_ARENA_5v5, + CONFIG_MAX_WHO_LIST_RETURN, CONFIG_WAYPOINT_MOVEMENT_STOP_TIME_FOR_PLAYER, INT_CONFIG_VALUE_COUNT };