Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic Language Menu #936

Merged
merged 10 commits into from
Sep 20, 2024
2 changes: 1 addition & 1 deletion Content.Server/Traits/Assorted/ForeignerTraitComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public sealed partial class ForeignerTraitComponent : Component
{
/// <summary>
/// The "base" language that is to be removed and substituted with a translator.
/// By default, equals to the fallback language, which is GalacticCommon.
/// By default, equals to the fallback language, which is TauCetiBasic.
/// </summary>
[DataField]
public ProtoId<LanguagePrototype> BaseLanguage = SharedLanguageSystem.FallbackLanguagePrototype;
Expand Down
2 changes: 1 addition & 1 deletion Content.Shared/Language/Systems/SharedLanguageSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public abstract class SharedLanguageSystem : EntitySystem
/// The language used as a fallback in cases where an entity suddenly becomes a language speaker (e.g. the usage of make-sentient)
/// </summary>
[ValidatePrototypeId<LanguagePrototype>]
public static readonly string FallbackLanguagePrototype = "GalacticCommon";
public static readonly string FallbackLanguagePrototype = "TauCetiBasic";

/// <summary>
/// The language whose speakers are assumed to understand and speak every language. Should never be added directly.
Expand Down
10 changes: 5 additions & 5 deletions Resources/Locale/en-US/language/commands.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ command-list-langs-desc = List languages your current entity can speak at the cu
command-list-langs-help = Usage: {$command}

command-saylang-desc = Send a message in a specific language. To choose a language, you can use either the name of the language, or its position in the list of languages.
command-saylang-help = Usage: {$command} <language id> <message>. Example: {$command} GalacticCommon "Hello World!". Example: {$command} 1 "Hello World!"
command-saylang-help = Usage: {$command} <language id> <message>. Example: {$command} TauCetiBasic "Hello World!". Example: {$command} 1 "Hello World!"

command-language-select-desc = Select the currently spoken language of your entity. You can use either the name of the language, or its position in the list of languages.
command-language-select-help = Usage: {$command} <language id>. Example: {$command} 1. Example: {$command} GalacticCommon
command-language-select-help = Usage: {$command} <language id>. Example: {$command} 1. Example: {$command} TauCetiBasic

command-language-spoken = Spoken:
command-language-understood = Understood:
Expand All @@ -18,14 +18,14 @@ command-language-invalid-language = The language {$id} does not exist or you can
# toolshed

command-description-language-add = Adds a new language to the piped entity. The two last arguments indicate whether it should be spoken/understood. Example: 'self language:add "Canilunzt" true true'
command-description-language-rm = Removes a language from the piped entity. Works similarly to language:add. Example: 'self language:rm "GalacticCommon" true true'.
command-description-language-rm = Removes a language from the piped entity. Works similarly to language:add. Example: 'self language:rm "TauCetiBasic" true true'.
command-description-language-lsspoken = Lists all languages the entity can speak. Example: 'self language:lsspoken'
command-description-language-lsunderstood = Lists all languages the entity can understand. Example: 'self language:lssunderstood'

command-description-translator-addlang = Adds a new target language to the piped translator entity. See language:add for details.
command-description-translator-rmlang = Removes a target language from the piped translator entity. See language:rm for details.
command-description-translator-addrequired = Adds a new required language to the piped translator entity. Example: 'ent 1234 translator:addrequired "GalacticCommon"'
command-description-translator-rmrequired = Removes a required language from the piped translator entity. Example: 'ent 1234 translator:rmrequired "GalacticCommon"'
command-description-translator-addrequired = Adds a new required language to the piped translator entity. Example: 'ent 1234 translator:addrequired "TauCetiBasic"'
command-description-translator-rmrequired = Removes a required language from the piped translator entity. Example: 'ent 1234 translator:rmrequired "TauCetiBasic"'
command-description-translator-lsspoken = Lists all spoken languages for the piped translator entity. Example: 'ent 1234 translator:lsspoken'
command-description-translator-lsunderstood = Lists all understood languages for the piped translator entity. Example: 'ent 1234 translator:lssunderstood'
command-description-translator-lsrequired = Lists all required languages for the piped translator entity. Example: 'ent 1234 translator:lsrequired'
Expand Down
35 changes: 31 additions & 4 deletions Resources/Locale/en-US/language/languages.ftl
VMSolidus marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,46 @@ language-Draconic-name = Draconic
language-Draconic-description = The common language of lizard-people, composed of sibilant hisses and rattles.

language-SolCommon-name = Sol common
language-SolCommon-description = The language common to species from the Sol System.
language-SolCommon-description =
With its roots in Mandarin Chinese - Common evolved as the official language of the Sol Alliance - with officials working to tie it together with a common tongue.
It's spoken by state officials - taught in schools - and spoken by those who either feel a sense of national pride in the Alliance or otherwise fell sway to the culture.

language-TauCetiBasic-name = Tau-Ceti Basic
language-TauCetiBasic-description =
A spiritual successor of Esperanto, established in 2404 in Tau Ceti by Ceti intellectuals.
Its unique, fully customized alphabet and structure allow it to be spoken even by most alien species.
It's the official language of Tau Ceti and has growing traction in diplomatic circles and Universalists across human space.

language-Tradeband-name = Tradeband
language-Tradeband-description =
Descended from latin and romance languages of old Earth - Tradeband remains the main tongue of the upper class of humanity.
The language sounds elegant and well structured to most ears. It remains in popular use with traders - diplomats - and those seeking to hold onto a piece of a romantic past.

language-Freespeak-name = Freespeak
language-Freespeak-description =
A language of renegades and frontiersmen descending from various languages from Earth-- like Hindi,
combined into a multi-rooted jumble that sounds incoherent or even barbarian to non-native speakers.
This language is the only common cultural identity for humans in the frontier. Speaking this language in itself boldly declares the speaker a free spirit.
It is often called 'Gutter' by Alliance citizens.

language-Elyran-name = Elyran Standard
language-Elyran-description =
Elyran Standard is the official tongue of the Republic of Elyra. Constructed using elements of Farsi - Arabic - and Turkish.
Influence from all three of these languages can be seen throughout its grammar and vocabulary.

language-Canilunzt-name = Canilunzt
language-Canilunzt-description = The guttural language spoken and utilized by the inhabitants of the Vazzend system, composed of growls, barks, yaps, and heavy utilization of ears and tail movements. Vulpkanin speak this language with ease.
language-Canilunzt-description =
The guttural language spoken and utilized by the inhabitants of the Vazzend system,
composed of growls, barks, yaps, and heavy utilization of ears and tail movements. Vulpkanin speak this language with ease.

language-Moffic-name = Moffic
language-Moffic-description = The language of the mothpeople borders on complete unintelligibility.

language-RobotTalk-name = RobotTalk
language-RobotTalk-description = A language consisting of harsh binary chirps, whistles, hisses, and whines. Organic tongues cannot speak it without aid from special translators.

language-Sign-name = Galactic Sign Language
language-Sign-description = GSL for short, this sign language is prevalent among mute and deaf people.
language-Sign-name = Tau-Ceti Basic Sign Language
language-Sign-description = TCB-SL for short, this sign language is prevalent among mute and deaf people.

language-Cat-name = Cat
language-Cat-description = Meow
Expand Down
3 changes: 3 additions & 0 deletions Resources/Locale/en-US/loadouts/itemgroups.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,6 @@ character-item-group-LoadoutBartenderWeapon = Bartender Weapon

# Service - Musician
character-item-group-LoadoutMusicianInstruments = Musician Instruments

# Traits - Languages
character-item-group-TraitsLanguagesBasic = Basic Languages
1 change: 1 addition & 0 deletions Resources/Locale/en-US/traits/categories.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ trait-category-Mental = Mental
trait-category-Physical = Physical
trait-category-Speech = Speech
trait-category-Visual = Visual
trait-category-Language = Language
23 changes: 22 additions & 1 deletion Resources/Locale/en-US/traits/traits.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -152,9 +152,30 @@ trait-description-Lethargy =

trait-name-SignLanguage = Sign Language
trait-description-SignLanguage =
You can understand and use Galactic Sign Language (GSL).
You can understand and use Tau-Ceti Basic Sign Language (TCB-SL).
If you are mute for any reason, you can still communicate with sign language.

trait-name-SolCommon = Sol Common
trait-description-SolCommon =
With its roots in Mandarin Chinese - Common evolved as the official language of the Sol Alliance - with officials working to tie it together with a common tongue.
It's spoken by state officials - taught in schools - and spoken by those who either feel a sense of national pride in the Alliance or otherwise fell sway to the culture.

trait-name-Tradeband = Tradeband
trait-description-Tradeband =
Descended from latin and romance languages of old Earth - Tradeband remains the main tongue of the upper class of humanity.
The language sounds elegant and well structured to most ears. It remains in popular use with traders - diplomats - and those seeking to hold onto a piece of a romantic past.

trait-name-Freespeak = Freespeak (Gutter)
trait-description-Freespeak =
A language of renegades and frontiersmen descending from various languages from Earth like Hindi combined into a multi-rooted jumble that sounds incoherent or even barbarian to non-native speakers.
This language is the only common cultural identity for humans in the frontier. Speaking this language in itself boldly declares the speaker a free spirit.
Often called 'Gutter' by Alliance citizens.

trait-name-Elyran = Elyran Standard
trait-description-Elyran =
Elyran Standard is the official tongue of the Republic of Elyra.
Constructed using elements of Farsi - Arabic - and Turkish - influence from all three of these languages can be seen throughout its grammar and vocabulary.

trait-name-Voracious = Voracious
trait-description-Voracious =
Nothing gets between you and your food.
Expand Down
14 changes: 14 additions & 0 deletions Resources/Prototypes/CharacterItemGroups/languageGroups.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
- type: characterItemGroup
id: TraitsLanguagesBasic
maxItems: 1
items:
- type: trait
id: SignLanguage
- type: trait
id: SolCommon
- type: trait
id: Tradeband
- type: trait
id: Freespeak
- type: trait
id: Elyran
2 changes: 1 addition & 1 deletion Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/animals.yml
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,4 @@
- Dog
understands:
- Dog
- GalacticCommon
- TauCetiBasic
4 changes: 2 additions & 2 deletions Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/familiars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@
- NanoTrasen
- type: LanguageKnowledge
speaks:
- GalacticCommon
- TauCetiBasic
understands:
- GalacticCommon
- TauCetiBasic
- type: GhostTakeoverAvailable
- type: GhostRole
makeSentient: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
- Mouse
understands:
- Mouse
- GalacticCommon
- TauCetiBasic
- type: Tag
tags:
- VimPilot
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,10 @@
- type: Wagging
- type: LanguageKnowledge
speaks:
- GalacticCommon
- TauCetiBasic
- Canilunzt
understands:
- GalacticCommon
- TauCetiBasic
- Canilunzt
- type: ConsumeDelayModifier
foodDelayMultiplier: 0.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,10 +218,10 @@
- Normal
- type: LanguageKnowledge
speaks:
- GalacticCommon
- TauCetiBasic
- RobotTalk
understands:
- GalacticCommon
- TauCetiBasic
- RobotTalk
- type: PsionicInsulation

Expand Down
10 changes: 5 additions & 5 deletions Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1370,7 +1370,7 @@
understands:
- Monkey
- Kobold
- GalacticCommon
- TauCetiBasic
- type: NpcFactionMember
factions:
- Syndicate
Expand Down Expand Up @@ -2002,9 +2002,9 @@
bloodMaxVolume: 50
- type: LanguageKnowledge
speaks:
- GalacticCommon
- TauCetiBasic
understands:
- GalacticCommon
- TauCetiBasic

- type: entity
name: penguin
Expand Down Expand Up @@ -2903,7 +2903,7 @@
- Cat
understands:
- Cat
- GalacticCommon
- TauCetiBasic

- type: entity
name: space cat
Expand Down Expand Up @@ -3450,7 +3450,7 @@
speaks:
- RootSpeak
understands:
- GalacticCommon
- TauCetiBasic
- RootSpeak

- type: entity
Expand Down
2 changes: 1 addition & 1 deletion Resources/Prototypes/Entities/Mobs/NPCs/dogs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
- Dog
understands:
- Dog
- GalacticCommon
- TauCetiBasic

- type: entity
parent: MobPibble
Expand Down
20 changes: 10 additions & 10 deletions Resources/Prototypes/Entities/Mobs/NPCs/pets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
speaks:
- Dog
understands:
- GalacticCommon
- TauCetiBasic
- Dog

- type: entity
Expand Down Expand Up @@ -131,7 +131,7 @@
speaks:
- Cat
understands:
- GalacticCommon
- TauCetiBasic
- Cat

- type: entity
Expand All @@ -155,7 +155,7 @@
speaks:
- Cat
understands:
- GalacticCommon
- TauCetiBasic
- Cat

- type: entity
Expand Down Expand Up @@ -310,7 +310,7 @@
speaks:
- Dog
understands:
- GalacticCommon
- TauCetiBasic
- Dog
- type: InteractionPopup
successChance: 0.5
Expand Down Expand Up @@ -415,7 +415,7 @@
speaks:
- Dog
understands:
- GalacticCommon
- TauCetiBasic
- Dog
- type: InteractionPopup
successChance: 0.7
Expand Down Expand Up @@ -580,7 +580,7 @@
speaks:
- Fox
understands:
- GalacticCommon
- TauCetiBasic
- Fox

- type: entity
Expand Down Expand Up @@ -633,7 +633,7 @@
speaks:
- Mouse
understands:
- GalacticCommon
- TauCetiBasic
- Mouse

- type: entity
Expand Down Expand Up @@ -811,7 +811,7 @@
speaks:
- Bubblish
understands:
- GalacticCommon
- TauCetiBasic
- Bubblish

- type: entity
Expand Down Expand Up @@ -851,7 +851,7 @@
speaks:
- Monkey
understands:
- GalacticCommon
- TauCetiBasic
- Monkey
- Kobold

Expand Down Expand Up @@ -885,5 +885,5 @@
speaks:
- Crab
understands:
- GalacticCommon
- TauCetiBasic
- Crab
6 changes: 3 additions & 3 deletions Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,10 +120,10 @@
gender: male
- type: LanguageKnowledge
speaks:
- GalacticCommon
- TauCetiBasic
- Mouse
understands:
- GalacticCommon
- TauCetiBasic
- Mouse

- type: entity
Expand Down Expand Up @@ -301,7 +301,7 @@
speaks:
- Mouse
understands:
- GalacticCommon
- TauCetiBasic
- Mouse
- type: FireVisuals
sprite: Mobs/Effects/onfire.rsi
Expand Down
4 changes: 2 additions & 2 deletions Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@
- type: ZombieImmune
- type: LanguageKnowledge
speaks:
- GalacticCommon
- TauCetiBasic
- RobotTalk
understands:
- GalacticCommon
- TauCetiBasic
- RobotTalk
- type: PsionicInsulation

Expand Down
4 changes: 2 additions & 2 deletions Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml
Original file line number Diff line number Diff line change
Expand Up @@ -239,10 +239,10 @@
- CannotSuicide
- type: LanguageKnowledge
speaks:
- GalacticCommon
- TauCetiBasic
- Xeno
understands:
- GalacticCommon
- TauCetiBasic
- Xeno

- type: entity
Expand Down
Loading
Loading