using Content.Server.Cargo.Systems; namespace Content.Server.Cargo.Components; /// /// Adds a random value between 0 and X to an entity's sell value. /// [RegisterComponent, Access(typeof(PricingSystem))] public sealed partial class RandomPriceComponent : Component { /// /// The max random price the entity may be priced at. Non-inclusive. /// [DataField(required: true)] public double MaxRandomPrice; /// /// How the random pricing modifier (0.0 - 1.0) should be distributed. /// [DataField] public RandomPricingCurve PricingCurve = RandomPricingCurve.Cubed; /// /// The generated price for the specific entity. /// [DataField] public double? RandomPrice = null; } /// /// The random distribution used when generating a random price. /// public enum RandomPricingCurve { Linear, Squared, Cubed, }