From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Tue, 24 Oct 2023 06:18:46 +0000 (-0400) Subject: fix magnet trigger for artifacts (#21213) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=ddf1fd98ff4acfc433d5bc4f2cd2a917446782f3;p=space-station-14.git fix magnet trigger for artifacts (#21213) --- diff --git a/Content.Server/Xenoarchaeology/XenoArtifacts/Triggers/Systems/ArtifactMagnetTriggerSystem.cs b/Content.Server/Xenoarchaeology/XenoArtifacts/Triggers/Systems/ArtifactMagnetTriggerSystem.cs index 0220c2ce1a..f51d617df8 100644 --- a/Content.Server/Xenoarchaeology/XenoArtifacts/Triggers/Systems/ArtifactMagnetTriggerSystem.cs +++ b/Content.Server/Xenoarchaeology/XenoArtifacts/Triggers/Systems/ArtifactMagnetTriggerSystem.cs @@ -6,7 +6,7 @@ using Content.Shared.Clothing; namespace Content.Server.Xenoarchaeology.XenoArtifacts.Triggers.Systems; /// -/// This handles... +/// This handles artifacts that are activated by magnets, both salvage and magboots. /// public sealed class ArtifactMagnetTriggerSystem : EntitySystem { @@ -22,20 +22,20 @@ public sealed class ArtifactMagnetTriggerSystem : EntitySystem { base.Update(frameTime); - var artifactQuery = EntityQuery().ToHashSet(); - if (!artifactQuery.Any()) + if (!EntityQuery().Any()) return; List toActivate = new(); //assume that there's more instruments than artifacts var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var magboot, out var magXform)) + while (query.MoveNext(out _, out var magboot, out var magXform)) { if (!magboot.On) continue; - foreach (var (trigger, xform) in artifactQuery) + var artiQuery = EntityQueryEnumerator(); + while (artiQuery.MoveNext(out var artifactUid, out var trigger, out var xform)) { if (!magXform.Coordinates.TryDistance(EntityManager, xform.Coordinates, out var distance)) continue; @@ -43,7 +43,7 @@ public sealed class ArtifactMagnetTriggerSystem : EntitySystem if (distance > trigger.Range) continue; - toActivate.Add(uid); + toActivate.Add(artifactUid); } }