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,
}