using Robust.Shared.Prototypes;
namespace Content.Shared.Speech;
///
/// Handles replacing speech verbs and other conditional chat modifications like bolding or font type depending
/// on punctuation or by directly overriding the prototype.
///
[Prototype]
public sealed partial class SpeechVerbPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
///
/// Loc strings to be passed to the chat wrapper. 'says', 'states', etc.
/// Picks one at random if there are multiple.
///
[DataField("speechVerbStrings", required: true)]
public List SpeechVerbStrings = default!;
///
/// Should use of this speech verb bold the corresponding message?
///
[DataField("bold")]
public bool Bold = false;
///
/// What font size should be used for the message contents?
///
[DataField("fontSize")]
public int FontSize = 12;
///
/// What font prototype ID should be used for the message contents?
///
/// font proto is client only so cant lint this lol sorry
[DataField("fontId")]
public string FontId = "Default";
///
/// If multiple applicable speech verb protos are found (i.e. through speech suffixes) this will determine
/// which one is picked. Higher = more priority.
///
[DataField("priority")]
public int Priority = 0;
///
/// Name shown in the voicemask UI for this verb.
///
[DataField(required: true)]
public LocId Name = string.Empty;
}