using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Shared.Research.Prototypes;
///
/// This is a prototype for a research discipline, a category
/// that governs how s are unlocked.
///
[Prototype]
public sealed partial class TechDisciplinePrototype : IPrototype
{
///
[IdDataField]
public string ID { get; private set; } = default!;
///
/// Player-facing name.
/// Supports locale strings.
///
[DataField("name", required: true)]
public string Name = string.Empty;
///
/// A color used for UI
///
[DataField("color", required: true)]
public Color Color;
///
/// An icon used to visually represent the discipline in UI.
///
[DataField("icon")]
public SpriteSpecifier Icon = default!;
///
/// For each tier a discipline supports, what percentage
/// of the previous tier must be unlocked for it to become available
///
[DataField("tierPrerequisites", required: true)]
public Dictionary TierPrerequisites = new();
///
/// Purchasing this tier of technology causes a server to become "locked" to this discipline.
///
[DataField("lockoutTier")]
public int LockoutTier = 3;
}