using System.Runtime.CompilerServices; using Robust.Shared.Prototypes; namespace Content.Shared.Language; [Prototype("language")] public sealed class LanguagePrototype : IPrototype { [IdDataField] public string ID { get; private set; } = default!; /// /// If true, obfuscated phrases of creatures speaking this language will have their syllables replaced with "replacement" syllables. /// Otherwise entire sentences will be replaced. /// [DataField(required: true)] public bool ObfuscateSyllables; /// /// Lists all syllables that are used to obfuscate a message a listener cannot understand if obfuscateSyllables is true. /// Otherwise uses all possible phrases the creature can make when trying to say anything. /// [DataField(required: true)] public List Replacement = []; #region utility /// /// The in-world name of this language, localized. /// public string Name => Loc.GetString($"language-{ID}-name"); /// /// The in-world description of this language, localized. /// public string Description => Loc.GetString($"language-{ID}-description"); #endregion utility }