CatStation/Content.Server/Holiday/Christmas/RandomGiftComponent.cs
deltanedas cf7fde3d62
Big prototype and datafield cleanup (#45202)
* giant protoid cleanup

* yml changes

* !

---------

Co-authored-by: deltanedas <@deltanedas:goida.zip>
2026-08-12 02:07:22 +00:00

42 lines
1.2 KiB
C#

using Content.Shared.Whitelist;
using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
namespace Content.Server.Holiday.Christmas;
/// <summary>
/// This is used for gifts with COMPLETELY random things.
/// </summary>
[RegisterComponent, Access(typeof(RandomGiftSystem))]
public sealed partial class RandomGiftComponent : Component
{
/// <summary>
/// The wrapper entity to spawn when unwrapping the gift.
/// </summary>
[DataField(required: true)]
public EntProtoId Wrapper;
/// <summary>
/// A sound to play when the items are spawned. For example, gift boxes being unwrapped.
/// </summary>
[DataField(required: true)]
public SoundSpecifier? Sound;
/// <summary>
/// Whether or not the gift should be limited only to actual items.
/// </summary>
[DataField(required: true)]
public bool InsaneMode;
/// <summary>
/// What entities are allowed to examine this gift to see its contents.
/// </summary>
[DataField(required: true)]
public EntityWhitelist ContentsViewers = default!;
/// <summary>
/// The currently selected entity to give out. Used so contents viewers can see inside.
/// </summary>
[DataField]
public string? SelectedEntity;
}