using Robust.Shared.Prototypes; namespace Content.Shared.EntityEffects.Effects.EntitySpawning; /// /// A type of for effects that spawn entities by prototype. /// /// The entity effect inheriting this BaseEffect /// public abstract partial class BaseSpawnEntityEntityEffect : EntityEffectBase where T : BaseSpawnEntityEntityEffect { /// /// Amount of entities we're spawning /// [DataField] public int Number = 1; /// /// Prototype of the entity we're spawning /// [DataField (required: true)] public EntProtoId Entity; /// /// Whether this spawning is predicted. Set false to not predict the spawn. /// Entities with animations or that have random elements when spawned should set this to false. /// [DataField] public bool Predicted = true; public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) => Loc.GetString("entity-effect-guidebook-spawn-entity", ("chance", Probability), ("entname", IoCManager.Resolve().Index(Entity).Name), ("amount", Number)); }