From b65dcaba486db964886bf1646918b5b9714a2d04 Mon Sep 17 00:00:00 2001 From: Itms Date: Wed, 21 Jan 2015 21:18:55 +0000 Subject: [PATCH] Prevent observers from using the team chat. Patch by trompetin17, fixes #2879. This was SVN commit r16170. --- binaries/data/mods/public/gui/session/menu.js | 12 +++++++++++- binaries/data/mods/public/gui/session/messages.js | 3 ++- binaries/data/mods/public/gui/session/session.xml | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/binaries/data/mods/public/gui/session/menu.js b/binaries/data/mods/public/gui/session/menu.js index 8356384f68..38934dc26a 100644 --- a/binaries/data/mods/public/gui/session/menu.js +++ b/binaries/data/mods/public/gui/session/menu.js @@ -209,6 +209,8 @@ function openOptions() function openChat() { + updateTeamCheckbox(false); + Engine.GetGUIObjectByName("chatInput").focus(); // Grant focus to the input area Engine.GetGUIObjectByName("chatDialogPanel").hidden = false; } @@ -220,6 +222,14 @@ function closeChat() Engine.GetGUIObjectByName("chatDialogPanel").hidden = true; } +function updateTeamCheckbox(check) +{ + Engine.GetGUIObjectByName("toggleTeamChatLabel").hidden = g_IsObserver; + let toggleTeamChat = Engine.GetGUIObjectByName("toggleTeamChat"); + toggleTeamChat.hidden = g_IsObserver; + toggleTeamChat.checked = !g_IsObserver && check; +} + function toggleChatWindow(teamChat) { var chatWindow = Engine.GetGUIObjectByName("chatDialogPanel"); @@ -237,7 +247,7 @@ function toggleChatWindow(teamChat) chatInput.caption = ""; // Clear chat input } - Engine.GetGUIObjectByName("toggleTeamChat").checked = teamChat; + updateTeamCheckbox(teamChat); chatWindow.hidden = !chatWindow.hidden; } diff --git a/binaries/data/mods/public/gui/session/messages.js b/binaries/data/mods/public/gui/session/messages.js index 83de19361f..9eff857d06 100644 --- a/binaries/data/mods/public/gui/session/messages.js +++ b/binaries/data/mods/public/gui/session/messages.js @@ -362,7 +362,8 @@ function submitChatInput() } } - if (!isCheat) + // Observers should only send messages to "/all" + if (!isCheat && (!g_IsObserver || text.indexOf("/") == -1 || text.indexOf("/all ") == 0)) { if (Engine.GetGUIObjectByName("toggleTeamChat").checked) text = "/team " + text; diff --git a/binaries/data/mods/public/gui/session/session.xml b/binaries/data/mods/public/gui/session/session.xml index 72a154b707..069515db6a 100644 --- a/binaries/data/mods/public/gui/session/session.xml +++ b/binaries/data/mods/public/gui/session/session.xml @@ -205,7 +205,7 @@ - + Team Only