]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix artifacts swapping places with ghosts (#35074)
authorTayrtahn <tayrtahn@gmail.com>
Wed, 19 Mar 2025 16:11:53 +0000 (12:11 -0400)
committerGitHub <noreply@github.com>
Wed, 19 Mar 2025 16:11:53 +0000 (12:11 -0400)
* Prevent artifacts swapping position with ghosts

* Filter for MobStateComponent instead

* Update Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/PortalArtifactSystem.cs

* bluh

Content.Server/Xenoarchaeology/XenoArtifacts/Effects/Systems/PortalArtifactSystem.cs

index b1a08fb5056094ac6d98144c8de9e915a89a9c5b..810d56e89bc2e2488cd4b5e84a2d76c0b1b73556 100644 (file)
@@ -1,6 +1,7 @@
 using Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Components;
 using Content.Server.Xenoarchaeology.XenoArtifacts.Events;
 using Content.Shared.Mind.Components;
+using Content.Shared.Mobs.Components;
 using Content.Shared.Teleportation.Systems;
 using Robust.Shared.Collections;
 using Robust.Shared.Containers;
@@ -25,8 +26,8 @@ public sealed class PortalArtifactSystem : EntitySystem
     {
         var map = Transform(artifact).MapID;
         var validMinds = new ValueList<EntityUid>();
-        var mindQuery = EntityQueryEnumerator<MindContainerComponent, TransformComponent, MetaDataComponent>();
-        while (mindQuery.MoveNext(out var uid, out var mc, out var xform, out var meta))
+        var mindQuery = EntityQueryEnumerator<MindContainerComponent, MobStateComponent, TransformComponent, MetaDataComponent>();
+        while (mindQuery.MoveNext(out var uid, out var mc, out _, out var xform, out var meta))
         {
             // check if the MindContainer has a Mind and if the entity is not in a container (this also auto excludes AI) and if they are on the same map
             if (mc.HasMind && !_container.IsEntityOrParentInContainer(uid, meta: meta, xform: xform) && xform.MapID == map)