using Content.Shared.EntityEffects; using Robust.Shared.Serialization; namespace Content.Shared.Random; /// /// Data that specifies the odds and effects of possible random plant mutations. /// [Serializable, NetSerializable] [DataDefinition] public sealed partial class RandomPlantMutation { /// /// Odds of this mutation occurring with 1 point of mutation severity on a plant. /// [DataField] public float BaseOdds = 0; /// /// The name of this mutation. /// [DataField] public string Name = ""; /// /// The actual EntityEffect to apply to the target /// [DataField] public EntityEffect Effect = default!; /// /// This mutation will target the harvested produce /// [DataField] public bool AppliesToProduce = true; /// /// This mutation will target the growing plant as soon as this mutation is applied. /// [DataField] public bool AppliesToPlant = true; /// /// This mutation stays on the plant and its produce. If false while AppliesToPlant is true, the effect will run when triggered. /// [DataField] public bool Persists = true; }