using Content.Shared.Emag.Systems; using Content.Shared.Ninja.Systems; using Content.Shared.Tag; using Content.Shared.Whitelist; using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Ninja.Components; /// /// Component for emagging things on click. /// No charges but checks against a whitelist. /// [RegisterComponent, NetworkedComponent, Access(typeof(EmagProviderSystem))] public sealed partial class EmagProviderComponent : Component { /// /// The tag that marks an entity as immune to emagging. /// [DataField] public ProtoId AccessBreakerImmuneTag = "AccessBreakerImmune"; /// /// Whitelist that entities must be on to work. /// [DataField] public EntityWhitelist? Whitelist; /// /// What type of emag this will provide. /// [DataField] public EmagType EmagType = EmagType.Access; /// /// What sound should the emag play when used /// [DataField] public SoundSpecifier EmagSound = new SoundCollectionSpecifier("sparks"); }