diff --git a/Content.Server/Botany/Components/PlantHolderComponent.cs b/Content.Server/Botany/Components/PlantHolderComponent.cs index 235cd3050b..d65e1b702b 100644 --- a/Content.Server/Botany/Components/PlantHolderComponent.cs +++ b/Content.Server/Botany/Components/PlantHolderComponent.cs @@ -7,8 +7,15 @@ namespace Content.Server.Botany.Components; [RegisterComponent] public sealed partial class PlantHolderComponent : Component { + /// + /// Game time for the next plant reagent update. + /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan NextUpdate = TimeSpan.Zero; + + /// + /// Time between plant reagent consumption updates. + /// [DataField] public TimeSpan UpdateDelay = TimeSpan.FromSeconds(3); @@ -18,18 +25,31 @@ public sealed partial class PlantHolderComponent : Component [DataField] public int MissingGas; + /// + /// Time between plant growth updates. + /// [DataField] public TimeSpan CycleDelay = TimeSpan.FromSeconds(15f); + /// + /// Game time when the plant last did a growth update. + /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan LastCycle = TimeSpan.Zero; + /// + /// Sound played when any reagent is transferred into the plant holder. + /// [DataField] public SoundSpecifier? WateringSound; [DataField] public bool UpdateSpriteAfterUpdate; + /// + /// Set to true if the plant holder displays plant warnings (e.g. water low) in the sprite and + /// examine text. Used to differentiate hydroponic trays from simple soil plots. + /// [DataField] public bool DrawWarnings = false; @@ -60,9 +80,16 @@ public sealed partial class PlantHolderComponent : Component [DataField] public bool Harvest; + /// + /// Set to true if this plant has been clipped by seed clippers. Used to prevent a single plant + /// from repeatedly being clipped. + /// [DataField] public bool Sampled; + /// + /// Multiplier for the number of entities produced at harvest. + /// [DataField] public int YieldMod = 1; @@ -81,15 +108,28 @@ public sealed partial class PlantHolderComponent : Component [DataField] public SeedData? Seed; + /// + /// True if the plant is losing health due to too high/low temperature. + /// [DataField] public bool ImproperHeat; + /// + /// True if the plant is losing health due to too high/low pressure. + /// [DataField] public bool ImproperPressure; + /// + /// Not currently used. + /// [DataField] public bool ImproperLight; + /// + /// Set to true to force a plant update (visuals, component, etc.) regardless of the current + /// update cycle time. Typically used when some interaction affects this plant. + /// [DataField] public bool ForceUpdate;