Fix ore bag not picking up artifact fragments (#21195)

This commit is contained in:
Stray-Pyramid
2023-10-24 19:20:46 +13:00
committed by GitHub
parent 51885f4b4a
commit 4bb355ab76
2 changed files with 1 additions and 15 deletions

View File

@@ -1,6 +1,4 @@
using Content.Shared.Inventory; using Content.Shared.Inventory;
using Content.Shared.Tag;
using Content.Shared.Whitelist;
namespace Content.Server.Storage.Components; namespace Content.Server.Storage.Components;
@@ -21,16 +19,4 @@ public sealed partial class MagnetPickupComponent : Component
[ViewVariables(VVAccess.ReadWrite), DataField("range")] [ViewVariables(VVAccess.ReadWrite), DataField("range")]
public float Range = 1f; public float Range = 1f;
[ValidatePrototypeId<TagPrototype>]
private const string DefaultTag = "Ore";
[ViewVariables(VVAccess.ReadWrite), DataField("whitelist")]
public EntityWhitelist? Whitelist = new()
{
Tags = new List<string>()
{
DefaultTag,
}
};
} }

View File

@@ -72,7 +72,7 @@ public sealed class MagnetPickupSystem : EntitySystem
foreach (var near in _lookup.GetEntitiesInRange(uid, comp.Range, LookupFlags.Dynamic | LookupFlags.Sundries)) foreach (var near in _lookup.GetEntitiesInRange(uid, comp.Range, LookupFlags.Dynamic | LookupFlags.Sundries))
{ {
if (comp.Whitelist?.IsValid(near, EntityManager) == false) if (storage.Whitelist?.IsValid(near, EntityManager) == false)
continue; continue;
if (!_physicsQuery.TryGetComponent(near, out var physics) || physics.BodyStatus != BodyStatus.OnGround) if (!_physicsQuery.TryGetComponent(near, out var physics) || physics.BodyStatus != BodyStatus.OnGround)