Make constructed hydro trays start empty (#19620)

This commit is contained in:
deltanedas
2023-09-05 21:15:06 +01:00
committed by GitHub
parent 048c7f8e04
commit 6d5c310b36
4 changed files with 941 additions and 928 deletions

View File

@@ -1,90 +1,93 @@
namespace Content.Server.Botany.Components
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Server.Botany.Components;
[RegisterComponent]
public sealed partial class PlantHolderComponent : Component
{
[RegisterComponent]
public sealed partial class PlantHolderComponent : Component
{
[ViewVariables]
public TimeSpan NextUpdate = TimeSpan.Zero;
public TimeSpan UpdateDelay = TimeSpan.FromSeconds(3);
[DataField("nextUpdate", customTypeSerializer: typeof(TimeOffsetSerializer))]
public TimeSpan NextUpdate = TimeSpan.Zero;
[ViewVariables(VVAccess.ReadWrite), DataField("updateDelay")]
public TimeSpan UpdateDelay = TimeSpan.FromSeconds(3);
[ViewVariables]
public int LastProduce;
[DataField("lastProduce")]
public int LastProduce;
[ViewVariables(VVAccess.ReadWrite)]
public int MissingGas;
[ViewVariables(VVAccess.ReadWrite), DataField("missingGas")]
public int MissingGas;
public readonly TimeSpan CycleDelay = TimeSpan.FromSeconds(15f);
[DataField("cycleDelay")]
public TimeSpan CycleDelay = TimeSpan.FromSeconds(15f);
[ViewVariables]
public TimeSpan LastCycle = TimeSpan.Zero;
[DataField("lastCycle", customTypeSerializer: typeof(TimeOffsetSerializer))]
public TimeSpan LastCycle = TimeSpan.Zero;
[ViewVariables(VVAccess.ReadWrite)]
public bool UpdateSpriteAfterUpdate;
[ViewVariables(VVAccess.ReadWrite), DataField("updateSpriteAfterUpdate")]
public bool UpdateSpriteAfterUpdate;
[ViewVariables(VVAccess.ReadWrite)] [DataField("drawWarnings")]
public bool DrawWarnings = false;
[ViewVariables(VVAccess.ReadWrite), DataField("drawWarnings")]
public bool DrawWarnings = false;
[ViewVariables(VVAccess.ReadWrite)]
public float WaterLevel = 100f;
[ViewVariables(VVAccess.ReadWrite), DataField("waterLevel")]
public float WaterLevel = 100f;
[ViewVariables(VVAccess.ReadWrite)]
public float NutritionLevel = 100f;
[ViewVariables(VVAccess.ReadWrite), DataField("nutritionLevel")]
public float NutritionLevel = 100f;
[ViewVariables(VVAccess.ReadWrite)]
public float PestLevel { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("pestLevel")]
public float PestLevel;
[ViewVariables(VVAccess.ReadWrite)]
public float WeedLevel { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("weedLevel")]
public float WeedLevel;
[ViewVariables(VVAccess.ReadWrite)]
public float Toxins { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("toxins")]
public float Toxins;
[ViewVariables(VVAccess.ReadWrite)]
public int Age { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("age")]
public int Age;
[ViewVariables(VVAccess.ReadWrite)]
public int SkipAging { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("skipAging")]
public int SkipAging;
[ViewVariables(VVAccess.ReadWrite)]
public bool Dead { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("dead")]
public bool Dead;
[ViewVariables(VVAccess.ReadWrite)]
public bool Harvest { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("harvest")]
public bool Harvest;
[ViewVariables(VVAccess.ReadWrite)]
public bool Sampled { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("sampled")]
public bool Sampled;
[ViewVariables(VVAccess.ReadWrite)]
public int YieldMod { get; set; } = 1;
[ViewVariables(VVAccess.ReadWrite), DataField("yieldMod")]
public int YieldMod = 1;
[ViewVariables(VVAccess.ReadWrite)]
public float MutationMod { get; set; } = 1f;
[ViewVariables(VVAccess.ReadWrite), DataField("mutationMod")]
public float MutationMod = 1f;
[ViewVariables(VVAccess.ReadWrite)]
public float MutationLevel { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("mutationLevel")]
public float MutationLevel;
[ViewVariables(VVAccess.ReadWrite)]
public float Health { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("health")]
public float Health;
[ViewVariables(VVAccess.ReadWrite)]
public float WeedCoefficient { get; set; } = 1f;
[ViewVariables(VVAccess.ReadWrite), DataField("weedCoefficient")]
public float WeedCoefficient = 1f;
[ViewVariables(VVAccess.ReadWrite)]
public SeedData? Seed { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("seed")]
public SeedData? Seed;
[ViewVariables(VVAccess.ReadWrite)]
public bool ImproperHeat { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("improperHeat")]
public bool ImproperHeat;
[ViewVariables(VVAccess.ReadWrite)]
public bool ImproperPressure { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("improperPressure")]
public bool ImproperPressure;
[ViewVariables(VVAccess.ReadWrite)]
public bool ImproperLight { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("improperLight")]
public bool ImproperLight;
[ViewVariables(VVAccess.ReadWrite)]
public bool ForceUpdate { get; set; }
[ViewVariables(VVAccess.ReadWrite), DataField("forceUpdate")]
public bool ForceUpdate;
[DataField("solution")]
public string SoilSolutionName { get; set; } = "soil";
}
[ViewVariables(VVAccess.ReadWrite), DataField("solution")]
public string SoilSolutionName = "soil";
}

File diff suppressed because it is too large Load Diff

View File

@@ -435,7 +435,7 @@
- type: Sprite
state: service
- type: MachineBoard
prototype: hydroponicsTray
prototype: HydroponicsTrayEmpty
materialRequirements:
# replacing the console screen
Glass: 5
@@ -975,4 +975,4 @@
materialRequirements:
Steel: 5
CableHV: 5
Uranium: 2
Uranium: 2

View File

@@ -89,3 +89,14 @@
- type: GuideHelp
guides:
- Botany
- type: entity
parent: hydroponicsTray
id: HydroponicsTrayEmpty
suffix: Empty
components:
- type: PlantHolder
waterLevel: 0
nutritionLevel: 0
# for the lights to update immediately
updateSpriteAfterUpdate: true