using Content.Shared.Cargo.Prototypes; using Robust.Shared.Prototypes; namespace Content.Server.Salvage.JobBoard; /// /// holds information for a station relating to the salvage job board /// [RegisterComponent] [Access(typeof(SalvageJobBoardSystem))] public sealed partial class SalvageJobsDataComponent : Component { /// /// A dictionary relating the number of completed jobs needed to the different ranks. /// [DataField] public SortedDictionary RankThresholds = new(); /// /// The rank given when all salvage jobs are complete. /// [DataField] public SalvageRankDatum MaxRank; /// /// A list of all completed jobs in order. /// [DataField] public List> CompletedJobs = new(); /// /// Account where rewards are deposited. /// [DataField] public ProtoId RewardAccount = "Cargo"; } /// /// Holds information about salvage job ranks /// [DataDefinition] public partial record struct SalvageRankDatum { /// /// The title displayed when this rank is reached /// [DataField] public LocId Title; /// /// The bounties associated with this rank. /// [DataField] public ProtoId? BountyGroup; /// /// The market that is unlocked when you reach this rank /// [DataField] public ProtoId? UnlockedMarket; }