Completes customizable language keys, now with savings

This commit is contained in:
Heroman
2022-08-21 09:04:29 +10:00
parent b3a5105fa3
commit 489047bdce
9 changed files with 79 additions and 21 deletions
+11 -6
View File
@@ -74,21 +74,21 @@
return
var/client/ghost_client = ghost.client
if(!is_alien_whitelisted(ghost, GLOB.all_species[ghost_client?.prefs?.species]) && !check_rights(R_ADMIN, 0)) // Prevents a ghost ghosting in on a slot and spawning via a resleever with race they're not whitelisted for, getting around normal join restrictions.
to_chat(ghost, "<span class='warning'>You are not whitelisted to spawn as this species!</span>")
return
/* // Comments out NO_SCAN restriction, as per headmin/maintainer request.
var/datum/species/chosen_species
if(ghost.client.prefs.species) // In case we somehow don't have a species set here.
chosen_species = GLOB.all_species[ghost_client.prefs.species]
if(chosen_species.flags && NO_SCAN) // Sanity. Prevents species like Xenochimera, Proteans, etc from rejoining the round via resleeve, as they should have their own methods of doing so already, as agreed to when you whitelist as them.
to_chat(ghost, "<span class='warning'>This species cannot be resleeved!</span>")
return
*/
//Name matching is ugly but mind doesn't persist to look at.
var/charjob
var/datum/data/record/record_found
@@ -132,7 +132,7 @@
else
spawn_slots --
return
if(tgui_alert(ghost, "Would you like to be resleeved?", "Resleeve", list("No","Yes")) == "No")
return
var/mob/living/carbon/human/new_character
@@ -152,7 +152,7 @@
ghost.mind.transfer_to(new_character)
new_character.key = player_key
//Were they any particular special role? If so, copy.
if(new_character.mind)
new_character.mind.loaded_from_ckey = picked_ckey
@@ -167,6 +167,11 @@
if(chosen_language)
if(is_lang_whitelisted(src,chosen_language) || (new_character.species && (chosen_language.name in new_character.species.secondary_langs)))
new_character.add_language(lang)
for(var/key in ghost_client.prefs.language_custom_keys)
if(ghost_client.prefs.language_custom_keys[key])
var/datum/language/keylang = GLOB.all_languages[ghost_client.prefs.language_custom_keys[key]]
if(keylang)
new_character.language_keys[key] = keylang
//If desired, apply equipment.
if(equip_body)