using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Trigger.Components.Effects; /// /// Adds the specified components when triggered. /// If TargetUser is true they will be added to the user. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class AddComponentsOnTriggerComponent : BaseXOnTriggerComponent { /// /// The list of components that will be added. /// [DataField(required: true)] public ComponentRegistry Components = new(); /// /// If this component has been triggered at least once already. /// If this is true the components have been added. /// [DataField, AutoNetworkedField] public bool Triggered = false; /// /// If this effect can only be triggered once. /// [DataField, AutoNetworkedField] public bool TriggerOnce = false; /// /// Should components that already exist on the entity be overwritten? /// [DataField, AutoNetworkedField] public bool RemoveExisting = false; }