namespace Content.Server.Speech.Components;
///
/// Sends a random message from a list with a provided min/max time.
///
[RegisterComponent]
public sealed partial class RandomBarkComponent : Component
{
///
/// Should the message be sent to the chat log?
///
[DataField]
public bool ChatLog = false;
///
/// Minimum time an animal will go without speaking
///
[DataField]
public int MinTime = 45;
///
/// Maximum time an animal will go without speaking
///
[DataField]
public int MaxTime = 350;
///
/// Accumulator for counting time since the last bark
///
[DataField]
public float BarkAccumulator = 8f;
///
/// Multiplier applied to the random time. Good for changing the frequency without having to specify exact values
///
[DataField]
public float BarkMultiplier = 1f;
///
/// Bark type, for use in locales. Locale keys follow the format "bark-{type}-{index between 1 and BarkLocaleCount}".
///
[DataField]
public string BarkType = "default";
///
/// Number of bark locales. If not specified, then it will be figured out by fetching the locale string
/// with the key "bark-{type}-count" and parsing it as an integer.
///
[DataField]
public int? BarkLocaleCount = null;
}