Skip to content

Commit

Permalink
// Parkstation-RandomAnnouncers
Browse files Browse the repository at this point in the history
  • Loading branch information
DEATHB4DEFEAT committed Oct 1, 2023
1 parent 5ddba43 commit e28b29f
Show file tree
Hide file tree
Showing 12 changed files with 62 additions and 36 deletions.
4 changes: 2 additions & 2 deletions Content.Server/Administration/UI/AdminAnnounceEui.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ public sealed class AdminAnnounceEui : BaseEui
[Dependency] private readonly IAdminManager _adminManager = default!;
[Dependency] private readonly IChatManager _chatManager = default!;
[Dependency] private readonly IPrototypeManager _proto = default!;
private readonly AnnouncerSystem _announcerSystem;
private readonly AnnouncerSystem _announcerSystem; // Parkstation-RandomAnnouncers
private readonly ChatSystem _chatSystem;

public AdminAnnounceEui()
{
IoCManager.InjectDependencies(this);
_chatSystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<ChatSystem>();
_announcerSystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<AnnouncerSystem>();
_announcerSystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<AnnouncerSystem>(); // Parkstation-RandomAnnouncers
}

public override void Opened()
Expand Down
6 changes: 5 additions & 1 deletion Content.Server/AlertLevel/AlertLevelSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public sealed class AlertLevelSystem : EntitySystem
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly ChatSystem _chatSystem = default!;
[Dependency] private readonly StationSystem _stationSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!; // Parkstation-RandomAnnouncers
[Dependency] private readonly IConfigurationManager _cfg = default!;

