using Robust.Server.Containers; using Robust.Shared.Containers; namespace Content.Server.Destructible.Thresholds.Behaviors { /// /// Drop all items from specified containers /// [DataDefinition] public sealed partial class EmptyContainersBehaviour : IThresholdBehavior { [DataField("containers")] public List Containers = new(); public void Execute(EntityUid owner, DestructibleSystem system, EntityUid? cause = null) { if (!system.EntityManager.TryGetComponent(owner, out var containerManager)) return; var containerSys = system.EntityManager.System(); foreach (var containerId in Containers) { if (!containerSys.TryGetContainer(owner, containerId, out var container, containerManager)) continue; containerSys.EmptyContainer(container, true); } } } }