using Content.Shared.Ninja.Systems; using Content.Shared.Tag; using Content.Shared.Whitelist; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.Ninja.Components; /// /// Component for emagging things on click. /// No charges but checks against a whitelist. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(EmagProviderSystem))] public sealed partial class EmagProviderComponent : Component { /// /// The tag that marks an entity as immune to emagging. /// [DataField("emagImmuneTag", customTypeSerializer: typeof(PrototypeIdSerializer))] public string EmagImmuneTag = "EmagImmune"; /// /// Whitelist that entities must be on to work. /// [DataField("whitelist"), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] public EntityWhitelist? Whitelist = null; }