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)); }