Admin chat (#1287)
* Admin chat * Change it to show username, not character name * moves the thing * Removes SenderEntity
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Content.Shared.Chat;
|
using Content.Shared.Chat;
|
||||||
|
using Robust.Client.Console;
|
||||||
using Robust.Client.Graphics.Drawing;
|
using Robust.Client.Graphics.Drawing;
|
||||||
using Robust.Client.UserInterface;
|
using Robust.Client.UserInterface;
|
||||||
using Robust.Client.UserInterface.Controls;
|
using Robust.Client.UserInterface.Controls;
|
||||||
@@ -26,6 +27,7 @@ namespace Content.Client.Chat
|
|||||||
public Button AllButton { get; }
|
public Button AllButton { get; }
|
||||||
public Button LocalButton { get; }
|
public Button LocalButton { get; }
|
||||||
public Button OOCButton { get; }
|
public Button OOCButton { get; }
|
||||||
|
public Button AdminButton { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Default formatting string for the ClientChatConsole.
|
/// Default formatting string for the ClientChatConsole.
|
||||||
@@ -59,6 +61,7 @@ namespace Content.Client.Chat
|
|||||||
outerVBox.AddChild(panelContainer);
|
outerVBox.AddChild(panelContainer);
|
||||||
outerVBox.AddChild(hBox);
|
outerVBox.AddChild(hBox);
|
||||||
|
|
||||||
|
|
||||||
var contentMargin = new MarginContainer
|
var contentMargin = new MarginContainer
|
||||||
{
|
{
|
||||||
MarginLeftOverride = 4, MarginRightOverride = 4,
|
MarginLeftOverride = 4, MarginRightOverride = 4,
|
||||||
@@ -95,6 +98,17 @@ namespace Content.Client.Chat
|
|||||||
ToggleMode = true,
|
ToggleMode = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var groupController = IoCManager.Resolve<IClientConGroupController>();
|
||||||
|
if(groupController.CanCommand("asay"))
|
||||||
|
{
|
||||||
|
AdminButton = new Button
|
||||||
|
{
|
||||||
|
Text = _localize.GetString("Admin"),
|
||||||
|
Name = "Admin",
|
||||||
|
ToggleMode = true,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
AllButton.OnToggled += OnFilterToggled;
|
AllButton.OnToggled += OnFilterToggled;
|
||||||
LocalButton.OnToggled += OnFilterToggled;
|
LocalButton.OnToggled += OnFilterToggled;
|
||||||
OOCButton.OnToggled += OnFilterToggled;
|
OOCButton.OnToggled += OnFilterToggled;
|
||||||
@@ -102,6 +116,11 @@ namespace Content.Client.Chat
|
|||||||
hBox.AddChild(AllButton);
|
hBox.AddChild(AllButton);
|
||||||
hBox.AddChild(LocalButton);
|
hBox.AddChild(LocalButton);
|
||||||
hBox.AddChild(OOCButton);
|
hBox.AddChild(OOCButton);
|
||||||
|
if(AdminButton != null)
|
||||||
|
{
|
||||||
|
AdminButton.OnToggled += OnFilterToggled;
|
||||||
|
hBox.AddChild(AdminButton);
|
||||||
|
}
|
||||||
|
|
||||||
AddChild(outerVBox);
|
AddChild(outerVBox);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ namespace Content.Client.Chat
|
|||||||
private const char ConCmdSlash = '/';
|
private const char ConCmdSlash = '/';
|
||||||
private const char OOCAlias = '[';
|
private const char OOCAlias = '[';
|
||||||
private const char MeAlias = '@';
|
private const char MeAlias = '@';
|
||||||
|
private const char AdminChatAlias = ']';
|
||||||
|
|
||||||
private readonly List<StoredChatMessage> filteredHistory = new List<StoredChatMessage>();
|
private readonly List<StoredChatMessage> filteredHistory = new List<StoredChatMessage>();
|
||||||
|
|
||||||
@@ -55,6 +56,7 @@ namespace Content.Client.Chat
|
|||||||
private bool _allState;
|
private bool _allState;
|
||||||
private bool _localState;
|
private bool _localState;
|
||||||
private bool _oocState;
|
private bool _oocState;
|
||||||
|
private bool _adminState;
|
||||||
|
|
||||||
// Flag Enums for holding filtered channels
|
// Flag Enums for holding filtered channels
|
||||||
private ChatChannel _filteredChannels;
|
private ChatChannel _filteredChannels;
|
||||||
@@ -65,6 +67,7 @@ namespace Content.Client.Chat
|
|||||||
[Dependency] private readonly IEntityManager _entityManager;
|
[Dependency] private readonly IEntityManager _entityManager;
|
||||||
[Dependency] private readonly IEyeManager _eyeManager;
|
[Dependency] private readonly IEyeManager _eyeManager;
|
||||||
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager;
|
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager;
|
||||||
|
[Dependency] private readonly IClientConGroupController _groupController = default!;
|
||||||
#pragma warning restore 649
|
#pragma warning restore 649
|
||||||
|
|
||||||
private ChatBox _currentChatBox;
|
private ChatBox _currentChatBox;
|
||||||
@@ -150,6 +153,8 @@ namespace Content.Client.Chat
|
|||||||
_currentChatBox.AllButton.Pressed = !_allState;
|
_currentChatBox.AllButton.Pressed = !_allState;
|
||||||
_currentChatBox.LocalButton.Pressed = !_localState;
|
_currentChatBox.LocalButton.Pressed = !_localState;
|
||||||
_currentChatBox.OOCButton.Pressed = !_oocState;
|
_currentChatBox.OOCButton.Pressed = !_oocState;
|
||||||
|
if(chatBox.AdminButton != null)
|
||||||
|
_currentChatBox.AdminButton.Pressed = !_adminState;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveSpeechBubble(EntityUid entityUid, SpeechBubble bubble)
|
public void RemoveSpeechBubble(EntityUid entityUid, SpeechBubble bubble)
|
||||||
@@ -193,6 +198,9 @@ namespace Content.Client.Chat
|
|||||||
case ChatChannel.Dead:
|
case ChatChannel.Dead:
|
||||||
color = Color.MediumPurple;
|
color = Color.MediumPurple;
|
||||||
break;
|
break;
|
||||||
|
case ChatChannel.AdminChat:
|
||||||
|
color = Color.Red;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
_currentChatBox?.AddLine(messageText, message.Channel, color);
|
_currentChatBox?.AddLine(messageText, message.Channel, color);
|
||||||
@@ -220,6 +228,18 @@ namespace Content.Client.Chat
|
|||||||
_console.ProcessCommand($"ooc \"{CommandParsing.Escape(conInput)}\"");
|
_console.ProcessCommand($"ooc \"{CommandParsing.Escape(conInput)}\"");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case AdminChatAlias:
|
||||||
|
{
|
||||||
|
var conInput = text.Substring(1);
|
||||||
|
if(_groupController.CanCommand("asay")){
|
||||||
|
_console.ProcessCommand($"asay \"{CommandParsing.Escape(conInput)}\"");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_console.ProcessCommand($"ooc \"{CommandParsing.Escape(conInput)}\"");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case MeAlias:
|
case MeAlias:
|
||||||
{
|
{
|
||||||
var conInput = text.Substring(1);
|
var conInput = text.Substring(1);
|
||||||
@@ -266,10 +286,23 @@ namespace Content.Client.Chat
|
|||||||
_filteredChannels &= ~ChatChannel.OOC;
|
_filteredChannels &= ~ChatChannel.OOC;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "Admin":
|
||||||
|
_adminState = !_adminState;
|
||||||
|
if (_adminState)
|
||||||
|
{
|
||||||
|
_filteredChannels |= ChatChannel.AdminChat;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_filteredChannels &= ~ChatChannel.AdminChat;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case "ALL":
|
case "ALL":
|
||||||
chatBox.LocalButton.Pressed ^= true;
|
chatBox.LocalButton.Pressed ^= true;
|
||||||
chatBox.OOCButton.Pressed ^= true;
|
chatBox.OOCButton.Pressed ^= true;
|
||||||
|
chatBox.AdminButton.Pressed ^= true;
|
||||||
_allState = !_allState;
|
_allState = !_allState;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ namespace Content.Client.Input
|
|||||||
var common = contexts.GetContext("common");
|
var common = contexts.GetContext("common");
|
||||||
common.AddFunction(ContentKeyFunctions.FocusChat);
|
common.AddFunction(ContentKeyFunctions.FocusChat);
|
||||||
common.AddFunction(ContentKeyFunctions.FocusOOC);
|
common.AddFunction(ContentKeyFunctions.FocusOOC);
|
||||||
|
common.AddFunction(ContentKeyFunctions.FocusAdminChat);
|
||||||
common.AddFunction(ContentKeyFunctions.ExamineEntity);
|
common.AddFunction(ContentKeyFunctions.ExamineEntity);
|
||||||
common.AddFunction(ContentKeyFunctions.OpenTutorial);
|
common.AddFunction(ContentKeyFunctions.OpenTutorial);
|
||||||
common.AddFunction(ContentKeyFunctions.TakeScreenshot);
|
common.AddFunction(ContentKeyFunctions.TakeScreenshot);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using Content.Client.Chat;
|
|||||||
using Content.Client.Interfaces.Chat;
|
using Content.Client.Interfaces.Chat;
|
||||||
using Content.Client.UserInterface;
|
using Content.Client.UserInterface;
|
||||||
using Content.Shared.Input;
|
using Content.Shared.Input;
|
||||||
|
using Robust.Client.Console;
|
||||||
using Robust.Client.Interfaces.Input;
|
using Robust.Client.Interfaces.Input;
|
||||||
using Robust.Client.Interfaces.State;
|
using Robust.Client.Interfaces.State;
|
||||||
using Robust.Client.Interfaces.UserInterface;
|
using Robust.Client.Interfaces.UserInterface;
|
||||||
@@ -25,6 +26,7 @@ namespace Content.Client.State
|
|||||||
[Dependency] private readonly IGameHud _gameHud;
|
[Dependency] private readonly IGameHud _gameHud;
|
||||||
[Dependency] private readonly IInputManager _inputManager;
|
[Dependency] private readonly IInputManager _inputManager;
|
||||||
[Dependency] private readonly IChatManager _chatManager;
|
[Dependency] private readonly IChatManager _chatManager;
|
||||||
|
[Dependency] private readonly IClientConGroupController _groupController = default!;
|
||||||
#pragma warning restore 649
|
#pragma warning restore 649
|
||||||
|
|
||||||
[ViewVariables] private ChatBox _gameChat;
|
[ViewVariables] private ChatBox _gameChat;
|
||||||
@@ -34,6 +36,7 @@ namespace Content.Client.State
|
|||||||
base.Startup();
|
base.Startup();
|
||||||
|
|
||||||
_gameChat = new ChatBox();
|
_gameChat = new ChatBox();
|
||||||
|
|
||||||
_userInterfaceManager.StateRoot.AddChild(_gameChat);
|
_userInterfaceManager.StateRoot.AddChild(_gameChat);
|
||||||
LayoutContainer.SetAnchorAndMarginPreset(_gameChat, LayoutContainer.LayoutPreset.TopRight, margin: 10);
|
LayoutContainer.SetAnchorAndMarginPreset(_gameChat, LayoutContainer.LayoutPreset.TopRight, margin: 10);
|
||||||
LayoutContainer.SetAnchorAndMarginPreset(_gameChat, LayoutContainer.LayoutPreset.TopRight, margin: 10);
|
LayoutContainer.SetAnchorAndMarginPreset(_gameChat, LayoutContainer.LayoutPreset.TopRight, margin: 10);
|
||||||
@@ -50,6 +53,9 @@ namespace Content.Client.State
|
|||||||
|
|
||||||
_inputManager.SetInputCommand(ContentKeyFunctions.FocusOOC,
|
_inputManager.SetInputCommand(ContentKeyFunctions.FocusOOC,
|
||||||
InputCmdHandler.FromDelegate(s => FocusOOC(_gameChat)));
|
InputCmdHandler.FromDelegate(s => FocusOOC(_gameChat)));
|
||||||
|
|
||||||
|
_inputManager.SetInputCommand(ContentKeyFunctions.FocusAdminChat,
|
||||||
|
InputCmdHandler.FromDelegate(s => FocusAdminChat(_gameChat)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Shutdown()
|
public override void Shutdown()
|
||||||
@@ -81,5 +87,17 @@ namespace Content.Client.State
|
|||||||
chat.Input.GrabKeyboardFocus();
|
chat.Input.GrabKeyboardFocus();
|
||||||
chat.Input.InsertAtCursor("[");
|
chat.Input.InsertAtCursor("[");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static void FocusAdminChat(ChatBox chat)
|
||||||
|
{
|
||||||
|
if (chat == null || chat.UserInterfaceManager.KeyboardFocused != null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
chat.Input.IgnoreNext = true;
|
||||||
|
chat.Input.GrabKeyboardFocus();
|
||||||
|
chat.Input.InsertAtCursor("]");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ Open character window: [color=#a4885c]{8}[/color]
|
|||||||
Open crafting window: [color=#a4885c]{9}[/color]
|
Open crafting window: [color=#a4885c]{9}[/color]
|
||||||
Focus chat: [color=#a4885c]{10}[/color]
|
Focus chat: [color=#a4885c]{10}[/color]
|
||||||
Focus OOC: [color=#a4885c]{26}[/color]
|
Focus OOC: [color=#a4885c]{26}[/color]
|
||||||
|
Focus Admin Chat: [color=#a4885c]{27}[/color]
|
||||||
Use hand/object in hand: [color=#a4885c]{22}[/color]
|
Use hand/object in hand: [color=#a4885c]{22}[/color]
|
||||||
Do wide attack: [color=#a4885c]{23}[/color]
|
Do wide attack: [color=#a4885c]{23}[/color]
|
||||||
Use targeted entity: [color=#a4885c]{11}[/color]
|
Use targeted entity: [color=#a4885c]{11}[/color]
|
||||||
@@ -112,7 +113,8 @@ Toggle sandbox window: [color=#a4885c]{21}[/color]",
|
|||||||
Key(WideAttack),
|
Key(WideAttack),
|
||||||
Key(SmartEquipBackpack),
|
Key(SmartEquipBackpack),
|
||||||
Key(SmartEquipBelt),
|
Key(SmartEquipBelt),
|
||||||
Key(FocusOOC)));
|
Key(FocusOOC),
|
||||||
|
Key(FocusAdminChat)));
|
||||||
|
|
||||||
//Gameplay
|
//Gameplay
|
||||||
VBox.AddChild(new Label { FontOverride = headerFont, Text = "\nGameplay" });
|
VBox.AddChild(new Label { FontOverride = headerFont, Text = "\nGameplay" });
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using Content.Server.Interfaces.Chat;
|
|||||||
using Content.Server.Interfaces.GameObjects;
|
using Content.Server.Interfaces.GameObjects;
|
||||||
using Content.Server.Players;
|
using Content.Server.Players;
|
||||||
using Content.Shared.GameObjects;
|
using Content.Shared.GameObjects;
|
||||||
|
using Robust.Server.Console;
|
||||||
using Robust.Server.Interfaces.Console;
|
using Robust.Server.Interfaces.Console;
|
||||||
using Robust.Server.Interfaces.Player;
|
using Robust.Server.Interfaces.Player;
|
||||||
using Robust.Shared.Enums;
|
using Robust.Shared.Enums;
|
||||||
@@ -79,6 +80,19 @@ namespace Content.Server.Chat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal class AdminChatCommand : IClientCommand
|
||||||
|
{
|
||||||
|
public string Command => "asay";
|
||||||
|
public string Description => "Send chat messages to the private admin chat channel.";
|
||||||
|
public string Help => "asay <text>";
|
||||||
|
|
||||||
|
public void Execute(IConsoleShell shell, IPlayerSession player, string[] args)
|
||||||
|
{
|
||||||
|
var chat = IoCManager.Resolve<IChatManager>();
|
||||||
|
chat.SendAdminChat(player, string.Join(" ", args));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal class SuicideCommand : IClientCommand
|
internal class SuicideCommand : IClientCommand
|
||||||
{
|
{
|
||||||
public string Command => "suicide";
|
public string Command => "suicide";
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ using Content.Server.Observer;
|
|||||||
using Content.Server.Players;
|
using Content.Server.Players;
|
||||||
using Content.Shared.Chat;
|
using Content.Shared.Chat;
|
||||||
using Content.Shared.GameObjects.EntitySystems;
|
using Content.Shared.GameObjects.EntitySystems;
|
||||||
|
using Robust.Server.Console;
|
||||||
using Robust.Server.Interfaces.Player;
|
using Robust.Server.Interfaces.Player;
|
||||||
using Robust.Shared.Interfaces.GameObjects;
|
using Robust.Shared.Interfaces.GameObjects;
|
||||||
using Robust.Shared.Interfaces.Network;
|
using Robust.Shared.Interfaces.Network;
|
||||||
@@ -28,6 +29,7 @@ namespace Content.Server.Chat
|
|||||||
[Dependency] private readonly IPlayerManager _playerManager;
|
[Dependency] private readonly IPlayerManager _playerManager;
|
||||||
[Dependency] private readonly ILocalizationManager _localizationManager;
|
[Dependency] private readonly ILocalizationManager _localizationManager;
|
||||||
[Dependency] private readonly IMoMMILink _mommiLink;
|
[Dependency] private readonly IMoMMILink _mommiLink;
|
||||||
|
[Dependency] private readonly IConGroupController _conGroupController;
|
||||||
#pragma warning restore 649
|
#pragma warning restore 649
|
||||||
|
|
||||||
public void Initialize()
|
public void Initialize()
|
||||||
@@ -112,6 +114,23 @@ namespace Content.Server.Chat
|
|||||||
_netManager.ServerSendToMany(msg, clients.ToList());
|
_netManager.ServerSendToMany(msg, clients.ToList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendAdminChat(IPlayerSession player, string message)
|
||||||
|
{
|
||||||
|
if(!_conGroupController.CanCommand(player, "asay"))
|
||||||
|
{
|
||||||
|
SendOOC(player, message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var clients = _playerManager.GetPlayersBy(x => _conGroupController.CanCommand(x, "asay")).Select(p => p.ConnectedClient);;
|
||||||
|
|
||||||
|
var msg = _netManager.CreateNetMessage<MsgChatMessage>();
|
||||||
|
|
||||||
|
msg.Channel = ChatChannel.AdminChat;
|
||||||
|
msg.Message = message;
|
||||||
|
msg.MessageWrap = $"{_localizationManager.GetString("ADMIN")}: {player.SessionId}: {{0}}";
|
||||||
|
_netManager.ServerSendToMany(msg, clients.ToList());
|
||||||
|
}
|
||||||
|
|
||||||
public void SendHookOOC(string sender, string message)
|
public void SendHookOOC(string sender, string message)
|
||||||
{
|
{
|
||||||
var msg = _netManager.CreateNetMessage<MsgChatMessage>();
|
var msg = _netManager.CreateNetMessage<MsgChatMessage>();
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ namespace Content.Server.Interfaces.Chat
|
|||||||
void EntityMe(IEntity source, string action);
|
void EntityMe(IEntity source, string action);
|
||||||
|
|
||||||
void SendOOC(IPlayerSession player, string message);
|
void SendOOC(IPlayerSession player, string message);
|
||||||
|
void SendAdminChat(IPlayerSession player, string message);
|
||||||
void SendDeadChat(IPlayerSession player, string message);
|
void SendDeadChat(IPlayerSession player, string message);
|
||||||
|
|
||||||
void SendHookOOC(string sender, string message);
|
void SendHookOOC(string sender, string message);
|
||||||
|
|||||||
@@ -51,9 +51,14 @@ namespace Content.Shared.Chat
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
Dead = 128,
|
Dead = 128,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Admin chat
|
||||||
|
/// </summary>
|
||||||
|
AdminChat = 256,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unspecified.
|
/// Unspecified.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Unspecified = 256,
|
Unspecified = 512,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace Content.Shared.Chat
|
|||||||
|
|
||||||
public override void ReadFromBuffer(NetIncomingMessage buffer)
|
public override void ReadFromBuffer(NetIncomingMessage buffer)
|
||||||
{
|
{
|
||||||
Channel = (ChatChannel) buffer.ReadByte();
|
Channel = (ChatChannel) buffer.ReadInt16();
|
||||||
Message = buffer.ReadString();
|
Message = buffer.ReadString();
|
||||||
MessageWrap = buffer.ReadString();
|
MessageWrap = buffer.ReadString();
|
||||||
|
|
||||||
@@ -49,6 +49,7 @@ namespace Content.Shared.Chat
|
|||||||
{
|
{
|
||||||
case ChatChannel.Local:
|
case ChatChannel.Local:
|
||||||
case ChatChannel.Dead:
|
case ChatChannel.Dead:
|
||||||
|
case ChatChannel.AdminChat:
|
||||||
case ChatChannel.Emotes:
|
case ChatChannel.Emotes:
|
||||||
SenderEntity = buffer.ReadEntityUid();
|
SenderEntity = buffer.ReadEntityUid();
|
||||||
break;
|
break;
|
||||||
@@ -57,7 +58,7 @@ namespace Content.Shared.Chat
|
|||||||
|
|
||||||
public override void WriteToBuffer(NetOutgoingMessage buffer)
|
public override void WriteToBuffer(NetOutgoingMessage buffer)
|
||||||
{
|
{
|
||||||
buffer.Write((byte)Channel);
|
buffer.Write((short)Channel);
|
||||||
buffer.Write(Message);
|
buffer.Write(Message);
|
||||||
buffer.Write(MessageWrap);
|
buffer.Write(MessageWrap);
|
||||||
|
|
||||||
@@ -65,6 +66,7 @@ namespace Content.Shared.Chat
|
|||||||
{
|
{
|
||||||
case ChatChannel.Local:
|
case ChatChannel.Local:
|
||||||
case ChatChannel.Dead:
|
case ChatChannel.Dead:
|
||||||
|
case ChatChannel.AdminChat:
|
||||||
case ChatChannel.Emotes:
|
case ChatChannel.Emotes:
|
||||||
buffer.Write(SenderEntity);
|
buffer.Write(SenderEntity);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ namespace Content.Shared.Input
|
|||||||
public static readonly BoundKeyFunction ExamineEntity = "ExamineEntity";
|
public static readonly BoundKeyFunction ExamineEntity = "ExamineEntity";
|
||||||
public static readonly BoundKeyFunction FocusChat = "FocusChatWindow";
|
public static readonly BoundKeyFunction FocusChat = "FocusChatWindow";
|
||||||
public static readonly BoundKeyFunction FocusOOC = "FocusOOCWindow";
|
public static readonly BoundKeyFunction FocusOOC = "FocusOOCWindow";
|
||||||
|
public static readonly BoundKeyFunction FocusAdminChat = "FocusAdminChatWindow";
|
||||||
public static readonly BoundKeyFunction OpenCharacterMenu = "OpenCharacterMenu";
|
public static readonly BoundKeyFunction OpenCharacterMenu = "OpenCharacterMenu";
|
||||||
public static readonly BoundKeyFunction OpenContextMenu = "OpenContextMenu";
|
public static readonly BoundKeyFunction OpenContextMenu = "OpenContextMenu";
|
||||||
public static readonly BoundKeyFunction OpenCraftingMenu = "OpenCraftingMenu";
|
public static readonly BoundKeyFunction OpenCraftingMenu = "OpenCraftingMenu";
|
||||||
|
|||||||
@@ -82,6 +82,7 @@
|
|||||||
- warp
|
- warp
|
||||||
- hostlogin
|
- hostlogin
|
||||||
- deleteewc
|
- deleteewc
|
||||||
|
- asay
|
||||||
CanViewVar: true
|
CanViewVar: true
|
||||||
CanAdminPlace: true
|
CanAdminPlace: true
|
||||||
|
|
||||||
@@ -152,6 +153,7 @@
|
|||||||
- warp
|
- warp
|
||||||
- deleteewc
|
- deleteewc
|
||||||
- sudo
|
- sudo
|
||||||
|
- asay
|
||||||
CanViewVar: true
|
CanViewVar: true
|
||||||
CanAdminPlace: true
|
CanAdminPlace: true
|
||||||
CanScript: true
|
CanScript: true
|
||||||
|
|||||||
@@ -46,6 +46,9 @@ binds:
|
|||||||
- function: FocusOOCWindow
|
- function: FocusOOCWindow
|
||||||
type: State
|
type: State
|
||||||
key: LBracket
|
key: LBracket
|
||||||
|
- function: FocusAdminChatWindow
|
||||||
|
type: State
|
||||||
|
key: RBracket
|
||||||
- function: EditorLinePlace
|
- function: EditorLinePlace
|
||||||
type: State
|
type: State
|
||||||
key: MouseLeft
|
key: MouseLeft
|
||||||
|
|||||||
Reference in New Issue
Block a user