Merge remote-tracking branch 'upstream/master' into hate-upstream

This commit is contained in:
BongaTheProto
2023-10-20 22:29:47 -05:00
14 changed files with 122 additions and 7 deletions
+22
View File
@@ -402,6 +402,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/egg_shell = "chicken"
//SPLURT END
var/silicon_lawset
/datum/preferences/New(client/C)
parent = C
@@ -586,6 +588,20 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<a href='?_src_=prefs;preference=ai_core_icon;task=input'><b>Preferred AI Core Display:</b> [preferred_ai_core_display]</a><br>"
dat += "<a href='?_src_=prefs;preference=sec_dept;task=input'><b>Preferred Security Department:</b> [prefered_security_department]</a><BR>"
dat += "<h2>Silicon preferences</h2>"
if(!CONFIG_GET(flag/allow_silicon_choosing_laws))
dat += "<i>The server has disabled choosing your own laws, you can still choose and save, but it won't do anything in-game.</i><br>"
dat += "<b>Starting lawset:</b> <a href='?_src_=prefs;task=input;preference=silicon_lawset'>[silicon_lawset ? silicon_lawset : "Server default"]</a><br>"
if(silicon_lawset)
var/list/config_laws = CONFIG_GET(keyed_list/choosable_laws)
var/datum/ai_laws/law_datum = GLOB.all_law_datums[config_laws[silicon_lawset]]
if(law_datum)
dat += "<i>[law_datum]</i><br>"
dat += english_list(law_datum.get_law_list(TRUE),
"I was unable to find the laws for your lawset, sorry <font style='translate: rotate(90deg)'>:(</font>",
"<br>", "<br>")
dat += "</td></tr></table>"
//Character background
if(BACKGROUND_CHAR_TAB)
@@ -3202,6 +3218,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/pickedPDASkin = input(user, "Choose your PDA reskin.", "Character Preference", pda_skin) as null|anything in GLOB.pda_reskins
if(pickedPDASkin)
pda_skin = pickedPDASkin
if("silicon_lawset")
var/picked_lawset = input(user, "Choose your preferred lawset", "Silicon preference", silicon_lawset) as null|anything in list("None") + CONFIG_GET(keyed_list/choosable_laws)
if(picked_lawset)
if(picked_lawset == "None")
picked_lawset = null
silicon_lawset = picked_lawset
if ("max_chat_length")
var/desiredlength = input(user, "Choose the max character length of shown Runechat messages. Valid range is 1 to [CHAT_MESSAGE_MAX_LENGTH] (default: [initial(max_chat_length)]))", "Character Preference", max_chat_length) as null|num
if (!isnull(desiredlength))
+4 -1
View File
@@ -475,6 +475,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["pda_style"] >> pda_style
S["pda_color"] >> pda_color
S["pda_skin"] >> pda_skin
S["silicon_lawset"] >> silicon_lawset
// Custom hotkeys
S["key_bindings"] >> key_bindings
@@ -554,6 +555,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
pda_style = sanitize_inlist(pda_style, GLOB.pda_styles, initial(pda_style))
pda_color = sanitize_hexcolor(pda_color, 6, 1, initial(pda_color))
pda_skin = sanitize_inlist(pda_skin, GLOB.pda_reskins, PDA_SKIN_ALT)
silicon_lawset = sanitize_inlist(silicon_lawset, CONFIG_GET(keyed_list/choosable_laws), null)
screenshake = sanitize_integer(screenshake, 0, 800, initial(screenshake))
damagescreenshake = sanitize_integer(damagescreenshake, 0, 2, initial(damagescreenshake))
autostand = sanitize_integer(autostand, 0, 1, initial(autostand))
@@ -682,6 +684,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["pda_style"], pda_style)
WRITE_FILE(S["pda_color"], pda_color)
WRITE_FILE(S["pda_skin"], pda_skin)
WRITE_FILE(S["silicon_lawset"], silicon_lawset)
WRITE_FILE(S["key_bindings"], key_bindings)
WRITE_FILE(S["modless_key_bindings"], modless_key_bindings)
WRITE_FILE(S["favorite_outfits"], favorite_outfits)
@@ -1312,7 +1315,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(length(language))
// This line, prevents wiping their languages because the subsystem was not ready
var/list/all_possible_languages = length(SSlanguage.initialized) ? SSlanguage.languages_by_name : typesof(/datum/language)
var/list/all_possible_languages = SSlanguage.initialized ? SSlanguage.languages_by_name : typesof(/datum/language)
var/list/lang_names
// Subsystem ready, let's do it with our cached stuff
if(length(SSlanguage.languages_by_name))