Fix OnPlayerChatEvent not being raised when map has level-only chat.

This commit is contained in:
UnknownShadow200 2017-07-16 14:13:58 +10:00
parent 8643ca1434
commit 7abd3196e3

View File

@ -471,19 +471,17 @@ namespace MCGalaxy {
text = HandleJoker(text); text = HandleJoker(text);
if (Chatroom != null) { Chat.MessageChatRoom(this, text, true, Chatroom); return; } if (Chatroom != null) { Chat.MessageChatRoom(this, text, true, Chatroom); return; }
if (!level.Config.ServerWideChat) { bool levelOnly = !level.SeesServerWideChat;
Logger.Log(LogType.PlayerChat, "<{0}>[level] {1}", name, text); string format = levelOnly ? "<{0}>[level] {1}" : "<{0}> {1}";
Chat.MessageLevel(this, text, true, level); Logger.Log(LogType.PlayerChat, format, name, text);
} else {
Logger.Log(LogType.PlayerChat, "<{0}> {1}", name, text);
OnPlayerChatEvent.Call(this, text); OnPlayerChatEvent.Call(this, text);
if (cancelchat) { cancelchat = false; return; } if (cancelchat) { cancelchat = false; return; }
if (ServerConfig.ServerWideChat) { if (levelOnly) {
SendChatFrom(this, text);
} else {
Chat.MessageLevel(this, text, true, level); Chat.MessageLevel(this, text, true, level);
} } else {
SendChatFrom(this, text);
} }
CheckForMessageSpam(); CheckForMessageSpam();
} }