using Content.Shared.EntityEffects;
using Robust.Shared.Serialization;
namespace Content.Shared.Botany.Components;
///
/// 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;
///
/// The name of this mutation.
///
[DataField(required: true)]
public string Name;
///
/// The text to display to players when examining something with this mutation.
///
[DataField]
public LocId? Description;
///
/// The actual EntityEffect to apply to the target
///
[DataField(required: true)]
public EntityEffect Effect;
///
/// 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;
}