mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 20:57:23 +01:00
Merge master into non-crew-role and fix a map
This commit is contained in:
@@ -14,12 +14,14 @@
|
||||
//CHOMPEdit Begin
|
||||
S["species"] >> pref.species
|
||||
//CHOMPEdit End
|
||||
S["language_custom_keys"] >> pref.language_custom_keys
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/save_character(var/savefile/S)
|
||||
S["language"] << pref.alternate_languages
|
||||
S["extra_languages"] << pref.extra_languages
|
||||
testing("LANGSANI: Saved to [pref.client]'s character [pref.real_name || "-name not yet loaded-"] savefile: [english_list(pref.alternate_languages || list())]")
|
||||
S["language_prefixes"] << pref.language_prefixes
|
||||
S["language_custom_keys"] << pref.language_custom_keys
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/sanitize_character()
|
||||
if(!islist(pref.alternate_languages)) pref.alternate_languages = list()
|
||||
@@ -43,6 +45,14 @@
|
||||
for(var/prefix in pref.language_prefixes)
|
||||
if(prefix in forbidden_prefixes)
|
||||
pref.language_prefixes -= prefix
|
||||
if(isnull(pref.language_custom_keys))
|
||||
pref.language_custom_keys = list()
|
||||
var/datum/species/S = GLOB.all_species[pref.species]
|
||||
for(var/key in pref.language_custom_keys)
|
||||
if(!pref.language_custom_keys[key])
|
||||
pref.language_custom_keys.Remove(key)
|
||||
if(!((pref.language_custom_keys[key] == S.language) || (pref.language_custom_keys[key] == S.default_language && S.default_language != S.language) || (pref.language_custom_keys[key] in pref.alternate_languages)))
|
||||
pref.language_custom_keys.Remove(key)
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/content()
|
||||
. += "<b>Languages</b><br>"
|
||||
@@ -51,14 +61,15 @@
|
||||
testing("LANGSANI: Truncated [pref.client]'s character [pref.real_name || "-name not yet loaded-"] language list because it was too long (len: [pref.alternate_languages.len], allowed: [S.num_alternate_languages])")
|
||||
pref.alternate_languages.len = (S.num_alternate_languages + pref.extra_languages) // Truncate to allowed length
|
||||
if(S.language)
|
||||
. += "- [S.language]<br>"
|
||||
. += "- [S.language] - <a href='?src=\ref[src];set_custom_key=[S.language]'>Set Custom Key</a><br>"
|
||||
if(S.default_language && S.default_language != S.language)
|
||||
. += "- [S.default_language]<br>"
|
||||
. += "- [S.default_language] - <a href='?src=\ref[src];set_custom_key=[S.default_language]'>Set Custom Key</a><br>"
|
||||
if(S.num_alternate_languages + pref.extra_languages)
|
||||
if(pref.alternate_languages.len)
|
||||
for(var/i = 1 to pref.alternate_languages.len)
|
||||
var/lang = pref.alternate_languages[i]
|
||||
. += "- [lang] - <a href='?src=\ref[src];remove_language=[i]'>remove</a><br>"
|
||||
. += "- [lang] - <a href='?src=\ref[src];remove_language=[i]'>remove</a> - <a href='?src=\ref[src];set_custom_key=[lang]'>Set Custom Key</a><br>"
|
||||
|
||||
if(pref.alternate_languages.len < (S.num_alternate_languages + pref.extra_languages))
|
||||
. += "- <a href='?src=\ref[src];add_language=1'>add</a> ([(S.num_alternate_languages + pref.extra_languages) - pref.alternate_languages.len] remaining)<br>"
|
||||
else
|
||||
@@ -125,4 +136,32 @@
|
||||
pref.language_prefixes = config.language_prefixes.Copy()
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["set_custom_key"])
|
||||
var/lang = href_list["set_custom_key"]
|
||||
if(!(lang in GLOB.all_languages))
|
||||
return TOPIC_REFRESH
|
||||
|
||||
var/oldkey = ""
|
||||
for(var/key in pref.language_custom_keys)
|
||||
if(pref.language_custom_keys[key] == lang)
|
||||
oldkey = key
|
||||
break
|
||||
|
||||
var/char = tgui_input_text(user, "Input a language key for [lang]. Input a single space to reset.", "Language Custom Key", oldkey)
|
||||
if(length(char) != 1)
|
||||
return TOPIC_REFRESH
|
||||
else if(char == " ")
|
||||
for(var/key in pref.language_custom_keys)
|
||||
if(pref.language_custom_keys[key] == lang)
|
||||
pref.language_custom_keys -= key
|
||||
break
|
||||
else if(contains_az09(char))
|
||||
if(!(char in pref.language_custom_keys))
|
||||
pref.language_custom_keys += char
|
||||
pref.language_custom_keys[char] = lang
|
||||
else
|
||||
tgui_alert_async(user, "Improper language key. Rejected.", "Error")
|
||||
|
||||
return TOPIC_REFRESH
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -364,6 +364,12 @@ var/list/_client_preferences_by_type
|
||||
enabled_description = "Popup New On Login"
|
||||
disabled_description = "Do Nothing"
|
||||
|
||||
/datum/client_preference/play_mentorhelp_ping
|
||||
description = "Mentorhelps"
|
||||
key = "SOUND_MENTORHELP"
|
||||
enabled_description = "Hear"
|
||||
disabled_description = "Silent"
|
||||
|
||||
/********************
|
||||
* Staff Preferences *
|
||||
********************/
|
||||
|
||||
@@ -282,6 +282,13 @@
|
||||
ckeywhitelist = list("coolcrow420")
|
||||
character_name = list("Jade Davis")
|
||||
|
||||
/datum/gear/fluff/m4il_hdd
|
||||
path = /obj/item/weapon/implant/language/fluff/m41l
|
||||
display_name = "dusty hard drive"
|
||||
slot = "implant"
|
||||
ckeywhitelist = list("coolcrow420")
|
||||
character_name = list("M41L")
|
||||
|
||||
// D CKEYS
|
||||
/datum/gear/fluff/dhaeleena_medal
|
||||
path = /obj/item/clothing/accessory/medal/silver/security/fluff/dhael
|
||||
|
||||
@@ -292,36 +292,13 @@ Talon jumpsuit
|
||||
path = /obj/item/clothing/under/undersuit/command
|
||||
|
||||
//Altevian Uniforms
|
||||
/datum/gear/uniform/job_altevian/cmd
|
||||
display_name = "altevian uniform, cmd"
|
||||
path = /obj/item/clothing/under/pants/altevian/command
|
||||
allowed_roles = list("Head of Security","Site Manager","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer")
|
||||
/datum/gear/uniform/altevian
|
||||
description = "An extremely comfortable set of clothing that's made to help people handle their day to day work around the fleets with little to no discomfort."
|
||||
display_name = "altevian uniform selection"
|
||||
|
||||
/datum/gear/uniform/job_altevian/sec
|
||||
display_name = "altevian uniform, sec"
|
||||
path = /obj/item/clothing/under/pants/altevian/security
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
/datum/gear/uniform/job_altevian/med
|
||||
display_name = "altevian uniform, med"
|
||||
path = /obj/item/clothing/under/pants/altevian/medical
|
||||
allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Paramedic","Geneticist","Field Medic","Psychiatrist")
|
||||
|
||||
/datum/gear/uniform/job_altevian/eng
|
||||
display_name = "altevian uniform, eng"
|
||||
path = /obj/item/clothing/under/pants/altevian/engineering
|
||||
allowed_roles = list("Chief Engineer","Atmospheric Technician","Engineer")
|
||||
|
||||
/datum/gear/uniform/job_altevian/sci
|
||||
display_name = "altevian uniform, sci"
|
||||
path = /obj/item/clothing/under/pants/altevian/science
|
||||
allowed_roles = list("Research Director", "Scientist", "Roboticist", "Xenobiologist", "Xenobotanist")
|
||||
|
||||
/datum/gear/uniform/job_altevian/crg
|
||||
display_name = "altevian uniform, cargo"
|
||||
path = /obj/item/clothing/under/pants/altevian/cargo
|
||||
allowed_roles = list("Quartermaster", "Cargo Technician", "Shaft Miner")
|
||||
|
||||
/datum/gear/uniform/job_altevian/civ
|
||||
display_name = "altevian uniform, civ"
|
||||
path = /obj/item/clothing/under/pants/altevian
|
||||
/datum/gear/uniform/altevian/New()
|
||||
..()
|
||||
var/list/pants = list()
|
||||
for(var/obj/item/clothing/under/pants/altevian/pants_type as anything in typesof(/obj/item/clothing/under/pants/altevian))
|
||||
pants[initial(pants_type.name)] = pants_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(pants))
|
||||
@@ -167,9 +167,9 @@
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/cap
|
||||
display_name = "facility director undercoat (Teshari)"
|
||||
display_name = "site manager undercoat (Teshari)"
|
||||
path = /obj/item/clothing/under/teshari/undercoat/jobs/cap
|
||||
allowed_roles = list("Facility Director")
|
||||
allowed_roles = list("Site Manager")
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/hop
|
||||
display_name = "head of personnel undercoat (Teshari)"
|
||||
@@ -276,9 +276,9 @@
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/suit/dept/cloak/cap
|
||||
display_name = "facility director cloak (Teshari)"
|
||||
display_name = "site manager cloak (Teshari)"
|
||||
path = /obj/item/clothing/suit/storage/teshari/cloak/jobs
|
||||
allowed_roles = list("Facility Director")
|
||||
allowed_roles = list("Site Manager")
|
||||
|
||||
/datum/gear/suit/dept/cloak/hop
|
||||
display_name = "head of personnel cloak (Teshari)"
|
||||
|
||||
Reference in New Issue
Block a user