using Content.Shared.Atmos; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; namespace Content.Shared.Salvage.Expeditions.Modifiers; /// /// Prototype for a planet's air gas mixture. /// Used when creating the planet for a salvage expedition. /// Which one is selected depends on the mission difficulty, different weightedRandoms are picked from. /// [Prototype("salvageAirMod")] public sealed partial class SalvageAirMod : IPrototype, IBiomeSpecificMod { [IdDataField] public string ID { get; private set; } = default!; /// [DataField("desc")] public LocId Description { get; private set; } = string.Empty; /// [DataField("cost")] public float Cost { get; private set; } = 0f; /// [DataField("biomes", customTypeSerializer: typeof(PrototypeIdListSerializer))] public List? Biomes { get; private set; } = null; /// /// Set to true if this planet will have no atmosphere. /// [DataField("space")] public bool Space; /// /// Number of moles of each gas in the mixture. /// [DataField("gases")] public float[] Gases = new float[Atmospherics.AdjustedNumberOfGases]; }