using Robust.Shared.Prototypes;
namespace Content.Shared.EntityEffects.Effects.Botany.PlantAttributes;
///
/// A type of which modifies the attribute of a Seed in a PlantHolder.
/// These are not modified by scale as botany has no concept of scale.
///
/// The effect inheriting this BaseEffect
///
public abstract partial class BasePlantAdjustAttribute : EntityEffectBase where T : BasePlantAdjustAttribute
{
///
/// How much we're adjusting the given attribute by.
///
[DataField]
public float Amount { get; protected set; } = 1;
///
/// Localisation key for the name of the adjusted attribute. Used for guidebook descriptions.
///
[DataField]
public abstract string GuidebookAttributeName { get; set; }
///
/// Whether the attribute in question is a good thing. Used for guidebook descriptions to determine the color of the number.
///
[DataField]
public virtual bool GuidebookIsAttributePositive { get; protected set; } = true;
public override string? EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) =>
Loc.GetString("entity-effect-guidebook-plant-attribute",
("attribute", Loc.GetString(GuidebookAttributeName)),
("amount", Amount.ToString("0.00")),
("positive", GuidebookIsAttributePositive),
("chance", Probability));
}