using Content.Shared.Random; using Content.Shared.Research.Prototypes; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Research.TechnologyDisk.Components; [RegisterComponent, NetworkedComponent] [AutoGenerateComponentState] public sealed partial class TechnologyDiskComponent : Component { /// /// A discipline to constrain the disk to. /// [DataField, AutoNetworkedField] public ProtoId? Discipline; /// /// A tier to constrain the disk to. /// [DataField, AutoNetworkedField] public int? Tier; /// /// The recipe that will be added. If null, one will be randomly generated /// [DataField, AutoNetworkedField] public List>? Recipes; /// /// A weighted random prototype for how rare each tier should be. /// [DataField] public ProtoId TierWeightPrototype = "TechDiskTierWeights"; /// /// Mapping of disk tiers to disk prices. /// [DataField] public Dictionary DiskPricePerTier = new() { [1] = 50, [2] = 135, [3] = 1000, }; }