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 text to display to players when examining something with this mutation.
///
[DataField]
public LocId? Description;
///
/// 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;
}