using System.Numerics; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Nutrition.AnimalHusbandry; /// /// This is used for marking entities as infants. /// Infants have half the size, visually, and cannot breed. /// [RegisterComponent, NetworkedComponent] public sealed partial class InfantComponent : Component { /// /// How long the entity remains an infant. /// [DataField("infantDuration")] public TimeSpan InfantDuration = TimeSpan.FromMinutes(3); /// /// The base scale of the entity /// [DataField("defaultScale")] public Vector2 DefaultScale = Vector2.One; /// /// The size difference of the entity while it's an infant. /// [DataField("visualScale")] public Vector2 VisualScale = new(.5f, .5f); /// /// When the entity will stop being an infant. /// [DataField("infantEndTime", customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan InfantEndTime; /// /// The entity's name before the "baby" prefix is added. /// [DataField("originalName")] public string OriginalName = string.Empty; }