using Content.Shared.Roles;
using Content.Shared.StatusIcon;
using Robust.Shared.Prototypes;
namespace Content.Shared.Implants;
///
/// A chameleon clothing outfit. Used for the chameleon controller jobs! Has various fields to help describe a full
/// job - all the fields are optional and override each other if necessary so you should fill out the maximum amount
/// that make sense for the best outcome.
///
[Prototype]
public sealed partial class ChameleonOutfitPrototype : IPrototype
{
///
[ViewVariables, IdDataField]
public string ID { get; private set; } = string.Empty;
///
/// Job this outfit is based off of. Will use various things (job icon, job name, loadout etc...) for the outfit.
/// This has the lowest priority for clothing if the user has no custom loadout, but highest if they do.
///
[DataField]
public ProtoId? Job;
///
/// Name of the outfit. This will be used for varous things like the chameleon controller UI and the agent IDs job
/// name.
///
[DataField]
public LocId? Name;
///
/// This name is only used in the chameleon controller UI.
///
[DataField]
public LocId? LoadoutName;
///
/// Generic staring gear. Sometimes outfits don't have jobs but do have starting gear (E.g. Cluwne).
///
[DataField]
public ProtoId? StartingGear;
///
/// Icon for the outfit - used for stuff like the UI or agent ID.
///
[DataField]
public ProtoId? Icon;
[DataField]
public List>? Departments;
[DataField]
public bool HasMindShield;
///
/// Custom equipment for this specific chameleon outfit. If your making a new outfit that's just for the controller
/// use this! It can be mixed with the rest of the fields though, it just takes highest priority right under
/// user specified loadouts.
///
[DataField]
public Dictionary Equipment { get; set; } = new();
}