]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix research server test fail (#37562)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Sun, 18 May 2025 20:04:19 +0000 (16:04 -0400)
committerGitHub <noreply@github.com>
Sun, 18 May 2025 20:04:19 +0000 (13:04 -0700)
Content.Server/Research/Systems/ResearchSystem.Server.cs

index 09ca7ed15c27a264fe4855f571ab93b87ed54d10..431cde5177c0855baa91eca9c72d51eb2227db2b 100644 (file)
@@ -63,7 +63,7 @@ public sealed partial class ResearchSystem
     public void RegisterClient(EntityUid client, EntityUid server, ResearchClientComponent? clientComponent = null,
         ResearchServerComponent? serverComponent = null,  bool dirtyServer = true)
     {
-        if (!Resolve(client, ref clientComponent) || !Resolve(server, ref serverComponent))
+        if (!Resolve(client, ref clientComponent, false) || !Resolve(server, ref serverComponent, false))
             return;
 
         if (serverComponent.Clients.Contains(client))
@@ -73,7 +73,7 @@ public sealed partial class ResearchSystem
         clientComponent.Server = server;
         SyncClientWithServer(client, clientComponent: clientComponent);
 
-        if (dirtyServer)
+        if (dirtyServer && !TerminatingOrDeleted(server))
             Dirty(server, serverComponent);
 
         var ev = new ResearchRegistrationChangedEvent(server);
@@ -108,14 +108,14 @@ public sealed partial class ResearchSystem
     public void UnregisterClient(EntityUid client, EntityUid server, ResearchClientComponent? clientComponent = null,
         ResearchServerComponent? serverComponent = null, bool dirtyServer = true)
     {
-        if (!Resolve(client, ref clientComponent) || !Resolve(server, ref serverComponent))
+        if (!Resolve(client, ref clientComponent, false) || !Resolve(server, ref serverComponent, false))
             return;
 
         serverComponent.Clients.Remove(client);
         clientComponent.Server = null;
         SyncClientWithServer(client, clientComponent: clientComponent);
 
-        if (dirtyServer)
+        if (dirtyServer && !TerminatingOrDeleted(server))
         {
             Dirty(server, serverComponent);
         }