using Content.Shared.Chemistry.Reagent; using Content.Shared.FixedPoint; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; namespace Content.Shared.Random; /// /// Data that specifies reagents that share the same weight and quantity for use with WeightedRandomSolution. /// [Serializable, NetSerializable] [DataDefinition] public sealed class RandomFillSolution { /// /// Quantity of listed reagents. /// [DataField("quantity")] public FixedPoint2 Quantity = 0; /// /// Random weight of listed reagents. /// [DataField("weight")] public float Weight = 0; /// /// Listed reagents that the weight and quantity apply to. /// [DataField("reagents", required: true, customTypeSerializer: typeof(PrototypeIdListSerializer))] public List Reagents = new(); }