using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.Speech.Components { [Prototype("accent")] public sealed partial class ReplacementAccentPrototype : IPrototype { [ViewVariables] [IdDataField] public string ID { get; private set; } = default!; /// /// If this array is non-null, the full text of anything said will be randomly replaced with one of these words. /// [DataField("fullReplacements")] public string[]? FullReplacements; /// /// If this dictionary is non-null and is null, any keys surrounded by spaces /// (words) will be replaced by the value, attempting to intelligently keep capitalization. /// [DataField("wordReplacements")] public Dictionary? WordReplacements; /// /// Allows you to substitute words, not always, but with some chance /// [DataField] public float ReplacementChance = 1f; } /// /// Replaces full sentences or words within sentences with new strings. /// [RegisterComponent] public sealed partial class ReplacementAccentComponent : Component { [DataField("accent", customTypeSerializer: typeof(PrototypeIdSerializer), required: true)] public string Accent = default!; } }