diff --git a/Content.IntegrationTests/Tests/Announcers/AnnouncerAudioTest.cs b/Content.IntegrationTests/Tests/Announcers/AnnouncerAudioTest.cs
new file mode 100644
index 0000000000..87e8caf6ec
--- /dev/null
+++ b/Content.IntegrationTests/Tests/Announcers/AnnouncerAudioTest.cs
@@ -0,0 +1,76 @@
+using System.Collections.Generic;
+using System.Linq;
+using Content.Server.Announcements.Systems;
+using Content.Server.StationEvents;
+using Content.Shared.Announcements.Prototypes;
+using Robust.Client.ResourceManagement;
+using Robust.Shared.GameObjects;
+using Robust.Shared.IoC.Exceptions;
+using Robust.Shared.Localization;
+using Robust.Shared.Prototypes;
+using Serilog;
+
+namespace Content.IntegrationTests.Tests.Announcers;
+
+///
+/// Checks if every station event using the announcerSystem has a valid audio file associated with it
+///
+[TestFixture]
+[TestOf(typeof(AnnouncerPrototype))]
+public sealed class AnnouncerAudioTest
+{
+ ///
+ [Test]
+ public async Task TestEventSounds()
+ {
+ await using var pair = await PoolManager.GetServerClient(new PoolSettings { Connected = true });
+ var server = pair.Server;
+ var client = pair.Client;
+
+ var entSysMan = server.ResolveDependency();
+ var proto = server.ResolveDependency();
+ var cache = client.ResolveDependency();
+ var announcer = entSysMan.GetEntitySystem();
+ var events = entSysMan.GetEntitySystem();
+
+ await server.WaitAssertion(() =>
+ {
+ var succeeded = true;
+ var why = new List();
+
+ foreach (var announcerProto in proto.EnumeratePrototypes().OrderBy(a => a.ID))
+ {
+ foreach (var ev in events.AllEvents())
+ {
+ if (ev.Value.StartAnnouncement)
+ {
+ var announcementId = announcer.GetAnnouncementId(ev.Key.ID);
+ var path = announcer.GetAnnouncementPath(announcementId, announcerProto);
+
+ if (!cache.ContentFileExists(path))
+ {
+ succeeded = false;
+ why.Add($"\"{announcerProto.ID}\", \"{announcementId}\": \"{path}\"");
+ }
+ }
+
+ if (ev.Value.EndAnnouncement)
+ {
+ var announcementId = announcer.GetAnnouncementId(ev.Key.ID, true);
+ var path = announcer.GetAnnouncementPath(announcementId, announcerProto);
+
+ if (!cache.ContentFileExists(path))
+ {
+ succeeded = false;
+ why.Add($"\"{announcerProto.ID}\", \"{announcementId}\": \"{path}\"");
+ }
+ }
+ }
+ }
+
+ Assert.That(succeeded, Is.True, $"The following announcements do not have a valid announcement audio:\n {string.Join("\n ", why)}");
+ });
+
+ await pair.CleanReturnAsync();
+ }
+}
diff --git a/Content.IntegrationTests/Tests/Announcers/AnnouncerFallbackTest.cs b/Content.IntegrationTests/Tests/Announcers/AnnouncerFallbackTest.cs
index ac0a23b09f..948f40e790 100644
--- a/Content.IntegrationTests/Tests/Announcers/AnnouncerFallbackTest.cs
+++ b/Content.IntegrationTests/Tests/Announcers/AnnouncerFallbackTest.cs
@@ -5,15 +5,17 @@ using Robust.Shared.Prototypes;
namespace Content.IntegrationTests.Tests.Announcers;
+///
+/// Checks if every announcer has a fallback announcement
+///
[TestFixture]
[TestOf(typeof(AnnouncerPrototype))]
-public sealed class AnnouncerPrototypeTests
+public sealed class AnnouncerPrototypeTest
{
+ ///
[Test]
public async Task TestAnnouncerFallbacks()
{
- // Checks if every announcer has a fallback announcement
-
await using var pair = await PoolManager.GetServerClient();
var server = pair.Server;
@@ -24,13 +26,13 @@ public sealed class AnnouncerPrototypeTests
var success = true;
var why = new List();
- foreach (var announcer in prototype.EnumeratePrototypes())
+ foreach (var announcer in prototype.EnumeratePrototypes().OrderBy(a => a.ID))
{
- if (announcer.Announcements.All(a => a.ID.ToLower() != "fallback"))
- {
- success = false;
- why.Add(announcer.ID);
- }
+ if (announcer.Announcements.Any(a => a.ID.ToLower() == "fallback"))
+ continue;
+
+ success = false;
+ why.Add(announcer.ID);
}
Assert.That(success, Is.True, $"The following announcers do not have a fallback announcement:\n {string.Join("\n ", why)}");
diff --git a/Content.IntegrationTests/Tests/Announcers/AnnouncerLocalizationTest.cs b/Content.IntegrationTests/Tests/Announcers/AnnouncerLocalizationTest.cs
index 74e14475bc..c9ac18bc68 100644
--- a/Content.IntegrationTests/Tests/Announcers/AnnouncerLocalizationTest.cs
+++ b/Content.IntegrationTests/Tests/Announcers/AnnouncerLocalizationTest.cs
@@ -1,28 +1,33 @@
using System.Collections.Generic;
+using System.Linq;
using Content.Server.Announcements.Systems;
using Content.Server.StationEvents;
using Content.Shared.Announcements.Prototypes;
using Robust.Shared.GameObjects;
using Robust.Shared.Localization;
+using Robust.Shared.Prototypes;
namespace Content.IntegrationTests.Tests.Announcers;
+///
+/// Checks if every station event wanting the announcerSystem to send messages has a localization string
+/// If an event doesn't have startAnnouncement or endAnnouncement set to true
+/// it will be expected for that system to handle the announcements if it wants them
+///
[TestFixture]
[TestOf(typeof(AnnouncerPrototype))]
public sealed class AnnouncerLocalizationTest
{
+ ///
[Test]
public async Task TestEventLocalization()
{
- // Checks if every station event wanting the announcerSystem to send messages has a localization string
- // If an event doesn't have startAnnouncement or endAnnouncement set to true
- // it will be expected for that system to handle the announcements if it wants them
-
await using var pair = await PoolManager.GetServerClient();
var server = pair.Server;
var locale = server.ResolveDependency();
var entSysMan = server.ResolveDependency();
+ var proto = server.ResolveDependency();
var announcer = entSysMan.GetEntitySystem();
var events = entSysMan.GetEntitySystem();
@@ -31,29 +36,34 @@ public sealed class AnnouncerLocalizationTest
var succeeded = true;
var why = new List();
- foreach (var ev in events.AllEvents())
+ foreach (var announcerProto in proto.EnumeratePrototypes().OrderBy(a => a.ID))
{
- if (ev.Value.StartAnnouncement)
+ foreach (var ev in events.AllEvents())
{
- var announcementId = announcer.GetAnnouncementId(ev.Key.ID);
- var eventLocaleString = announcer.GetEventLocaleString(announcementId);
-
- if (locale.GetString(eventLocaleString) == eventLocaleString)
+ if (ev.Value.StartAnnouncement)
{
- succeeded = false;
- why.Add($"\"{announcementId}\": \"{eventLocaleString}\"");
+ var announcementId = announcer.GetAnnouncementId(ev.Key.ID);
+ var eventLocaleString = announcer.GetAnnouncementMessage(announcementId, announcerProto.ID)
+ ?? announcer.GetEventLocaleString(announcementId);
+
+ if (locale.GetString(eventLocaleString) == eventLocaleString)
+ {
+ succeeded = false;
+ why.Add($"\"{announcerProto.ID}\", \"{announcementId}\": \"{eventLocaleString}\"");
+ }
}
- }
- if (ev.Value.EndAnnouncement)
- {
- var announcementId = announcer.GetAnnouncementId(ev.Key.ID, true);
- var eventLocaleString = announcer.GetEventLocaleString(announcementId);
-
- if (locale.GetString(eventLocaleString) == eventLocaleString)
+ if (ev.Value.EndAnnouncement)
{
- succeeded = false;
- why.Add($"\"{announcementId}\": \"{eventLocaleString}\"");
+ var announcementId = announcer.GetAnnouncementId(ev.Key.ID, true);
+ var eventLocaleString = announcer.GetAnnouncementMessage(announcementId, announcerProto.ID)
+ ?? announcer.GetEventLocaleString(announcementId);
+
+ if (locale.GetString(eventLocaleString) == eventLocaleString)
+ {
+ succeeded = false;
+ why.Add($"\"{announcerProto.ID}\", \"{announcementId}\": \"{eventLocaleString}\"");
+ }
}
}
}
diff --git a/Content.Server/Announcements/Systems/AnnouncerSystem.Announce.cs b/Content.Server/Announcements/Systems/AnnouncerSystem.Announce.cs
index d705b86384..3342bc9aef 100644
--- a/Content.Server/Announcements/Systems/AnnouncerSystem.Announce.cs
+++ b/Content.Server/Announcements/Systems/AnnouncerSystem.Announce.cs
@@ -59,8 +59,8 @@ public sealed partial class AnnouncerSystem
sender ??= Loc.GetString($"announcer-{announcerOverride?.ID ?? Announcer.ID}-name");
// If the announcement has a message override, use that instead of the message parameter
- if (GetAnnouncementMessage(announcementId, announcerOverride?.ID ?? Announcer.ID, localeArgs) is { } announcementMessage)
- locale = announcementMessage;
+ if (GetAnnouncementMessage(announcementId, announcerOverride?.ID ?? Announcer.ID) is { } announcementMessage)
+ locale = Loc.GetString(announcementMessage, localeArgs);
else
locale = Loc.GetString(locale, localeArgs);
diff --git a/Content.Shared/Announcements/Systems/SharedAnnouncerSystem.cs b/Content.Shared/Announcements/Systems/SharedAnnouncerSystem.cs
index c29513285e..5e02b602d0 100644
--- a/Content.Shared/Announcements/Systems/SharedAnnouncerSystem.cs
+++ b/Content.Shared/Announcements/Systems/SharedAnnouncerSystem.cs
@@ -92,7 +92,7 @@ public abstract class SharedAnnouncerSystem : EntitySystem
announcer.Announcements.First(a => a.ID == "fallback");
// Return the announcer.BaseAudioParams if the announcementType doesn't have an override
- return announcementType.AudioParams ?? announcer.BaseAudioParams ?? null; // For some reason the formatter doesn't warn me about "?? null" being redundant, so it stays
+ return announcementType.AudioParams ?? announcer.BaseAudioParams ?? null; // For some reason the formatter doesn't warn me about "?? null" being redundant, so it stays for the funnies
}
///
@@ -117,9 +117,7 @@ public abstract class SharedAnnouncerSystem : EntitySystem
///
/// ID of the announcement from the announcer to get information from
/// ID of the announcer to get information from
- /// Locale arguments to pass to the overwritten announcement
- public string? GetAnnouncementMessage(string announcementId, string announcerId,
- params (string, object)[] localeArgs)
+ public string? GetAnnouncementMessage(string announcementId, string announcerId)
{
if (!_proto.TryIndex(announcerId, out var announcer))
return null;
@@ -130,7 +128,7 @@ public abstract class SharedAnnouncerSystem : EntitySystem
announcer.Announcements.First(a => a.ID == "fallback");
// Return the announcementType.MessageOverride if it exists, otherwise return null
- return announcementType.MessageOverride != null ? Loc.GetString(announcementType.MessageOverride, localeArgs) : null;
+ return announcementType.MessageOverride != null ? announcementType.MessageOverride : null;
}
///
diff --git a/Resources/Audio/Announcements/Intern/aliens.ogg b/Resources/Audio/Announcements/Intern/aliens.ogg
deleted file mode 100644
index 9dd3c07697..0000000000
Binary files a/Resources/Audio/Announcements/Intern/aliens.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/animes.ogg b/Resources/Audio/Announcements/Intern/animes.ogg
deleted file mode 100644
index 36102c3e60..0000000000
Binary files a/Resources/Audio/Announcements/Intern/animes.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce.ogg b/Resources/Audio/Announcements/Intern/announce.ogg
deleted file mode 100644
index 0ee0f36d56..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/1.ogg b/Resources/Audio/Announcements/Intern/announce/1.ogg
deleted file mode 100644
index c4d182bc8c..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/1.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/10.ogg b/Resources/Audio/Announcements/Intern/announce/10.ogg
deleted file mode 100644
index 7380ccdeef..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/10.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/11.ogg b/Resources/Audio/Announcements/Intern/announce/11.ogg
deleted file mode 100644
index ca548dcc20..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/11.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/12.ogg b/Resources/Audio/Announcements/Intern/announce/12.ogg
deleted file mode 100644
index 8d71419798..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/12.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/13.ogg b/Resources/Audio/Announcements/Intern/announce/13.ogg
deleted file mode 100644
index 128c7aa424..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/13.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/14.ogg b/Resources/Audio/Announcements/Intern/announce/14.ogg
deleted file mode 100644
index 81d54101be..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/14.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/2.ogg b/Resources/Audio/Announcements/Intern/announce/2.ogg
deleted file mode 100644
index a2ef615d56..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/2.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/3.ogg b/Resources/Audio/Announcements/Intern/announce/3.ogg
deleted file mode 100644
index 51613ff036..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/3.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/4.ogg b/Resources/Audio/Announcements/Intern/announce/4.ogg
deleted file mode 100644
index 874536ca72..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/4.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/5.ogg b/Resources/Audio/Announcements/Intern/announce/5.ogg
deleted file mode 100644
index 0af0d28ce1..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/5.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/6.ogg b/Resources/Audio/Announcements/Intern/announce/6.ogg
deleted file mode 100644
index a65006a8c0..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/6.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/7.ogg b/Resources/Audio/Announcements/Intern/announce/7.ogg
deleted file mode 100644
index 4a1d3f013a..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/7.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/8.ogg b/Resources/Audio/Announcements/Intern/announce/8.ogg
deleted file mode 100644
index 83ca80f493..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/8.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/announce/9.ogg b/Resources/Audio/Announcements/Intern/announce/9.ogg
deleted file mode 100644
index 3c0c45b25d..0000000000
Binary files a/Resources/Audio/Announcements/Intern/announce/9.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/anomaly.ogg b/Resources/Audio/Announcements/Intern/anomaly.ogg
deleted file mode 100644
index 9bed8eae3a..0000000000
Binary files a/Resources/Audio/Announcements/Intern/anomaly.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/commandreport/1.ogg b/Resources/Audio/Announcements/Intern/commandreport/1.ogg
deleted file mode 100644
index e3108b13d1..0000000000
Binary files a/Resources/Audio/Announcements/Intern/commandreport/1.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/commandreport/2.ogg b/Resources/Audio/Announcements/Intern/commandreport/2.ogg
deleted file mode 100644
index cd67500426..0000000000
Binary files a/Resources/Audio/Announcements/Intern/commandreport/2.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/commandreport/3.ogg b/Resources/Audio/Announcements/Intern/commandreport/3.ogg
deleted file mode 100644
index 94241c5ba5..0000000000
Binary files a/Resources/Audio/Announcements/Intern/commandreport/3.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/intercept.ogg b/Resources/Audio/Announcements/Intern/intercept.ogg
deleted file mode 100644
index a87274abd9..0000000000
Binary files a/Resources/Audio/Announcements/Intern/intercept.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/ionstorm.ogg b/Resources/Audio/Announcements/Intern/ionstorm.ogg
deleted file mode 100644
index 9e7b5c6b23..0000000000
Binary files a/Resources/Audio/Announcements/Intern/ionstorm.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/meteors.ogg b/Resources/Audio/Announcements/Intern/meteors.ogg
deleted file mode 100644
index c68c4bd8cc..0000000000
Binary files a/Resources/Audio/Announcements/Intern/meteors.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/newai.ogg b/Resources/Audio/Announcements/Intern/newai.ogg
deleted file mode 100644
index c40b099020..0000000000
Binary files a/Resources/Audio/Announcements/Intern/newai.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/outbreak7.ogg b/Resources/Audio/Announcements/Intern/outbreak7.ogg
deleted file mode 100644
index 297a1bbe8d..0000000000
Binary files a/Resources/Audio/Announcements/Intern/outbreak7.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/poweroff.ogg b/Resources/Audio/Announcements/Intern/poweroff.ogg
deleted file mode 100644
index 4b71053653..0000000000
Binary files a/Resources/Audio/Announcements/Intern/poweroff.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/poweron.ogg b/Resources/Audio/Announcements/Intern/poweron.ogg
deleted file mode 100644
index 509cd398e6..0000000000
Binary files a/Resources/Audio/Announcements/Intern/poweron.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/radiation.ogg b/Resources/Audio/Announcements/Intern/radiation.ogg
deleted file mode 100644
index 08db53ebfd..0000000000
Binary files a/Resources/Audio/Announcements/Intern/radiation.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/shuttlecalled.ogg b/Resources/Audio/Announcements/Intern/shuttlecalled.ogg
deleted file mode 100644
index c903367cdf..0000000000
Binary files a/Resources/Audio/Announcements/Intern/shuttlecalled.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/shuttledock.ogg b/Resources/Audio/Announcements/Intern/shuttledock.ogg
deleted file mode 100644
index 9f6ccd1a93..0000000000
Binary files a/Resources/Audio/Announcements/Intern/shuttledock.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/shuttlerecalled.ogg b/Resources/Audio/Announcements/Intern/shuttlerecalled.ogg
deleted file mode 100644
index e259a79f35..0000000000
Binary files a/Resources/Audio/Announcements/Intern/shuttlerecalled.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/welcome/1.ogg b/Resources/Audio/Announcements/Intern/welcome/1.ogg
deleted file mode 100644
index 758f1967e0..0000000000
Binary files a/Resources/Audio/Announcements/Intern/welcome/1.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/welcome/2.ogg b/Resources/Audio/Announcements/Intern/welcome/2.ogg
deleted file mode 100644
index c2e72be510..0000000000
Binary files a/Resources/Audio/Announcements/Intern/welcome/2.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/welcome/3.ogg b/Resources/Audio/Announcements/Intern/welcome/3.ogg
deleted file mode 100644
index 004f57371d..0000000000
Binary files a/Resources/Audio/Announcements/Intern/welcome/3.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/welcome/4.ogg b/Resources/Audio/Announcements/Intern/welcome/4.ogg
deleted file mode 100644
index c4e1f7667c..0000000000
Binary files a/Resources/Audio/Announcements/Intern/welcome/4.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/welcome/5.ogg b/Resources/Audio/Announcements/Intern/welcome/5.ogg
deleted file mode 100644
index 641b8208a4..0000000000
Binary files a/Resources/Audio/Announcements/Intern/welcome/5.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/Intern/welcome/6.ogg b/Resources/Audio/Announcements/Intern/welcome/6.ogg
deleted file mode 100644
index b0fc38237f..0000000000
Binary files a/Resources/Audio/Announcements/Intern/welcome/6.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/aliens.ogg b/Resources/Audio/Announcements/MedBot/aliens.ogg
deleted file mode 100644
index 57fa70c3ca..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/aliens.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/animes.ogg b/Resources/Audio/Announcements/MedBot/animes.ogg
deleted file mode 100644
index 7615a744a6..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/animes.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/announce.ogg b/Resources/Audio/Announcements/MedBot/announce.ogg
deleted file mode 100644
index 0ee0f36d56..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/announce.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/anomaly.ogg b/Resources/Audio/Announcements/MedBot/anomaly.ogg
deleted file mode 100644
index d710999e1e..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/anomaly.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/attention.ogg b/Resources/Audio/Announcements/MedBot/attention.ogg
deleted file mode 100644
index d4d5a27085..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/attention.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/commandreport.ogg b/Resources/Audio/Announcements/MedBot/commandreport.ogg
deleted file mode 100644
index 4e5c2e1d1f..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/commandreport.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/fallback.ogg b/Resources/Audio/Announcements/MedBot/fallback.ogg
deleted file mode 100644
index d4d5a27085..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/fallback.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/intercept.ogg b/Resources/Audio/Announcements/MedBot/intercept.ogg
deleted file mode 100644
index c59d0455c1..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/intercept.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/ionstorm.ogg b/Resources/Audio/Announcements/MedBot/ionstorm.ogg
deleted file mode 100644
index 15aeac9f7f..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/ionstorm.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/meteors.ogg b/Resources/Audio/Announcements/MedBot/meteors.ogg
deleted file mode 100644
index 91208cae12..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/meteors.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/newai.ogg b/Resources/Audio/Announcements/MedBot/newai.ogg
deleted file mode 100644
index c40b099020..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/newai.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/outbreak7.ogg b/Resources/Audio/Announcements/MedBot/outbreak7.ogg
deleted file mode 100644
index 1fc542534d..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/outbreak7.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/poweroff.ogg b/Resources/Audio/Announcements/MedBot/poweroff.ogg
deleted file mode 100644
index 875df35002..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/poweroff.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/poweron.ogg b/Resources/Audio/Announcements/MedBot/poweron.ogg
deleted file mode 100644
index 4b1605b1c7..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/poweron.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/radiation.ogg b/Resources/Audio/Announcements/MedBot/radiation.ogg
deleted file mode 100644
index 5c48830b5f..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/radiation.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/shuttlecalled.ogg b/Resources/Audio/Announcements/MedBot/shuttlecalled.ogg
deleted file mode 100644
index a775567abe..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/shuttlecalled.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/shuttledock.ogg b/Resources/Audio/Announcements/MedBot/shuttledock.ogg
deleted file mode 100644
index 933928db06..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/shuttledock.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/shuttlerecalled.ogg b/Resources/Audio/Announcements/MedBot/shuttlerecalled.ogg
deleted file mode 100644
index 53b622576d..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/shuttlerecalled.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/MedBot/welcome.ogg b/Resources/Audio/Announcements/MedBot/welcome.ogg
deleted file mode 100644
index f9a698fd08..0000000000
Binary files a/Resources/Audio/Announcements/MedBot/welcome.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/announce.ogg b/Resources/Audio/Announcements/NEIL/announce.ogg
deleted file mode 100644
index 0ee0f36d56..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/announce.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/attention.ogg b/Resources/Audio/Announcements/NEIL/attention.ogg
deleted file mode 100644
index 310fad3ef6..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/attention.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_blue.ogg b/Resources/Audio/Announcements/NEIL/code_blue.ogg
deleted file mode 100644
index 48d9c6548b..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_blue.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_delta.ogg b/Resources/Audio/Announcements/NEIL/code_delta.ogg
deleted file mode 100644
index 7082671915..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_delta.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_epsilon.ogg b/Resources/Audio/Announcements/NEIL/code_epsilon.ogg
deleted file mode 100644
index a8db858b1a..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_epsilon.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_gamma.ogg b/Resources/Audio/Announcements/NEIL/code_gamma.ogg
deleted file mode 100644
index 3351acc2e0..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_gamma.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_green.ogg b/Resources/Audio/Announcements/NEIL/code_green.ogg
deleted file mode 100644
index 3c0031833b..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_green.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_red.ogg b/Resources/Audio/Announcements/NEIL/code_red.ogg
deleted file mode 100644
index 209eb36ba1..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_red.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_violet.ogg b/Resources/Audio/Announcements/NEIL/code_violet.ogg
deleted file mode 100644
index c1681c1edb..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_violet.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_white.ogg b/Resources/Audio/Announcements/NEIL/code_white.ogg
deleted file mode 100644
index 24c942dfcb..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_white.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/code_yellow.ogg b/Resources/Audio/Announcements/NEIL/code_yellow.ogg
deleted file mode 100644
index 9139446d2b..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/code_yellow.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/fallback.ogg b/Resources/Audio/Announcements/NEIL/fallback.ogg
deleted file mode 100644
index 310fad3ef6..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/fallback.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/kudzu.ogg b/Resources/Audio/Announcements/NEIL/kudzu.ogg
deleted file mode 100644
index 4ddd2f636b..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/kudzu.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/meteors.ogg b/Resources/Audio/Announcements/NEIL/meteors.ogg
deleted file mode 100644
index cf52544174..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/meteors.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/newai.ogg b/Resources/Audio/Announcements/NEIL/newai.ogg
deleted file mode 100644
index 35aba34564..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/newai.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/outbreak7.ogg b/Resources/Audio/Announcements/NEIL/outbreak7.ogg
deleted file mode 100644
index 9106796012..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/outbreak7.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/poweroff.ogg b/Resources/Audio/Announcements/NEIL/poweroff.ogg
deleted file mode 100644
index 7d7a43825f..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/poweroff.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/poweron.ogg b/Resources/Audio/Announcements/NEIL/poweron.ogg
deleted file mode 100644
index 961b50a503..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/poweron.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/radiation.ogg b/Resources/Audio/Announcements/NEIL/radiation.ogg
deleted file mode 100644
index 3ea2928c1d..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/radiation.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/shuttlecalled.ogg b/Resources/Audio/Announcements/NEIL/shuttlecalled.ogg
deleted file mode 100644
index 482bf13319..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/shuttlecalled.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/shuttledock.ogg b/Resources/Audio/Announcements/NEIL/shuttledock.ogg
deleted file mode 100644
index 0615536555..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/shuttledock.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/shuttlerecalled.ogg b/Resources/Audio/Announcements/NEIL/shuttlerecalled.ogg
deleted file mode 100644
index 5a198ca5fe..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/shuttlerecalled.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/welcome.ogg b/Resources/Audio/Announcements/NEIL/welcome.ogg
deleted file mode 100644
index 00c8991276..0000000000
Binary files a/Resources/Audio/Announcements/NEIL/welcome.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/aliens.ogg b/Resources/Audio/Announcements/VoxFem/aliens.ogg
deleted file mode 100644
index f7d1746247..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/aliens.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/announce.ogg b/Resources/Audio/Announcements/VoxFem/announce.ogg
deleted file mode 100644
index 0ee0f36d56..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/announce.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/anomaly.ogg b/Resources/Audio/Announcements/VoxFem/anomaly.ogg
deleted file mode 100644
index 7680726f15..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/anomaly.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/attention.ogg b/Resources/Audio/Announcements/VoxFem/attention.ogg
deleted file mode 100644
index 912be4425e..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/attention.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/commandreport.ogg b/Resources/Audio/Announcements/VoxFem/commandreport.ogg
deleted file mode 100644
index 82e4ca425d..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/commandreport.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/fallback.ogg b/Resources/Audio/Announcements/VoxFem/fallback.ogg
deleted file mode 100644
index 912be4425e..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/fallback.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/ionstorm.ogg b/Resources/Audio/Announcements/VoxFem/ionstorm.ogg
deleted file mode 100644
index 9f39713de6..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/ionstorm.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/meteors.ogg b/Resources/Audio/Announcements/VoxFem/meteors.ogg
deleted file mode 100644
index 8f1c3aeacb..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/meteors.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/newai.ogg b/Resources/Audio/Announcements/VoxFem/newai.ogg
deleted file mode 100644
index 35aba34564..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/newai.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/outbreak7.ogg b/Resources/Audio/Announcements/VoxFem/outbreak7.ogg
deleted file mode 100644
index f21d4fca44..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/outbreak7.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/poweroff.ogg b/Resources/Audio/Announcements/VoxFem/poweroff.ogg
deleted file mode 100644
index 1c6377c9d8..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/poweroff.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/poweron.ogg b/Resources/Audio/Announcements/VoxFem/poweron.ogg
deleted file mode 100644
index 9d18797d6e..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/poweron.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/radiation.ogg b/Resources/Audio/Announcements/VoxFem/radiation.ogg
deleted file mode 100644
index ef395af310..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/radiation.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/shuttlecalled.ogg b/Resources/Audio/Announcements/VoxFem/shuttlecalled.ogg
deleted file mode 100644
index 716bf82465..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/shuttlecalled.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/shuttledock.ogg b/Resources/Audio/Announcements/VoxFem/shuttledock.ogg
deleted file mode 100644
index 0f70bebc75..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/shuttledock.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/shuttlerecalled.ogg b/Resources/Audio/Announcements/VoxFem/shuttlerecalled.ogg
deleted file mode 100644
index 5f6db404b8..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/shuttlerecalled.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/VoxFem/welcome.ogg b/Resources/Audio/Announcements/VoxFem/welcome.ogg
deleted file mode 100644
index c7013dcbd5..0000000000
Binary files a/Resources/Audio/Announcements/VoxFem/welcome.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/bureaucraticerror.ogg b/Resources/Audio/Announcers/NEIL/events/bureaucratic_error.ogg
similarity index 100%
rename from Resources/Audio/Announcements/NEIL/bureaucraticerror.ogg
rename to Resources/Audio/Announcers/NEIL/events/bureaucratic_error.ogg
diff --git a/Resources/Audio/Announcers/NEIL/events/bureaucraticerror.ogg b/Resources/Audio/Announcers/NEIL/events/bureaucraticerror.ogg
deleted file mode 100644
index 0cbafcf627..0000000000
Binary files a/Resources/Audio/Announcers/NEIL/events/bureaucraticerror.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/gasleak.ogg b/Resources/Audio/Announcers/NEIL/events/gas_leak.ogg
similarity index 100%
rename from Resources/Audio/Announcements/NEIL/gasleak.ogg
rename to Resources/Audio/Announcers/NEIL/events/gas_leak.ogg
diff --git a/Resources/Audio/Announcers/NEIL/events/gasleak.ogg b/Resources/Audio/Announcers/NEIL/events/gasleak.ogg
deleted file mode 100644
index 8efffd02c4..0000000000
Binary files a/Resources/Audio/Announcers/NEIL/events/gasleak.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/noosphericstorm.ogg b/Resources/Audio/Announcers/NEIL/events/noospheric_storm.ogg
similarity index 100%
rename from Resources/Audio/Announcements/NEIL/noosphericstorm.ogg
rename to Resources/Audio/Announcers/NEIL/events/noospheric_storm.ogg
diff --git a/Resources/Audio/Announcers/NEIL/events/noosphericstorm.ogg b/Resources/Audio/Announcers/NEIL/events/noosphericstorm.ogg
deleted file mode 100644
index 47b52f7cb4..0000000000
Binary files a/Resources/Audio/Announcers/NEIL/events/noosphericstorm.ogg and /dev/null differ
diff --git a/Resources/Audio/Announcements/NEIL/ventclog.ogg b/Resources/Audio/Announcers/NEIL/events/vent_clog.ogg
similarity index 100%
rename from Resources/Audio/Announcements/NEIL/ventclog.ogg
rename to Resources/Audio/Announcers/NEIL/events/vent_clog.ogg
diff --git a/Resources/Audio/Announcers/NEIL/events/ventclog.ogg b/Resources/Audio/Announcers/NEIL/events/ventclog.ogg
deleted file mode 100644
index 90350f0e35..0000000000
Binary files a/Resources/Audio/Announcers/NEIL/events/ventclog.ogg and /dev/null differ