namespace Content.Server.Zombies; /// /// Indicates a zombie that is "alive", i.e not crit/dead. /// Causes it to emote when damaged. /// TODO: move this to generic EmoteWhenDamaged comp/system. /// [RegisterComponent] public sealed class ActiveZombieComponent : Component { /// /// What emote to preform. /// [ViewVariables(VVAccess.ReadWrite)] public string GroanEmoteId = "Scream"; /// /// Minimum time between groans. /// [ViewVariables(VVAccess.ReadWrite)] public TimeSpan DamageGroanCooldown = TimeSpan.FromSeconds(2); /// /// Chance to groan. /// public float DamageGroanChance = 0.5f; /// /// The last time the zombie groaned from taking damage. /// [ViewVariables(VVAccess.ReadWrite)] public TimeSpan LastDamageGroan = TimeSpan.Zero; }