using Content.Shared.Inventory; namespace Content.Shared.EntityEffects.Effects.Transform; /// /// Deletes the entity. /// /// public sealed partial class DeleteEntityEntityEffectSystem : EntityEffectSystem { [Dependency] private InventorySystem _inventory = default!; [Dependency] private SharedTransformSystem _transform = default!; protected override void Effect(Entity entity, ref EntityEffectEvent args) { if (args.Effect.DropInventory) { foreach (var item in _inventory.GetHandOrInventoryEntities(entity.Owner)) { _transform.DropNextTo(item, entity.Owner); } } PredictedQueueDel(entity); } } /// public sealed partial class DeleteEntity : EntityEffectBase { /// /// Whether to drop the entity's inventory next to it before deleting it. /// [DataField] public bool DropInventory = true; }