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); } }