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();
}