diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 64b6cec0e07..8d968e69c94 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -10,6 +10,26 @@ lose_text = "You can taste again!" medical_record_text = "Patient suffers from ageusia and is incapable of tasting food or reagents." +/datum/quirk/foreigner + name = "Foreigner" + desc = "You're not from around here. You don't know Galactic Common!" + value = 0 + gain_text = "The words being spoken around you don't make any sense." + lose_text = "You've developed fluency in Galactic Common." + medical_record_text = "Patient does not speak Galactic Common and may require an interpreter." + +/datum/quirk/foreigner/add() + var/mob/living/carbon/human/H = quirk_holder + H.add_blocked_language(/datum/language/common) + if(ishuman(H) || isfelinid(H)) + H.grant_language(/datum/language/uncommon) + +/datum/quirk/foreigner/remove() + var/mob/living/carbon/human/H = quirk_holder + H.remove_blocked_language(/datum/language/common) + if(ishuman(H) || isfelinid(H)) + H.remove_language(/datum/language/uncommon) + /datum/quirk/vegetarian name = "Vegetarian" desc = "You find the idea of eating meat morally and physically repulsive." diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index 39a287bdb55..65a817c6654 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -300,12 +300,14 @@ Key procs /datum/language_holder/synthetic understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM), + /datum/language/uncommon = list(LANGUAGE_ATOM), /datum/language/machine = list(LANGUAGE_ATOM), /datum/language/draconic = list(LANGUAGE_ATOM), /datum/language/moffic = list(LANGUAGE_ATOM), /datum/language/calcic = list(LANGUAGE_ATOM), /datum/language/voltaic = list(LANGUAGE_ATOM)) spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), + /datum/language/uncommon = list(LANGUAGE_ATOM), /datum/language/machine = list(LANGUAGE_ATOM), /datum/language/draconic = list(LANGUAGE_ATOM), /datum/language/moffic = list(LANGUAGE_ATOM), diff --git a/code/modules/language/uncommon.dm b/code/modules/language/uncommon.dm new file mode 100644 index 00000000000..baf943374e8 --- /dev/null +++ b/code/modules/language/uncommon.dm @@ -0,0 +1,19 @@ +/datum/language/uncommon + name = "Galactic Uncommon" + desc = "The second-most spoken Human language." + speech_verb = "says" + whisper_verb = "whispers" + sing_verb = "sings" + key = "!" + flags = TONGUELESS_SPEECH + space_chance = 50 + syllables = list( +"ba", "be", "bo", "ca", "ce", "co", "da", "de", "do", +"fa", "fe", "fo", "ga", "ge", "go", "ha", "he", "ho", +"ja", "je", "jo", "ka", "ke", "ko", "la", "le", "lo", +"ma", "me", "mo", "na", "ne", "no", "ra", "re", "ro", +"sa", "se", "so", "ta", "te", "to", "va", "ve", "vo", +"xa", "xe", "xo", "ya", "ye", "yo", "za", "ze", "zo" + ) + icon_state = "galuncom" + default_priority = 90 diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 4eb843fbec3..9e6ba502eb3 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -11,6 +11,7 @@ var/modifies_speech = FALSE var/static/list/languages_possible_base = typecacheof(list( /datum/language/common, + /datum/language/uncommon, /datum/language/draconic, /datum/language/codespeak, /datum/language/monkey, diff --git a/icons/misc/language.dmi b/icons/misc/language.dmi index ac2fbc9ade4..f2778625b27 100644 Binary files a/icons/misc/language.dmi and b/icons/misc/language.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 2e8b3082d27..ae7fcfc26ad 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2021,6 +2021,7 @@ #include "code\modules\language\swarmer.dm" #include "code\modules\language\sylvan.dm" #include "code\modules\language\terrum.dm" +#include "code\modules\language\uncommon.dm" #include "code\modules\language\voltaic.dm" #include "code\modules\language\xenocommon.dm" #include "code\modules\library\lib_codex_gigas.dm"