using Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Systems; using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Reagent; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; namespace Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Components; /// /// This is used for an artifact that creates a puddle of /// random chemicals upon being triggered. /// [RegisterComponent, Access(typeof(ChemicalPuddleArtifactSystem))] public sealed partial class ChemicalPuddleArtifactComponent : Component { /// /// The solution where all the chemicals are stored /// [DataField("chemicalSolution", required: true), ViewVariables(VVAccess.ReadWrite)] public Solution ChemicalSolution = default!; /// /// The different chemicals that can be spawned by this effect /// [DataField("possibleChemicals", required: true, customTypeSerializer: typeof(PrototypeIdListSerializer))] public List PossibleChemicals = default!; /// /// The number of chemicals in the puddle /// [DataField("chemAmount")] public int ChemAmount = 3; }