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 @@
-