Announcements play the general announcement sound unless specifically inhibited (#5460)

This commit is contained in:
20kdc
2021-11-22 22:34:48 +00:00
committed by GitHub
parent a983ce3aeb
commit 1ba58456c4
9 changed files with 24 additions and 19 deletions

View File

@@ -4,6 +4,7 @@ using Content.Server.Chat.Managers;
using Content.Shared.Administration; using Content.Shared.Administration;
using Robust.Shared.Console; using Robust.Shared.Console;
using Robust.Shared.IoC; using Robust.Shared.IoC;
using Robust.Shared.Audio;
namespace Content.Server.Announcements namespace Content.Server.Announcements
{ {
@@ -26,14 +27,12 @@ namespace Content.Server.Announcements
if (args.Length == 1) if (args.Length == 1)
{ {
chat.DispatchStationAnnouncement(args[0]); chat.DispatchStationAnnouncement(args[0]);
shell.WriteLine("Sent!");
return;
} }
else
if (args.Length < 2) return; {
var message = string.Join(' ', new ArraySegment<string>(args, 1, args.Length-1));
var message = string.Join(' ', new ArraySegment<string>(args, 1, args.Length-1)); chat.DispatchStationAnnouncement(message, args[0]);
chat.DispatchStationAnnouncement(message, args[0]); }
shell.WriteLine("Sent!"); shell.WriteLine("Sent!");
} }
} }

View File

@@ -16,12 +16,14 @@ using Content.Shared.Inventory;
using Content.Shared.Popups; using Content.Shared.Popups;
using Robust.Server.GameObjects; using Robust.Server.GameObjects;
using Robust.Server.Player; using Robust.Server.Player;
using Robust.Shared.Audio;
using Robust.Shared.Configuration; using Robust.Shared.Configuration;
using Robust.Shared.GameObjects; using Robust.Shared.GameObjects;
using Robust.Shared.IoC; using Robust.Shared.IoC;
using Robust.Shared.Localization; using Robust.Shared.Localization;
using Robust.Shared.Log; using Robust.Shared.Log;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Player;
using Robust.Shared.Utility; using Robust.Shared.Utility;
using static Content.Server.Chat.Managers.IChatManager; using static Content.Server.Chat.Managers.IChatManager;
@@ -90,13 +92,17 @@ namespace Content.Server.Chat.Managers
Logger.InfoS("SERVER", message); Logger.InfoS("SERVER", message);
} }
public void DispatchStationAnnouncement(string message, string sender = "CentComm") public void DispatchStationAnnouncement(string message, string sender = "CentComm", bool playDefaultSound = true)
{ {
var msg = _netManager.CreateNetMessage<MsgChatMessage>(); var msg = _netManager.CreateNetMessage<MsgChatMessage>();
msg.Channel = ChatChannel.Radio; msg.Channel = ChatChannel.Radio;
msg.Message = message; msg.Message = message;
msg.MessageWrap = Loc.GetString("chat-manager-sender-announcement-wrap-message", ("sender", sender)); msg.MessageWrap = Loc.GetString("chat-manager-sender-announcement-wrap-message", ("sender", sender));
_netManager.ServerSendToAll(msg); _netManager.ServerSendToAll(msg);
if (playDefaultSound)
{
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/announce.ogg", AudioParams.Default.WithVolume(-2f));
}
} }
public void DispatchServerMessage(IPlayerSession player, string message) public void DispatchServerMessage(IPlayerSession player, string message)

View File

@@ -17,7 +17,8 @@ namespace Content.Server.Chat.Managers
/// </summary> /// </summary>
/// <param name="message"></param> /// <param name="message"></param>
/// <param name="sender"></param> /// <param name="sender"></param>
void DispatchStationAnnouncement(string message, string sender = "CentComm"); /// <param name="playDefaultSound">If the default 'PA' sound should be played.</param>
void DispatchStationAnnouncement(string message, string sender = "CentComm", bool playDefaultSound = true);
void DispatchServerMessage(IPlayerSession player, string message); void DispatchServerMessage(IPlayerSession player, string message);

View File

