]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix NPC awake assert (#15783)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Tue, 25 Apr 2023 12:33:13 +0000 (22:33 +1000)
committerGitHub <noreply@github.com>
Tue, 25 Apr 2023 12:33:13 +0000 (22:33 +1000)
Content.Server/NPC/Systems/NPCSystem.cs

index 0689d5fdf46da48cb01b37727483eed248c5bc7b..fb45912482581802f807e7feee47d33e98e0a42d 100644 (file)
@@ -53,7 +53,7 @@ namespace Content.Server.NPC.Systems
 
         private void OnPlayerNPCDetach(EntityUid uid, NPCComponent component, PlayerDetachedEvent args)
         {
-            if (_mobState.IsIncapacitated(uid))
+            if (_mobState.IsIncapacitated(uid) || Deleted(uid))
                 return;
 
             WakeNPC(uid, component);
@@ -83,9 +83,9 @@ namespace Content.Server.NPC.Systems
         /// <summary>
         /// Is the NPC awake and updating?
         /// </summary>
-        public bool IsAwake(NPCComponent component, ActiveNPCComponent? active = null)
+        public bool IsAwake(EntityUid uid, NPCComponent component, ActiveNPCComponent? active = null)
         {
-            return Resolve(component.Owner, ref active, false);
+            return Resolve(uid, ref active, false);
         }
 
         /// <summary>
@@ -98,8 +98,8 @@ namespace Content.Server.NPC.Systems
                 return;
             }
 
-            _sawmill.Debug($"Waking {ToPrettyString(component.Owner)}");
-            EnsureComp<ActiveNPCComponent>(component.Owner);
+            _sawmill.Debug($"Waking {ToPrettyString(uid)}");
+            EnsureComp<ActiveNPCComponent>(uid);
         }
 
         public void SleepNPC(EntityUid uid, NPCComponent? component = null)
@@ -109,8 +109,8 @@ namespace Content.Server.NPC.Systems
                 return;
             }
 
-            _sawmill.Debug($"Sleeping {ToPrettyString(component.Owner)}");
-            RemComp<ActiveNPCComponent>(component.Owner);
+            _sawmill.Debug($"Sleeping {ToPrettyString(uid)}");
+            RemComp<ActiveNPCComponent>(uid);
         }
 
         /// <inheritdoc />