using Robust.Shared.Prototypes; using Robust.Shared.Audio; namespace Content.Shared.Silicons.Laws.Components; /// /// This is used for an entity which grants laws to a /// [RegisterComponent, Access(typeof(SharedSiliconLawSystem))] public sealed partial class SiliconLawProviderComponent : Component { /// /// The id of the lawset that is being provided. /// [DataField(required: true)] public ProtoId Laws = string.Empty; /// /// Lawset created from the prototype id. /// Cached when getting laws and modified during an ion storm event and when emagged. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public SiliconLawset? Lawset; /// /// The sound that plays for the Silicon player /// when the law change is processed for the provider. /// [DataField] public SoundSpecifier? LawUploadSound = new SoundPathSpecifier("/Audio/Misc/cryo_warning.ogg"); /// /// Whether this silicon is subverted by an ion storm or emag. /// [DataField] public bool Subverted = false; }