diff options
| author | n0n4m3 <none@none> | 2009-12-27 16:10:15 +0100 |
|---|---|---|
| committer | n0n4m3 <none@none> | 2009-12-27 16:10:15 +0100 |
| commit | d82d10ff3664edbe4cf534563865b6c9b14f40da (patch) | |
| tree | cd18b75c7c077e82603d3da0d59be8f43cb834bf /src/game | |
| parent | 7e2855f53b7b0aaddc9739c95d12d01c5a103fda (diff) | |
Added new config options chat channel level limit, option to disable player commands of any kind
--HG--
branch : trunk
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/Chat.cpp | 3 | ||||
| -rw-r--r-- | src/game/ChatHandler.cpp | 3 | ||||
| -rw-r--r-- | src/game/World.cpp | 2 | ||||
| -rw-r--r-- | src/game/World.h | 2 |
4 files changed, 10 insertions, 0 deletions
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index b93462802b8..3c526eccb76 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -1066,6 +1066,9 @@ int ChatHandler::ParseCommands(const char* text) std::string fullcmd = text; + if (this->getSession()->GetSecurity() <= SEC_PLAYER && sWorld.getConfig(CONFIG_ALLOW_PLAYER_COMMANDS) == 0) + return 0; + if (m_session && !m_session->HandleOnPlayerChat(text)) return 0; diff --git a/src/game/ChatHandler.cpp b/src/game/ChatHandler.cpp index dd39dd72190..47e89bf4fff 100644 --- a/src/game/ChatHandler.cpp +++ b/src/game/ChatHandler.cpp @@ -510,6 +510,9 @@ void WorldSession::HandleMessagechatOpcode( WorldPacket & recv_data ) if (!processChatmessageFurtherAfterSecurityChecks(msg, lang)) return; + if (_player->getLevel() < sWorld.getConfig(CONFIG_CHAT_CHANNEL_LEVEL_REQ)) + return; + if(msg.empty()) break; diff --git a/src/game/World.cpp b/src/game/World.cpp index 21b1372f1af..b0e7afaf741 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -604,6 +604,8 @@ void World::LoadConfigSettings(bool reload) m_configs[CONFIG_COMPRESSION] = 1; } m_configs[CONFIG_ADDON_CHANNEL] = sConfig.GetBoolDefault("AddonChannel", true); + m_configs[CONFIG_CHAT_CHANNEL_LEVEL_REQ] = sConfig.GetIntDefault("ChannelLevelReq", 1); + m_configs[CONFIG_ALLOW_PLAYER_COMMANDS] = sConfig.GetBoolDefault("AllowPlayerCommands", 1); m_configs[CONFIG_GRID_UNLOAD] = sConfig.GetBoolDefault("GridUnload", true); m_configs[CONFIG_INTERVAL_SAVE] = sConfig.GetIntDefault("PlayerSaveInterval", 15 * MINUTE * IN_MILISECONDS); m_configs[CONFIG_INTERVAL_DISCONNECT_TOLERANCE] = sConfig.GetIntDefault("DisconnectToleranceInterval", 0); diff --git a/src/game/World.h b/src/game/World.h index ed16d03307a..4a36bddc563 100644 --- a/src/game/World.h +++ b/src/game/World.h @@ -199,6 +199,8 @@ enum WorldConfigs CONFIG_CHAT_FAKE_MESSAGE_PREVENTING, CONFIG_CHAT_STRICT_LINK_CHECKING_SEVERITY, CONFIG_CHAT_STRICT_LINK_CHECKING_KICK, + CONFIG_CHAT_CHANNEL_LEVEL_REQ, + CONFIG_ALLOW_PLAYER_COMMANDS, CONFIG_CORPSE_DECAY_NORMAL, CONFIG_CORPSE_DECAY_RARE, CONFIG_CORPSE_DECAY_ELITE, |