// Until stations are a prototype, this is how it's going to have to be.
Expand Down Expand Up @@ -173,6 +173,7 @@ public void SetLevel(EntityUid station, string level, bool playSound, bool annou
// var playDefault = false;
if (playSound)
{
// Parkstation-RandomAnnouncers Start
// if (detail.Sound != null)
// {
// var filter = _stationSystem.GetInOwningStation(station);
Expand All @@ -184,14 +185,17 @@ public void SetLevel(EntityUid station, string level, bool playSound, bool annou
// }

_announcerSystem.SendAnnouncementAudio($"alert{level}", _stationSystem.GetInOwningStation(station));
// Parkstation-RandomAnnouncers End
}

if (announce)
{
// Parkstation-RandomAnnouncers Start
// _chatSystem.DispatchStationAnnouncement(station, announcementFull, playDefaultSound: playDefault,
// colorOverride: detail.Color, sender: stationName);

_announcerSystem.SendAnnouncementMessage($"alert{level}", announcementFull, stationName, detail.Color, station);
// Parkstation-RandomAnnouncers End
}

RaiseLocalEvent(new AlertLevelChangedEvent(station, level));
Expand Down
6 changes: 5 additions & 1 deletion Content.Server/Communications/CommunicationsConsoleSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public sealed class CommunicationsConsoleSystem : EntitySystem
[Dependency] private readonly StationSystem _stationSystem = default!;
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!; // Parkstation-RandomAnnouncers
[Dependency] private readonly UserInterfaceSystem _uiSystem = default!;

private const int MaxMessageLength = 256;
Expand Down Expand Up @@ -273,16 +273,20 @@ private void OnAnnounceMessage(EntityUid uid, CommunicationsConsoleComponent com
msg += "\n" + Loc.GetString("comms-console-announcement-sent-by") + " " + author;
if (comp.AnnounceGlobal)
{
// Parkstation-RandomAnnouncers Start
// _chatSystem.DispatchGlobalAnnouncement(msg, title, announcementSound: comp.AnnouncementSound, colorOverride: comp.AnnouncementColor);
_announcerSystem.SendAnnouncement("announce", Filter.Broadcast(), msg, title, comp.AnnouncementColor);
// Parkstation-RandomAnnouncers End

if (message.Session.AttachedEntity != null)
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"{ToPrettyString(message.Session.AttachedEntity.Value):player} has sent the following global announcement: {msg}");

return;
}
// Parkstation-RandomAnnouncers Start
// _chatSystem.DispatchStationAnnouncement(uid, msg, title, colorOverride: comp.AnnouncementColor);
_announcerSystem.SendAnnouncement("announce", Filter.Broadcast(), msg, title, comp.AnnouncementColor);
// Parkstation-RandomAnnouncers End

if (message.Session.AttachedEntity != null)
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"{ToPrettyString(message.Session.AttachedEntity.Value):player} has sent the following station announcement: {msg}");
Expand Down
4 changes: 3 additions & 1 deletion Content.Server/GameTicking/GameTicker.RoundFlow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ namespace Content.Server.GameTicking
public sealed partial class GameTicker
{
[Dependency] private readonly ITaskManager _taskManager = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!; // Parkstation-RandomAnnouncers

private static readonly Counter RoundNumberMetric = Metrics.CreateCounter(
"ss14_round_number",
Expand Down Expand Up @@ -563,13 +563,15 @@ private void AnnounceRound()

var proto = _robustRandom.Pick(options);

// Parkstation-RandomAnnouncers Start
// if (proto.Message != null)
// _chatSystem.DispatchGlobalAnnouncement(Loc.GetString(proto.Message), playSound: true);
//
// if (proto.Sound != null)
// SoundSystem.Play(proto.Sound.GetSound(), Filter.Broadcast());

_announcerSystem.SendAnnouncement(proto.ID, Filter.Broadcast(), Loc.GetString(proto.Message ?? "game-ticker-welcome-to-the-station"));
// Parkstation-RandomAnnouncers End
}
}

Expand Down
4 changes: 3 additions & 1 deletion Content.Server/Nyanotrasen/Fugitive/FugitiveSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public sealed class FugitiveSystem : EntitySystem
[Dependency] private readonly PopupSystem _popupSystem = default!;
[Dependency] private readonly StunSystem _stun = default!;
[Dependency] private readonly AudioSystem _audioSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!; // Parkstation-RandomAnnouncers
[Dependency] private readonly MindSystem _mindSystem = default!;

public override void Initialize()
Expand All @@ -63,8 +63,10 @@ public override void Update(float frameTime)
{
if (cd.AnnounceTime != null && _timing.CurTime > cd.AnnounceTime)
{
// Parkstation-RandomAnnouncers Start
// _chat.DispatchGlobalAnnouncement(Loc.GetString("station-event-fugitive-hunt-announcement"), sender: Loc.GetString("fugitive-announcement-GALPOL"), colorOverride: Color.Yellow);
_announcerSystem.SendAnnouncement("commandreport", Filter.Broadcast(), Loc.GetString("station-event-fugitive-hunt-announcement"), Loc.GetString("fugitive-announcement-GALPOL"), Color.Yellow);
// Parkstation-RandomAnnouncers End

foreach (var console in EntityQuery<CommunicationsConsoleComponent>())
{
Expand Down
48 changes: 27 additions & 21 deletions Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public sealed partial class EmergencyShuttleSystem : EntitySystem
[Dependency] private readonly ShuttleSystem _shuttle = default!;
[Dependency] private readonly StationSystem _station = default!;
[Dependency] private readonly UserInterfaceSystem _uiSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcer = default!;
[Dependency] private readonly AnnouncerSystem _announcer = default!; // Parkstation-RandomAnnouncers

private ISawmill _sawmill = default!;

Expand Down Expand Up @@ -188,15 +188,17 @@ public void CallEmergencyShuttle(EntityUid stationUid, StationEmergencyShuttleCo
if (targetGrid == null)
{
_logger.Add(LogType.EmergencyShuttle, LogImpact.High, $"Emergency shuttle {ToPrettyString(stationUid)} unable to dock with station {ToPrettyString(stationUid)}");
// Parkstation-RandomAnnouncers Start
// _chatSystem.DispatchStationAnnouncement(stationUid, Loc.GetString("emergency-shuttle-good-luck"), playDefaultSound: false);
// // TODO: Need filter extensions or something don't blame me.
// _audio.PlayGlobal("/Audio/Misc/notice1.ogg", Filter.Broadcast(), true);
// // TODO: Need filter extensions or something don't blame me.
// _audio.PlayGlobal("/Audio/Misc/notice1.ogg", Filter.Broadcast(), true);

_announcer.SendAnnouncement("shuttledock", Filter.Broadcast(),
Loc.GetString("emergency-shuttle-good-luck"),
Loc.GetString("comms-console-announcement-title-centcom"));
return;
}
_announcer.SendAnnouncement("shuttledock", Filter.Broadcast(),
Loc.GetString("emergency-shuttle-good-luck"),
Loc.GetString("comms-console-announcement-title-centcom"));
// Parkstation-RandomAnnouncers End
return;
}

var xformQuery = GetEntityQuery<TransformComponent>();

Expand All @@ -205,24 +207,28 @@ public void CallEmergencyShuttle(EntityUid stationUid, StationEmergencyShuttleCo
if (TryComp<TransformComponent>(targetGrid.Value, out var targetXform))
{
var angle = _dock.GetAngle(stationShuttle.EmergencyShuttle.Value, xform, targetGrid.Value, targetXform, xformQuery);
// Parkstation-RandomAnnouncers Start
// _chatSystem.DispatchStationAnnouncement(stationUid, Loc.GetString("emergency-shuttle-docked", ("time", $"{_consoleAccumulator:0}"), ("direction", angle.GetDir())), playDefaultSound: false);
_announcer.SendAnnouncementMessage("shuttledock",
Loc.GetString("emergency-shuttle-docked",("time", $"{_consoleAccumulator:0}"), ("direction", angle.GetDir())),
Loc.GetString("comms-console-announcement-title-centcom"));
}
_announcer.SendAnnouncementMessage("shuttledock",
Loc.GetString("emergency-shuttle-docked",("time", $"{_consoleAccumulator:0}"), ("direction", angle.GetDir())),
Loc.GetString("comms-console-announcement-title-centcom"));
// Parkstation-RandomAnnouncers End
}

_logger.Add(LogType.EmergencyShuttle, LogImpact.High, $"Emergency shuttle {ToPrettyString(stationUid)} docked with stations");
// TODO: Need filter extensions or something don't blame me.
// Parkstation-RandomAnnouncers Start
// _audio.PlayGlobal("/Audio/Announcements/shuttle_dock.ogg", Filter.Broadcast(), true);
_announcer.SendAnnouncementAudio("shuttledock", Filter.Broadcast());
}
else
{
if (TryComp<TransformComponent>(targetGrid.Value, out var targetXform))
{
var angle = _dock.GetAngle(stationShuttle.EmergencyShuttle.Value, xform, targetGrid.Value, targetXform, xformQuery);
_chatSystem.DispatchStationAnnouncement(stationUid, Loc.GetString("emergency-shuttle-nearby", ("direction", angle.GetDir())), playDefaultSound: false);
}
_announcer.SendAnnouncementAudio("shuttledock", Filter.Broadcast());
// Parkstation-RandomAnnouncers End
}
else
{
if (TryComp<TransformComponent>(targetGrid.Value, out var targetXform))
{
var angle = _dock.GetAngle(stationShuttle.EmergencyShuttle.Value, xform, targetGrid.Value, targetXform, xformQuery);
_chatSystem.DispatchStationAnnouncement(stationUid, Loc.GetString("emergency-shuttle-nearby", ("direction", angle.GetDir())), playDefaultSound: false);
}

_logger.Add(LogType.EmergencyShuttle, LogImpact.High, $"Emergency shuttle {ToPrettyString(stationUid)} unable to find a valid docking port for {ToPrettyString(stationUid)}");
// TODO: Need filter extensions or something don't blame me.
Expand Down
4 changes: 3 additions & 1 deletion Content.Server/StationEvents/Events/AnomalySpawnRule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@ namespace Content.Server.StationEvents.Events;
public sealed class AnomalySpawnRule : StationEventSystem<AnomalySpawnRuleComponent>
{
[Dependency] private readonly AnomalySystem _anomaly = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!; // Parkstation-RandomAnnouncers

protected override void Added(EntityUid uid, AnomalySpawnRuleComponent component, GameRuleComponent gameRule, GameRuleAddedEvent args)
{
base.Added(uid, component, gameRule, args);

var str = Loc.GetString("anomaly-spawn-event-announcement",
("sighting", Loc.GetString($"anomaly-spawn-sighting-{RobustRandom.Next(1, 6)}")));
// Parkstation-RandomAnnouncers Start
// ChatSystem.DispatchGlobalAnnouncement(str, colorOverride: Color.FromHex("#18abf5"));
_announcerSystem.SendAnnouncement("anomalyspawn", Filter.Broadcast(), str, colorOverride: Color.FromHex("#18abf5"));
// Parkstation-RandomAnnouncers End
}

protected override void Started(EntityUid uid, AnomalySpawnRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args)
Expand Down
4 changes: 2 additions & 2 deletions Content.Server/StationEvents/Events/BreakerFlipRule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ namespace Content.Server.StationEvents.Events;
public sealed class BreakerFlipRule : StationEventSystem<BreakerFlipRuleComponent>
{
[Dependency] private readonly ApcSystem _apcSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!; // Parkstation-RandomAnnouncers

protected override void Added(EntityUid uid, BreakerFlipRuleComponent component, GameRuleComponent gameRule, GameRuleAddedEvent args)
{
base.Added(uid, component, gameRule, args);

var str = Loc.GetString("station-event-breaker-flip-announcement", ("data", Loc.GetString(Loc.GetString($"random-sentience-event-data-{RobustRandom.Next(1, 6)}"))));

_announcerSystem.SendAnnouncement(args.RuleId, Filter.Broadcast(), str, colorOverride: Color.Gold);
_announcerSystem.SendAnnouncement(args.RuleId, Filter.Broadcast(), str, colorOverride: Color.Gold); // Parkstation-RandomAnnouncers
}

protected override void Started(EntityUid uid, BreakerFlipRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args)
Expand Down
4 changes: 2 additions & 2 deletions Content.Server/StationEvents/Events/FalseAlarmRule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace Content.Server.StationEvents.Events;
public sealed class FalseAlarmRule : StationEventSystem<FalseAlarmRuleComponent>
{
[Dependency] private readonly EventManagerSystem _event = default!;
[Dependency] private readonly AnnouncerSystem _announcer = default!;
[Dependency] private readonly AnnouncerSystem _announcer = default!; // Parkstation-RandomAnnouncers

protected override void Started(EntityUid uid, FalseAlarmRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args)
{
Expand All @@ -23,7 +23,7 @@ protected override void Started(EntityUid uid, FalseAlarmRuleComponent component

if (picked.StartAnnouncement != null)
{
_announcer.SendAnnouncement(args.RuleId, Filter.Broadcast(), Loc.GetString(picked.StartAnnouncement), colorOverride: Color.Gold);
_announcer.SendAnnouncement(args.RuleId, Filter.Broadcast(), Loc.GetString(picked.StartAnnouncement), colorOverride: Color.Gold); // Parkstation-RandomAnnouncers
}
}
}
6 changes: 4 additions & 2 deletions Content.Server/StationEvents/Events/PowerGridCheckRule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace Content.Server.StationEvents.Events
public sealed class PowerGridCheckRule : StationEventSystem<PowerGridCheckRuleComponent>
{
[Dependency] private readonly ApcSystem _apcSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcer = default!;
[Dependency] private readonly AnnouncerSystem _announcer = default!; // Parkstation-RandomAnnouncers

public override void Initialize()
{
Expand Down Expand Up @@ -67,8 +67,10 @@ protected override void Ended(EntityUid uid, PowerGridCheckRuleComponent compone
component.AnnounceCancelToken = new CancellationTokenSource();
Timer.Spawn(3000, () =>
{
// Parkstation-RandomAnnouncers Start
// Audio.PlayGlobal("/Audio/Announcements/power_on.ogg", Filter.Broadcast(), true, AudioParams.Default.WithVolume(-4f));
_announcer.SendAnnouncementAudio("powergridcheckcomplete", Filter.Broadcast());
_announcer.SendAnnouncementAudio("powrgridcheckcomplete", Filter.Broadcast());
// Parkstation-RandomAnnouncers End
}, component.AnnounceCancelToken.Token);
component.Unpowered.Clear();
}
Expand Down
4 changes: 3 additions & 1 deletion Content.Server/StationEvents/Events/RandomSentienceRule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace Content.Server.StationEvents.Events;

public sealed class RandomSentienceRule : StationEventSystem<RandomSentienceRuleComponent>
{
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!; // Parkstation-RandomAnnouncers

protected override void Started(EntityUid uid, RandomSentienceRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args)
{
Expand Down Expand Up @@ -49,6 +49,7 @@ protected override void Started(EntityUid uid, RandomSentienceRuleComponent comp
if(station == null) continue;
stationsToNotify.Add((EntityUid) station);
}
// Parkstation-RandomAnnouncers Start
// foreach (var station in stationsToNotify)
// {
// ChatSystem.DispatchStationAnnouncement(
Expand All @@ -66,5 +67,6 @@ protected override void Started(EntityUid uid, RandomSentienceRuleComponent comp
("data", Loc.GetString($"random-sentience-event-data-{RobustRandom.Next(1, 6)}")),
("strength", Loc.GetString($"random-sentience-event-strength-{RobustRandom.Next(1, 8)}"))),
colorOverride: Color.Gold);
// Parkstation-RandomAnnouncers End
}
}
4 changes: 3 additions & 1 deletion Content.Server/StationEvents/Events/StationEventSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public abstract class StationEventSystem<T> : GameRuleSystem<T> where T : Compon
[Dependency] protected readonly SharedAudioSystem Audio = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] protected readonly StationSystem StationSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!;
[Dependency] private readonly AnnouncerSystem _announcerSystem = default!; // Parkstation-RandomAnnouncers

protected ISawmill Sawmill = default!;

Expand Down Expand Up @@ -97,8 +97,10 @@ protected override void Ended(EntityUid uid, T component, GameRuleComponent game

if (stationEvent.EndAnnouncement != null)
{
// Parkstation-RandomAnnouncers Start
// ChatSystem.DispatchGlobalAnnouncement(Loc.GetString(stationEvent.EndAnnouncement), playSound: false, colorOverride: Color.Gold);
_announcerSystem.SendAnnouncement($"{args.RuleId}complete", Filter.Broadcast(), Loc.GetString(stationEvent.EndAnnouncement), colorOverride: Color.Gold);
// Parkstation-RandomAnnouncers End
}

// Audio.PlayGlobal(stationEvent.EndAudio, Filter.Broadcast(), true);
Expand Down

0 comments on commit e28b29f

Please sign in to comment.