using System.Text.Json.Serialization; using JetBrains.Annotations; using Robust.Shared.Prototypes; namespace Content.Shared.EntityEffects; [ImplicitDataDefinitionForInheritors] [MeansImplicitUse] public abstract partial class EntityEffectCondition { [JsonPropertyName("id")] private protected string _id => this.GetType().Name; public abstract bool Condition(EntityEffectBaseArgs args); /// /// Effect explanations are of the form "[chance to] [action] when [condition] and [condition]" /// /// /// public abstract string GuidebookExplanation(IPrototypeManager prototype); }