using Content.Shared.Item; using Content.Shared.Whitelist; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared.Xenoarchaeology.XenoArtifacts; /// /// This is a prototype for... /// [Prototype] [DataDefinition] public sealed partial class ArtifactEffectPrototype : IPrototype { /// [IdDataField] public string ID { get; private set; } = default!; /// /// Components that are added to the artifact when the specfic effect is active. /// These are removed after the node is exited and the effect is changed. /// [DataField("components", serverOnly: true)] public ComponentRegistry Components = new(); /// /// Components that are permanently added to an entity when the effect's node is entered. /// [DataField("permanentComponents")] public ComponentRegistry PermanentComponents = new(); //TODO: make this a list so we can have multiple target depths [DataField("targetDepth")] public int TargetDepth = 0; [DataField("effectHint")] public string? EffectHint; [DataField("whitelist")] public EntityWhitelist? Whitelist; [DataField("blacklist")] public EntityWhitelist? Blacklist; }