using Content.Shared.Emag.Systems; using Content.Shared.Tag; using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared.Emag.Components; /// /// This allows an entity to emag other entities upon interaction. /// [Access(typeof(EmagSystem))] [RegisterComponent, NetworkedComponent] [AutoGenerateComponentState] public sealed partial class EmagComponent : Component { /// /// The tag that marks an entity as immune to emags /// [DataField] [AutoNetworkedField] public ProtoId EmagImmuneTag = "EmagImmune"; /// /// What type of emag effect this device will do /// [DataField] [AutoNetworkedField] public EmagType EmagType = EmagType.Interaction; /// /// What sound should the emag play when used /// [DataField] [AutoNetworkedField] public SoundSpecifier EmagSound = new SoundCollectionSpecifier("sparks"); }