From 00a58cf850464fffed159143e300e1d1d87c2338 Mon Sep 17 00:00:00 2001
From: Spatison <137375981+Spatison@users.noreply.github.com>
Date: Sun, 11 Aug 2024 13:54:50 +0300
Subject: [PATCH] fix: The message server can now be map (#606)
---
.../Cartridges/MessagesCartridgeSystem.cs | 2 +-
.../Radio/EntitySystems/MessagesServerSystem.cs | 15 +++++----------
2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/Content.Server/_White/CartridgeLoader/Cartridges/MessagesCartridgeSystem.cs b/Content.Server/_White/CartridgeLoader/Cartridges/MessagesCartridgeSystem.cs
index bde5100d2e..d1972868c3 100644
--- a/Content.Server/_White/CartridgeLoader/Cartridges/MessagesCartridgeSystem.cs
+++ b/Content.Server/_White/CartridgeLoader/Cartridges/MessagesCartridgeSystem.cs
@@ -170,7 +170,7 @@ public sealed class MessagesCartridgeSystem : EntitySystem
///
/// Updates the user's name in the storage component.
///
- private void SendName(EntityUid uid, MessagesCartridgeComponent component, CartridgeComponent cartComponent, string? address)
+ public void SendName(EntityUid uid, MessagesCartridgeComponent component, CartridgeComponent cartComponent, string? address)
{
TryGetMessagesUser(component, cartComponent, out var messagesUser);
diff --git a/Content.Server/_White/Radio/EntitySystems/MessagesServerSystem.cs b/Content.Server/_White/Radio/EntitySystems/MessagesServerSystem.cs
index c7aa982deb..4e0948ccd1 100644
--- a/Content.Server/_White/Radio/EntitySystems/MessagesServerSystem.cs
+++ b/Content.Server/_White/Radio/EntitySystems/MessagesServerSystem.cs
@@ -4,6 +4,7 @@ using Content.Server._White.Radio.Components;
using Content.Server.Administration.Logs;
using Content.Server.Chat.Systems;
using Content.Server.DeviceNetwork.Systems;
+using Content.Server.Station.Systems;
using Content.Shared._White.CartridgeLoader.Cartridges;
using Content.Shared.CartridgeLoader;
using Content.Shared.Database;
@@ -19,6 +20,7 @@ public sealed class MessagesServerSystem : EntitySystem
[Dependency] private readonly MessagesCartridgeSystem _messagesSystem = default!;
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
[Dependency] private readonly ChatSystem _chat = default!;
+ [Dependency] private readonly StationSystem _stationSystem = default!;
public override void Initialize()
{
@@ -30,19 +32,12 @@ public sealed class MessagesServerSystem : EntitySystem
private void OnInit(EntityUid uid, MessagesServerComponent component, ComponentInit args)
{
var query = EntityQueryEnumerator();
+ var stationId = _stationSystem.GetOwningStation(uid);
while (query.MoveNext(out var entityUid, out var cartridge))
{
- if (!TryComp(entityUid, out CartridgeComponent? cartComponent))
- continue;
-
- _messagesSystem.TryGetMessagesUser(cartridge, cartComponent, out var messagesUser);
-
- if (cartridge.UserUid == null || messagesUser.Name == Loc.GetString("messages-pda-unknown-name"))
- continue;
-
- component.Dictionary[cartridge.UserUid.Value] = messagesUser;
- cartridge.LastServer = uid;
+ if (stationId.HasValue && _singletonServerSystem.TryGetActiveServerAddress(stationId.Value, out var address) && TryComp(entityUid, out CartridgeComponent? cartComponent))
+ _messagesSystem.SendName(entityUid, cartridge, cartComponent, address);
}
}