diff --git a/Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs b/Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs index 09f8ec35ee..1f9b2fbce5 100644 --- a/Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs +++ b/Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs @@ -26,10 +26,12 @@ public abstract class SharedGravityAnomalySystem : EntitySystem var range = component.MaxThrowRange * args.Severity; var strength = component.MaxThrowStrength * args.Severity; var lookup = _lookup.GetEntitiesInRange(uid, range, LookupFlags.Dynamic | LookupFlags.Sundries); + var xformQuery = GetEntityQuery(); + var worldPos = _xform.GetWorldPosition(xform, xformQuery); + foreach (var ent in lookup) { - var tempXform = Transform(ent); - var foo = tempXform.MapPosition.Position - xform.MapPosition.Position; + var foo = _xform.GetWorldPosition(ent, xformQuery) - worldPos; _throwing.TryThrow(ent, foo * 10, strength, uid, 0); } } @@ -48,11 +50,11 @@ public abstract class SharedGravityAnomalySystem : EntitySystem var range = component.MaxThrowRange * 2; var strength = component.MaxThrowStrength * 2; var lookup = _lookup.GetEntitiesInRange(uid, range, LookupFlags.Dynamic | LookupFlags.Sundries); + var xformQuery = GetEntityQuery(); + foreach (var ent in lookup) { - var tempXform = Transform(ent); - - var foo = tempXform.MapPosition.Position - xform.MapPosition.Position; + var foo = _xform.GetWorldPosition(ent, xformQuery) - worldPos; _throwing.TryThrow(ent, foo * 5, strength, uid, 0); } }