EmagComponent.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Content.Shared.Emag.Systems;
  2. using Content.Shared.Tag;
  3. using Robust.Shared.Audio;
  4. using Robust.Shared.GameStates;
  5. using Robust.Shared.Prototypes;
  6. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  7. using Robust.Shared.Serialization;
  8. namespace Content.Shared.Emag.Components;
  9. [Access(typeof(EmagSystem))]
  10. [RegisterComponent, NetworkedComponent]
  11. [AutoGenerateComponentState]
  12. public sealed partial class EmagComponent : Component
  13. {
  14. /// <summary>
  15. /// The tag that marks an entity as immune to emags
  16. /// </summary>
  17. [DataField]
  18. [AutoNetworkedField]
  19. public ProtoId<TagPrototype> EmagImmuneTag = "EmagImmune";
  20. /// <summary>
  21. /// What type of emag effect this device will do
  22. /// </summary>
  23. [DataField]
  24. [AutoNetworkedField]
  25. public EmagType EmagType = EmagType.Interaction;
  26. /// <summary>
  27. /// What sound should the emag play when used
  28. /// </summary>
  29. [DataField]
  30. [AutoNetworkedField]
  31. public SoundSpecifier EmagSound = new SoundCollectionSpecifier("sparks");
  32. }