Add a Color parameter to dispatching announcements, change the color of certain common messages (#6840)
This commit is contained in:
@@ -109,19 +109,19 @@ namespace Content.Server.Chat.Managers
|
||||
DispatchServerAnnouncement(Loc.GetString(val ? "chat-manager-admin-ooc-chat-enabled-message" : "chat-manager-admin-ooc-chat-disabled-message"));
|
||||
}
|
||||
|
||||
public void DispatchServerAnnouncement(string message)
|
||||
public void DispatchServerAnnouncement(string message, Color? colorOverride = null)
|
||||
{
|
||||
var messageWrap = Loc.GetString("chat-manager-server-wrap-message");
|
||||
NetMessageToAll(ChatChannel.Server, message, messageWrap);
|
||||
NetMessageToAll(ChatChannel.Server, message, messageWrap, colorOverride);
|
||||
Logger.InfoS("SERVER", message);
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Server announcement: {message}");
|
||||
}
|
||||
|
||||
public void DispatchStationAnnouncement(string message, string sender = "Central Command", bool playDefaultSound = true)
|
||||
public void DispatchStationAnnouncement(string message, string sender = "Central Command", bool playDefaultSound = true, Color? colorOverride = null)
|
||||
{
|
||||
var messageWrap = Loc.GetString("chat-manager-sender-announcement-wrap-message", ("sender", sender));
|
||||
NetMessageToAll(ChatChannel.Radio, message, messageWrap);
|
||||
NetMessageToAll(ChatChannel.Radio, message, messageWrap, colorOverride);
|
||||
if (playDefaultSound)
|
||||
{
|
||||
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/announce.ogg", AudioParams.Default.WithVolume(-2f));
|
||||
@@ -596,12 +596,16 @@ namespace Content.Server.Chat.Managers
|
||||
_netManager.ServerSendMessage(msg, client);
|
||||
}
|
||||
|
||||
public void NetMessageToAll(ChatChannel channel, string message, string messageWrap)
|
||||
public void NetMessageToAll(ChatChannel channel, string message, string messageWrap, Color? colorOverride = null)
|
||||
{
|
||||
var msg = _netManager.CreateNetMessage<MsgChatMessage>();
|
||||
msg.Channel = channel;
|
||||
msg.Message = message;
|
||||
msg.MessageWrap = messageWrap;
|
||||
if (colorOverride != null)
|
||||
{
|
||||
msg.MessageColorOverride = colorOverride.Value;
|
||||
}
|
||||
_netManager.ServerSendToAll(msg);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,9 @@ namespace Content.Server.Chat.Managers
|
||||
/// <summary>
|
||||
/// Dispatch a server announcement to every connected player.
|
||||
/// </summary>
|
||||
void DispatchServerAnnouncement(string message);
|
||||
/// <param name="message"></param>
|
||||
/// <param name="colorOverride">Override the color of the message being sent.</param>
|
||||
void DispatchServerAnnouncement(string message, Color? colorOverride = null);
|
||||
|
||||
/// <summary>
|
||||
/// Station announcement to every player
|
||||
@@ -20,7 +22,8 @@ namespace Content.Server.Chat.Managers
|
||||
/// <param name="message"></param>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="playDefaultSound">If the default 'PA' sound should be played.</param>
|
||||
void DispatchStationAnnouncement(string message, string sender = "CentComm", bool playDefaultSound = true);
|
||||
/// <param name="colorOverride">Override the color of the message being sent.</param>
|
||||
void DispatchStationAnnouncement(string message, string sender = "CentComm", bool playDefaultSound = true, Color? colorOverride = null);
|
||||
|
||||
void DispatchServerMessage(IPlayerSession player, string message);
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ namespace Content.Server.Communications
|
||||
}
|
||||
|
||||
message += $"\nSent by {author}";
|
||||
_chatManager.DispatchStationAnnouncement(message, "Communications Console");
|
||||
_chatManager.DispatchStationAnnouncement(message, "Communications Console", colorOverride: Color.Gold);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -335,7 +335,7 @@ namespace Content.Server.Nuke
|
||||
var announcement = Loc.GetString("nuke-component-announcement-armed",
|
||||
("time", (int) component.RemainingTime));
|
||||
var sender = Loc.GetString("nuke-component-announcement-sender");
|
||||
_chat.DispatchStationAnnouncement(announcement, sender, false);
|
||||
_chat.DispatchStationAnnouncement(announcement, sender, false, Color.Red);
|
||||
|
||||
// todo: move it to announcements system
|
||||
SoundSystem.Play(Filter.Broadcast(), component.ArmSound.GetSound());
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace Content.Server.RoundEnd
|
||||
_adminLog.Add(LogType.ShuttleCalled, LogImpact.High, $"Shuttle called");
|
||||
}
|
||||
|
||||
_chatManager.DispatchStationAnnouncement(Loc.GetString("round-end-system-shuttle-called-announcement",("minutes", countdownTime.Minutes)), Loc.GetString("Station"), false);
|
||||
_chatManager.DispatchStationAnnouncement(Loc.GetString("round-end-system-shuttle-called-announcement",("minutes", countdownTime.Minutes)), Loc.GetString("Station"), false, Color.Gold);
|
||||
|
||||
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/shuttlecalled.ogg");
|
||||
|
||||
|
||||
@@ -294,9 +294,9 @@ namespace Content.Server.Salvage
|
||||
return true;
|
||||
}
|
||||
private void Report(string messageKey) =>
|
||||
_chatManager.DispatchStationAnnouncement(Loc.GetString(messageKey), Loc.GetString("salvage-system-announcement-source"));
|
||||
_chatManager.DispatchStationAnnouncement(Loc.GetString(messageKey), Loc.GetString("salvage-system-announcement-source"), colorOverride: Color.Orange);
|
||||
private void Report(string messageKey, params (string, object)[] args) =>
|
||||
_chatManager.DispatchStationAnnouncement(Loc.GetString(messageKey, args), Loc.GetString("salvage-system-announcement-source"));
|
||||
_chatManager.DispatchStationAnnouncement(Loc.GetString(messageKey, args), Loc.GetString("salvage-system-announcement-source"), colorOverride: Color.Orange);
|
||||
|
||||
private void Transition(SalvageMagnetComponent magnet, TimeSpan currentTime)
|
||||
{
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace Content.Server.StationEvents.Events
|
||||
if (StartAnnouncement != null)
|
||||
{
|
||||
var chatManager = IoCManager.Resolve<IChatManager>();
|
||||
chatManager.DispatchStationAnnouncement(StartAnnouncement, playDefaultSound: false);
|
||||
chatManager.DispatchStationAnnouncement(StartAnnouncement, playDefaultSound: false, colorOverride: Color.Gold);
|
||||
}
|
||||
|
||||
if (StartAudio != null)
|
||||
@@ -155,7 +155,7 @@ namespace Content.Server.StationEvents.Events
|
||||
if (EndAnnouncement != null)
|
||||
{
|
||||
var chatManager = IoCManager.Resolve<IChatManager>();
|
||||
chatManager.DispatchStationAnnouncement(EndAnnouncement, playDefaultSound: false);
|
||||
chatManager.DispatchStationAnnouncement(EndAnnouncement, playDefaultSound: false, colorOverride: Color.Gold);
|
||||
}
|
||||
|
||||
if (EndAudio != null)
|
||||
|
||||
Reference in New Issue
Block a user