using Content.Shared.Language; using Content.Shared.Language.Systems; using Robust.Shared.Prototypes; namespace Content.Server.Traits.Assorted; /// /// When applied to a not-yet-spawned player entity, removes from the lists of their languages /// and gives them a translator instead. /// [RegisterComponent] public sealed partial class ForeignerTraitComponent : Component { /// /// The "base" language that is to be removed and substituted with a translator. /// By default, equals to the fallback language, which is TauCetiBasic. /// [DataField] public ProtoId BaseLanguage = SharedLanguageSystem.FallbackLanguagePrototype; /// /// Whether this trait prevents the entity from understanding the base language. /// [DataField] public bool CantUnderstand = true; /// /// Whether this trait prevents the entity from speaking the base language. /// [DataField] public bool CantSpeak = true; /// /// The base translator prototype to use when creating a translator for the entity. /// [DataField(required: true)] public EntProtoId BaseTranslator = default!; }