diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index e6a76d88e8e..eee188945a0 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -64,6 +64,7 @@ datum/preferences var/g_eyes = 0 //Eye color var/b_eyes = 0 //Eye color var/species = "Human" + var/language = "None" //Secondary language //Mob preview var/icon/preview_icon_front = null @@ -251,6 +252,7 @@ datum/preferences dat += "(®)" dat += "
" dat += "Species: [species]
" + dat += "Secondary Language:
[language]
" dat += "Blood Type: [b_type]
" dat += "Skin Tone: [-s_tone + 35]/220
" //dat += "Skin pattern: Adjust
" @@ -851,6 +853,32 @@ datum/preferences s_tone = 0 + if("language") + var/list/new_language = list("None") + var/language_whitelisted = 0 + if(config.usealienwhitelist) + if(is_alien_whitelisted(user, "Language_Soghun")) + new_language += "Unathi" + language_whitelisted = 1 + if(is_alien_whitelisted(user, "Language_Tajaran")) + new_language += "Tajaran" + language_whitelisted = 1 + if(is_alien_whitelisted(user, "Language_Skrell")) + new_language += "Skrell" + language_whitelisted = 1 + if(is_alien_whitelisted(user, "Language_Kidan")) + new_language += "Kidan" + language_whitelisted = 1 + + if(!language_whitelisted) + alert(user, "You cannot select a secondary language as you need to be whitelisted. If you wish to enable a language, post in the Alien Whitelist forums.") + + else + new_language += "Unathi" + new_language += "Tajaran" + new_language += "Skrell" + new_language += "Kidan" + language = input("Please select a secondary language", "Character Generation", null) in new_language if("metadata") var/new_metadata = input(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , metadata) as message|null diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index d151999e654..43b779c28e5 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -1,5 +1,5 @@ #define SAVEFILE_VERSION_MIN 8 -#define SAVEFILE_VERSION_MAX 9 +#define SAVEFILE_VERSION_MAX 10 //handles converting savefiles to new formats //MAKE SURE YOU KEEP THIS UP TO DATE! @@ -103,6 +103,7 @@ S["gender"] >> gender S["age"] >> age S["species"] >> species + S["language"] >> language //colors to be consolidated into hex strings (requires some work with dna code) S["hair_red"] >> r_hair @@ -152,6 +153,7 @@ metadata = sanitize_text(metadata, initial(metadata)) real_name = reject_bad_name(real_name) if(isnull(species)) species = "Human" + if(isnull(language)) language = "None" if(isnull(nanotrasen_relation)) nanotrasen_relation = initial(nanotrasen_relation) if(!real_name) real_name = random_name() be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name)) @@ -206,6 +208,7 @@ S["gender"] << gender S["age"] << age S["species"] << species + S["language"] << language S["hair_red"] << r_hair S["hair_green"] << g_hair S["hair_blue"] << b_hair diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 7c9ef307e69..5e7c613004f 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -356,6 +356,20 @@ new_character.dna.mutantrace = "kidan" new_character.kidan_talk_understand = 1 + if(client.prefs.language == "Tajaran") + if(is_alien_whitelisted(src, "Language_Tajaran") || !config.usealienwhitelist) + new_character.tajaran_talk_understand = 1 + if(client.prefs.language == "Unathi") + if(is_alien_whitelisted(src, "Language_Soghun") || !config.usealienwhitelist) + new_character.soghun_talk_understand = 1 + if(client.prefs.language == "Skrell") + if(is_alien_whitelisted(src, "Language_Skrell") || !config.usealienwhitelist) + new_character.skrell_talk_understand = 1 + if(client.prefs.language == "Kidan") + if(is_alien_whitelisted(src, "Language_Kidan") || !config.usealienwhitelist) + new_character.kidan_talk_understand = 1 + + if(ticker.random_players) new_character.gender = pick(MALE, FEMALE) client.prefs.real_name = random_name()