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"));
|
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");
|
var messageWrap = Loc.GetString("chat-manager-server-wrap-message");
|
||||||
NetMessageToAll(ChatChannel.Server, message, messageWrap);
|
NetMessageToAll(ChatChannel.Server, message, messageWrap, colorOverride);
|
||||||
Logger.InfoS("SERVER", message);
|
Logger.InfoS("SERVER", message);
|
||||||
|
|
||||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Server announcement: {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));
|
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)
|
if (playDefaultSound)
|
||||||
{
|
{
|
||||||
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/announce.ogg", AudioParams.Default.WithVolume(-2f));
|
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);
|
_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>();
|
var msg = _netManager.CreateNetMessage<MsgChatMessage>();
|
||||||
msg.Channel = channel;
|
msg.Channel = channel;
|
||||||
msg.Message = message;
|
msg.Message = message;
|
||||||
msg.MessageWrap = messageWrap;
|
msg.MessageWrap = messageWrap;
|
||||||
|
if (colorOverride != null)
|
||||||
|
{
|
||||||
|
msg.MessageColorOverride = colorOverride.Value;
|
||||||
|
}
|
||||||
_netManager.ServerSendToAll(msg);
|
_netManager.ServerSendToAll(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ namespace Content.Server.Chat.Managers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Dispatch a server announcement to every connected player.
|
/// Dispatch a server announcement to every connected player.
|
||||||
/// </summary>
|
/// </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>
|
/// <summary>
|
||||||
/// Station announcement to every player
|
/// Station announcement to every player
|
||||||
@@ -20,7 +22,8 @@ namespace Content.Server.Chat.Managers
|
|||||||
/// <param name="message"></param>
|
/// <param name="message"></param>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="playDefaultSound">If the default 'PA' sound should be played.</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);
|
void DispatchServerMessage(IPlayerSession player, string message);
|
||||||
|
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ namespace Content.Server.Communications
|
|||||||
}
|
}
|
||||||
|
|
||||||
message += $"\nSent by {author}";
|
message += $"\nSent by {author}";
|
||||||
_chatManager.DispatchStationAnnouncement(message, "Communications Console");
|
_chatManager.DispatchStationAnnouncement(message, "Communications Console", colorOverride: Color.Gold);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ namespace Content.Server.Nuke
|
|||||||
var announcement = Loc.GetString("nuke-component-announcement-armed",
|
var announcement = Loc.GetString("nuke-component-announcement-armed",
|
||||||
("time", (int) component.RemainingTime));
|
("time", (int) component.RemainingTime));
|
||||||
var sender = Loc.GetString("nuke-component-announcement-sender");
|
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
|
// todo: move it to announcements system
|
||||||
SoundSystem.Play(Filter.Broadcast(), component.ArmSound.GetSound());
|
SoundSystem.Play(Filter.Broadcast(), component.ArmSound.GetSound());
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ namespace Content.Server.RoundEnd
|
|||||||
_adminLog.Add(LogType.ShuttleCalled, LogImpact.High, $"Shuttle called");
|
_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");
|
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/shuttlecalled.ogg");
|
||||||
|
|
||||||
|
|||||||
@@ -294,9 +294,9 @@ namespace Content.Server.Salvage
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
private void Report(string messageKey) =>
|
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) =>
|
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)
|
private void Transition(SalvageMagnetComponent magnet, TimeSpan currentTime)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ namespace Content.Server.StationEvents.Events
|
|||||||
if (StartAnnouncement != null)
|
if (StartAnnouncement != null)
|
||||||
{
|
{
|
||||||
var chatManager = IoCManager.Resolve<IChatManager>();
|
var chatManager = IoCManager.Resolve<IChatManager>();
|
||||||
chatManager.DispatchStationAnnouncement(StartAnnouncement, playDefaultSound: false);
|
chatManager.DispatchStationAnnouncement(StartAnnouncement, playDefaultSound: false, colorOverride: Color.Gold);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StartAudio != null)
|
if (StartAudio != null)
|
||||||
@@ -155,7 +155,7 @@ namespace Content.Server.StationEvents.Events
|
|||||||
if (EndAnnouncement != null)
|
if (EndAnnouncement != null)
|
||||||
{
|
{
|
||||||
var chatManager = IoCManager.Resolve<IChatManager>();
|
var chatManager = IoCManager.Resolve<IChatManager>();
|
||||||
chatManager.DispatchStationAnnouncement(EndAnnouncement, playDefaultSound: false);
|
chatManager.DispatchStationAnnouncement(EndAnnouncement, playDefaultSound: false, colorOverride: Color.Gold);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EndAudio != null)
|
if (EndAudio != null)
|
||||||
|
|||||||
Reference in New Issue
Block a user