@@ -116,8 +116,6 @@ namespace Content.Server.Communications
author = $"{id.FullName} ({CultureInfo.CurrentCulture.TextInfo.ToTitleCase(id.JobTitle ?? string.Empty)})".Trim(); author = $"{id.FullName} ({CultureInfo.CurrentCulture.TextInfo.ToTitleCase(id.JobTitle ?? string.Empty)})".Trim();
} }
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/announce.ogg", AudioParams.Default.WithVolume(-2f));
message += $"\nSent by {author}"; message += $"\nSent by {author}";
_chatManager.DispatchStationAnnouncement(message, "Communications Console"); _chatManager.DispatchStationAnnouncement(message, "Communications Console");
break; break;

View File

@@ -90,7 +90,8 @@ namespace Content.Server.GameTicking
"latejoin-arrival-announcement", "latejoin-arrival-announcement",
("character", character.Name), ("character", character.Name),
("job", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(job.Name)) ("job", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(job.Name))
), Loc.GetString("latejoin-arrival-sender")); ), Loc.GetString("latejoin-arrival-sender"),
playDefaultSound: false);
} }
var mob = SpawnPlayerMob(job, character, lateJoin); var mob = SpawnPlayerMob(job, character, lateJoin);

View File

@@ -346,7 +346,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); _chat.DispatchStationAnnouncement(announcement, sender, false);
// 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());
@@ -370,7 +370,7 @@ namespace Content.Server.Nuke
// warn a crew // warn a crew
var announcement = Loc.GetString("nuke-component-announcement-unarmed"); var announcement = Loc.GetString("nuke-component-announcement-unarmed");
var sender = Loc.GetString("nuke-component-announcement-sender"); var sender = Loc.GetString("nuke-component-announcement-sender");
_chat.DispatchStationAnnouncement(announcement, sender); _chat.DispatchStationAnnouncement(announcement, sender, false);
// todo: move it to announcements system // todo: move it to announcements system
SoundSystem.Play(Filter.Broadcast(), component.DisarmSound.GetSound()); SoundSystem.Play(Filter.Broadcast(), component.DisarmSound.GetSound());

View File

@@ -39,7 +39,7 @@ namespace Content.Server.Roles
if(Prototype.JoinNotifyCrew && Mind.CharacterName != null) if(Prototype.JoinNotifyCrew && Mind.CharacterName != null)
chat.DispatchStationAnnouncement(Loc.GetString("job-greet-join-notify-crew", ("jobName", Name), ("characterName", Mind.CharacterName)), chat.DispatchStationAnnouncement(Loc.GetString("job-greet-join-notify-crew", ("jobName", Name), ("characterName", Mind.CharacterName)),
Loc.GetString("job-greet-join-notify-crew-announcer")); Loc.GetString("job-greet-join-notify-crew-announcer"), false);
} }
} }
} }

View File

@@ -105,7 +105,7 @@ namespace Content.Server.RoundEnd
IsRoundEndCountdownStarted = true; IsRoundEndCountdownStarted = true;
_chatManager.DispatchStationAnnouncement(Loc.GetString("round-end-system-shuttle-called-announcement",("minutes", countdownTime.Minutes)), Loc.GetString("Station")); _chatManager.DispatchStationAnnouncement(Loc.GetString("round-end-system-shuttle-called-announcement",("minutes", countdownTime.Minutes)), Loc.GetString("Station"), false);
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/shuttlecalled.ogg"); SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/shuttlecalled.ogg");
@@ -138,7 +138,7 @@ namespace Content.Server.RoundEnd
IsRoundEndCountdownStarted = false; IsRoundEndCountdownStarted = false;
_chatManager.DispatchStationAnnouncement(Loc.GetString("round-end-system-shuttle-recalled-announcement"), Loc.GetString("Station")); _chatManager.DispatchStationAnnouncement(Loc.GetString("round-end-system-shuttle-recalled-announcement"), Loc.GetString("Station"), false);
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/shuttlerecalled.ogg"); SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/shuttlerecalled.ogg");

View File

@@ -123,7 +123,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); chatManager.DispatchStationAnnouncement(StartAnnouncement, playDefaultSound: false);
} }
if (StartAudio != null) if (StartAudio != null)
@@ -146,7 +146,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); chatManager.DispatchStationAnnouncement(EndAnnouncement, playDefaultSound: false);
} }
if (EndAudio != null) if (EndAudio != null)