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