From 9a8b9bcc6063da9ba72c374decc8a421fc550b71 Mon Sep 17 00:00:00 2001 From: ZekeSulastin Date: Sat, 29 Jun 2013 17:31:21 -0400 Subject: [PATCH 1/3] Added secondary language to char setup This allows for one secondary language to be selected per character. Whitelisting is done in alienwhitelist.txt via ckey; language options are specified by ckey - Language_Species, with Soghun for Unathi as with the normal whitelist. --- code/modules/client/preferences.dm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) 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 From 3c6c9ed30454717abc06407a03938c7bc011953a Mon Sep 17 00:00:00 2001 From: ZekeSulastin Date: Sat, 29 Jun 2013 17:32:48 -0400 Subject: [PATCH 2/3] Secondary language is saved in the char saves Also increments the max save version; previous saves are rendered compatible via sanity check assuming no secondary language. --- code/modules/client/preferences_savefile.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 From a928f4d5ec8e363b24bfa156469b8492b4c9c51b Mon Sep 17 00:00:00 2001 From: ZekeSulastin Date: Sat, 29 Jun 2013 17:33:44 -0400 Subject: [PATCH 3/3] New players spawn with selected secondary language As with the setup, this checks in alienwhitelist.txt for entries of the form ckey - Language_Species, with Soghun for Unathi. --- code/modules/mob/new_player/new_player.dm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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()