Fix ghost radios and colours (#9064)
This commit is contained in:
@@ -7,15 +7,30 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
|
||||
|
||||
namespace Content.Server.Ghost.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// Add to a particular entity to let it receive messages from the specified channels.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
[ComponentReference(typeof(IRadio))]
|
||||
public sealed class GhostRadioComponent : Component, IRadio
|
||||
{
|
||||
// TODO: This class is yuck
|
||||
[Dependency] private readonly IServerNetManager _netManager = default!;
|
||||
[Dependency] private readonly IEntityManager _entMan = default!;
|
||||
|
||||
[DataField("channels", customTypeSerializer: typeof(PrototypeIdHashSetSerializer<RadioChannelPrototype>))]
|
||||
private HashSet<string> _channels = new();
|
||||
private HashSet<string> _channels = new()
|
||||
{
|
||||
"Common",
|
||||
"Command",
|
||||
"CentCom",
|
||||
"Engineering",
|
||||
"Medical",
|
||||
"Science",
|
||||
"Security",
|
||||
"Service",
|
||||
"Supply",
|
||||
};
|
||||
|
||||
public void Receive(string message, RadioChannelPrototype channel, EntityUid speaker)
|
||||
{
|
||||
@@ -29,7 +44,7 @@ namespace Content.Server.Ghost.Components
|
||||
Channel = ChatChannel.Radio,
|
||||
Message = message,
|
||||
//Square brackets are added here to avoid issues with escaping
|
||||
MessageWrap = Loc.GetString("chat-radio-message-wrap", ("channel", $"\\[{channel.Name}\\]"), ("name", _entMan.GetComponent<MetaDataComponent>(speaker).EntityName))
|
||||
MessageWrap = Loc.GetString("chat-radio-message-wrap", ("color", channel.Color), ("channel", $"\\[{channel.Name}\\]"), ("name", _entMan.GetComponent<MetaDataComponent>(speaker).EntityName))
|
||||
};
|
||||
|
||||
_netManager.ServerSendMessage(msg, playerChannel);
|
||||
|
||||
@@ -3,64 +3,67 @@
|
||||
name: "Common"
|
||||
keycode: ";"
|
||||
frequency: 1459
|
||||
color: "#1ecc43"
|
||||
|
||||
- type: radioChannel
|
||||
id: CentCom
|
||||
name: "CentCom"
|
||||
keycode: 'y'
|
||||
frequency: 1337
|
||||
color: "#2681a5"
|
||||
|
||||
- type: radioChannel
|
||||
id: Command
|
||||
name: "Command"
|
||||
keycode: 'c'
|
||||
frequency: 1353
|
||||
color: "#334e6d"
|
||||
color: "#fcdf03"
|
||||
|
||||
- type: radioChannel
|
||||
id: Engineering
|
||||
name: "Engineering"
|
||||
keycode: 'e'
|
||||
frequency: 1357
|
||||
color: "#efb341"
|
||||
color: "#f37746"
|
||||
|
||||
- type: radioChannel
|
||||
id: Medical
|
||||
name: "Medical"
|
||||
keycode: 'm'
|
||||
frequency: 1355
|
||||
color: "#52b4e9"
|
||||
color: "#57b8f0"
|
||||
|
||||
- type: radioChannel
|
||||
id: Science
|
||||
name: "Science"
|
||||
keycode: 'n'
|
||||
frequency: 1351
|
||||
color: "#d381c9"
|
||||
color: "#c68cfa"
|
||||
|
||||
- type: radioChannel
|
||||
id: Security
|
||||
name: "Security"
|
||||
keycode: 's'
|
||||
frequency: 1359
|
||||
color: "#de3a3a"
|
||||
color: "#dd3535"
|
||||
|
||||
- type: radioChannel
|
||||
id: Service
|
||||
name: "Service"
|
||||
keycode: 'v'
|
||||
frequency: 1349
|
||||
color: "#9fed58"
|
||||
color: "#6ca729"
|
||||
|
||||
- type: radioChannel
|
||||
id: Supply
|
||||
name: "Supply"
|
||||
keycode: 'u'
|
||||
frequency: 1347
|
||||
color: "#a46106"
|
||||
color: "#b88646"
|
||||
|
||||
- type: radioChannel
|
||||
id: Syndicate
|
||||
name: "Syndicate"
|
||||
keycode: 't'
|
||||
frequency: 1213
|
||||
color: "#8f4a4b"
|
||||
|
||||
Reference in New Issue
Block a user