using Content.Shared.Preferences.Loadouts.Effects; using Content.Shared.Roles; using Robust.Shared.Prototypes; namespace Content.Shared.Preferences.Loadouts; /// /// Individual loadout item to be applied. /// [Prototype] public sealed partial class LoadoutPrototype : IPrototype, IEquipmentLoadout { [IdDataField] public string ID { get; private set; } = string.Empty; /* * You can either use an existing StartingGearPrototype or specify it inline to avoid bloating yaml. */ /// /// An entity whose sprite, name and description is used for display in the interface. If null, tries to get the proto of the item from gear (if it is a single item). /// [DataField] public EntProtoId? DummyEntity; [DataField] public ProtoId? StartingGear; /// /// Effects to be applied when the loadout is applied. /// These can also return true or false for validation purposes. /// [DataField] public List Effects = new(); /// [DataField] public Dictionary Equipment { get; set; } = new(); /// [DataField] public List Inhand { get; set; } = new(); /// [DataField] public Dictionary> Storage { get; set; } = new(); }