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!;
}