using Robust.Shared.Prototypes; namespace Content.Shared.Implants.AddComponentsImplant; /// /// When added to an implanter will add the passed in components to the implanted entity. /// /// /// Warning: Multiple implants with this component adding the same components will not properly remove components /// unless removed in the inverse order of their injection (Last in, first out). /// [RegisterComponent] public sealed partial class AddComponentsImplantComponent : Component { /// /// What components will be added to the entity. If the component already exists, it will be skipped. /// [DataField(required: true)] public ComponentRegistry ComponentsToAdd; /// /// What components were added to the entity after implanted. Is used to know what components to remove. /// [DataField] public ComponentRegistry AddedComponents = new(); }