aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorn0n4m3 <none@none>2009-12-27 16:10:15 +0100
committern0n4m3 <none@none>2009-12-27 16:10:15 +0100
commitd82d10ff3664edbe4cf534563865b6c9b14f40da (patch)
treecd18b75c7c077e82603d3da0d59be8f43cb834bf /src
parent7e2855f53b7b0aaddc9739c95d12d01c5a103fda (diff)
Added new config options chat channel level limit, option to disable player commands of any kind
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Chat.cpp3
-rw-r--r--src/game/ChatHandler.cpp3
-rw-r--r--src/game/World.cpp2
-rw-r--r--src/game/World.h2
-rw-r--r--src/trinitycore/trinitycore.conf.dist10
5 files changed, 20 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,
diff --git a/src/trinitycore/trinitycore.conf.dist b/src/trinitycore/trinitycore.conf.dist
index a85b68da507..b108f9c7622 100644
--- a/src/trinitycore/trinitycore.conf.dist
+++ b/src/trinitycore/trinitycore.conf.dist
@@ -1030,6 +1030,14 @@ ListenRange.Yell = 300
# Default: 0 (join announcement in normal way)
# 1 (GM join without announcement)
#
+# ChannelLevelReq
+# The required level of character to be able to write in chat channels
+# Default: 1 (From level 1)
+#
+# AllowPlayerCommands
+# Allowed the players to use commands
+# Default: 1 (allow)
+#
###################################################################################################################
ChatFakeMessagePreventing = 0
@@ -1040,6 +1048,8 @@ ChatFlood.MessageDelay = 1
ChatFlood.MuteTime = 10
Channel.RestrictedLfg = 1
Channel.SilentlyGMJoin = 0
+ChannelLevelReq = 1
+AllowPlayerCommands = 1
###################################################################################################################
# GAME MASTER SETTINGS