]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix #22933 - Job-specific Uplink items leaking to non-job minds (#23179)
authorJ. Brown <DrMelon@users.noreply.github.com>
Thu, 22 Feb 2024 11:03:44 +0000 (11:03 +0000)
committerGitHub <noreply@github.com>
Thu, 22 Feb 2024 11:03:44 +0000 (22:03 +1100)
Fix for 22933 - SharedMindSystem now checks for VisitingMindComponent too.

Content.Shared/Mind/SharedMindSystem.cs

index 25e644c901c8be63b2f87dd9b993556d7ca01d89..1d6d052f9a144bc42c77b050ba5a90970b62aa8e 100644 (file)
@@ -399,7 +399,8 @@ public abstract class SharedMindSystem : EntitySystem
         EntityUid uid,
         out EntityUid mindId,
         [NotNullWhen(true)] out MindComponent? mind,
-        MindContainerComponent? container = null)
+        MindContainerComponent? container = null,
+        VisitingMindComponent? visitingmind = null)
     {
         mindId = default;
         mind = null;
@@ -408,7 +409,14 @@ public abstract class SharedMindSystem : EntitySystem
             return false;
 
         if (!container.HasMind)
-            return false;
+        {
+            // The container has no mind. Check for a visiting mind...
+            if (!Resolve(uid, ref visitingmind, false))
+                return false;
+
+            mindId = visitingmind.MindId ?? default;
+            return TryComp(mindId, out mind);
+        }
 
         mindId = container.Mind ?? default;
         return TryComp(mindId, out mind);