using Content.Shared.Random; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.Salvage.Expeditions; [DataDefinition] public partial record struct SalvageMobEntry() : IBudgetEntry { /// /// Cost for this mob in a budget. /// [ViewVariables(VVAccess.ReadWrite), DataField("cost")] public float Cost { get; set; } = 1f; /// /// Probability to spawn this mob. Summed with everything else for the faction. /// [ViewVariables(VVAccess.ReadWrite), DataField("prob")] public float Prob { get; set; } = 1f; [ViewVariables(VVAccess.ReadWrite), DataField("proto", required: true, customTypeSerializer:typeof(PrototypeIdSerializer))] public string Proto { get; set; } = string.Empty; }