using Content.Shared.Storage; using Robust.Shared.Network; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.Holiday.Christmas; /// /// This is used for granting items to lucky souls, exactly once. /// [RegisterComponent, Access(typeof(LimitedItemGiverSystem))] public sealed partial class LimitedItemGiverComponent : Component { /// /// Santa knows who you are behind the screen, only one gift per player per round! /// public readonly HashSet GrantedPlayers = new(); /// /// Selects what entities can be given out by the giver. /// [DataField("spawnEntries", required: true)] public List SpawnEntries = default!; /// /// The (localized) message shown upon receiving something. /// [DataField("receivedPopup", required: true)] public string ReceivedPopup = default!; /// /// The (localized) message shown upon being denied. /// [DataField("deniedPopup", required: true)] public string DeniedPopup = default!; /// /// The holiday required for this giver to work, if any. /// [DataField("requiredHoliday", customTypeSerializer: typeof(PrototypeIdSerializer)), ViewVariables(VVAccess.ReadWrite)] public string? RequiredHoliday = null; }