"
- dat += "| [current_species.blurb] | "
- dat += ""
+ var/list/dat = list(
+ "",
+ "[current_species.name] \[change\] ",
+ "",
+ "",
+ "| [current_species.blurb] | ",
+ ""
+ )
if("preview" in icon_states(current_species.icobase))
var/curr_name = html_encode(current_species.name)
- usr << browse_rsc(icon(current_species.icobase,"preview"), "species_preview_[curr_name].png")
+ var/icon/preview = icon(current_species.icobase, "preview")
+ preview.Scale(64, 64) // Scale it here to stop it blurring.
+ usr << browse_rsc(preview, "species_preview_[curr_name].png")
dat += "
"
dat += "Language: [current_species.language] "
dat += ""
@@ -663,12 +687,12 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if(restricted == 1)
dat += "You cannot play as this species.If you wish to be whitelisted, you can make an application post on the forums."
else if(restricted == 2)
- dat += "You cannot play as this species.This species is not available for play as a station race.."
+ dat += "You cannot play as this species.This species is not available for play as a station race."
if(!restricted || check_rights(R_ADMIN, 0))
dat += "\[select\]"
dat += ""
- user << browse(dat, "window=species;size=700x400")
+ user << browse(dat.Join(), "window=species;size=700x400")
/*/datum/category_item/player_setup_item/general/body/proc/reset_limbs()
diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm
index 202feca293f..a2e6b3c8ef2 100644
--- a/code/modules/client/preference_setup/general/04_equipment.dm
+++ b/code/modules/client/preference_setup/general/04_equipment.dm
@@ -3,28 +3,54 @@
sort_order = 4
/datum/category_item/player_setup_item/general/equipment/load_character(var/savefile/S)
- S["underwear"] >> pref.underwear
- S["undershirt"] >> pref.undershirt
- S["socks"] >> pref.socks
- S["backbag"] >> pref.backbag
+ S["underwear"] >> pref.underwear
+ S["undershirt"] >> pref.undershirt
+ S["socks"] >> pref.socks
+ S["backbag"] >> pref.backbag
/datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S)
- S["underwear"] << pref.underwear
- S["undershirt"] << pref.undershirt
- S["socks"] << pref.socks
- S["backbag"] << pref.backbag
+ S["underwear"] << pref.underwear
+ S["undershirt"] << pref.undershirt
+ S["socks"] << pref.socks
+ S["backbag"] << pref.backbag
/datum/category_item/player_setup_item/general/equipment/gather_load_query()
- return list("ss13_characters" = list("vars" = list("underwear", "undershirt", "socks", "backbag"), "args" = list("id")))
+ return list(
+ "ss13_characters" = list(
+ "vars" = list(
+ "underwear",
+ "undershirt",
+ "socks",
+ "backbag"
+ ),
+ "args" = list("id")
+ )
+ )
/datum/category_item/player_setup_item/general/equipment/gather_load_parameters()
return list("id" = pref.current_character)
/datum/category_item/player_setup_item/general/equipment/gather_save_query()
- return list("ss13_characters" = list("underwear", "undershirt", "socks", "backbag", "id" = 1, "ckey" = 1))
+ return list(
+ "ss13_characters" = list(
+ "underwear",
+ "undershirt",
+ "socks",
+ "backbag",
+ "id" = 1,
+ "ckey" = 1
+ )
+ )
/datum/category_item/player_setup_item/general/equipment/gather_save_parameters()
- return list("underwear" = pref.underwear, "undershirt" = pref.undershirt, "socks" = pref.socks, "backbag" = pref.backbag, "id" = pref.current_character, "ckey" = pref.client.ckey)
+ return list(
+ "underwear" = pref.underwear,
+ "undershirt" = pref.undershirt,
+ "socks" = pref.socks,
+ "backbag" = pref.backbag,
+ "id" = pref.current_character,
+ "ckey" = pref.client.ckey
+ )
/datum/category_item/player_setup_item/general/equipment/sanitize_character(var/sql_load = 0)
if (sql_load)
@@ -42,11 +68,14 @@
pref.socks = null
/datum/category_item/player_setup_item/general/equipment/content()
- . += "Equipment: "
- . += "Underwear: [get_key_by_value(get_undies(),pref.underwear)] "
- . += "Undershirt: [get_key_by_value(undershirt_t,pref.undershirt)] "
- . += "Socks: [get_key_by_value(get_gender_socks(),pref.socks)] "
- . += "Backpack Type: [backbaglist[pref.backbag]] "
+ var/list/dat = list()
+ dat += "Equipment: "
+ dat += "Underwear: [get_key_by_value(get_undies(),pref.underwear)] "
+ dat += "Undershirt: [get_key_by_value(undershirt_t,pref.undershirt)] "
+ dat += "Socks: [get_key_by_value(get_gender_socks(),pref.socks)] "
+ dat += "Backpack Type: [backbaglist[pref.backbag]] "
+
+ . = dat.Join()
/datum/category_item/player_setup_item/general/equipment/proc/get_undies()
return pref.gender == MALE ? underwear_m : underwear_f
diff --git a/code/modules/client/preference_setup/general/05_background.dm b/code/modules/client/preference_setup/general/05_background.dm
index 00d5d1aef1a..05b0b114be6 100644
--- a/code/modules/client/preference_setup/general/05_background.dm
+++ b/code/modules/client/preference_setup/general/05_background.dm
@@ -3,55 +3,86 @@
sort_order = 5
/datum/category_item/player_setup_item/general/background/load_character(var/savefile/S)
- S["med_record"] >> pref.med_record
- S["sec_record"] >> pref.sec_record
- S["gen_record"] >> pref.gen_record
- S["home_system"] >> pref.home_system
- S["citizenship"] >> pref.citizenship
- S["faction"] >> pref.faction
- S["religion"] >> pref.religion
- S["nanotrasen_relation"] >> pref.nanotrasen_relation
+ S["med_record"] >> pref.med_record
+ S["sec_record"] >> pref.sec_record
+ S["gen_record"] >> pref.gen_record
+ S["home_system"] >> pref.home_system
+ S["citizenship"] >> pref.citizenship
+ S["faction"] >> pref.faction
+ S["religion"] >> pref.religion
+ S["nanotrasen_relation"] >> pref.nanotrasen_relation
/datum/category_item/player_setup_item/general/background/save_character(var/savefile/S)
- S["med_record"] << pref.med_record
- S["sec_record"] << pref.sec_record
- S["gen_record"] << pref.gen_record
- S["home_system"] << pref.home_system
- S["citizenship"] << pref.citizenship
- S["faction"] << pref.faction
- S["religion"] << pref.religion
- S["nanotrasen_relation"] << pref.nanotrasen_relation
+ S["med_record"] << pref.med_record
+ S["sec_record"] << pref.sec_record
+ S["gen_record"] << pref.gen_record
+ S["home_system"] << pref.home_system
+ S["citizenship"] << pref.citizenship
+ S["faction"] << pref.faction
+ S["religion"] << pref.religion
+ S["nanotrasen_relation"] << pref.nanotrasen_relation
/datum/category_item/player_setup_item/general/background/gather_load_query()
- return list("ss13_characters_flavour" = list("vars" = list("records_employment" = "gen_record",
- "records_medical" = "med_record",
- "records_security" = "sec_record",
- "records_ccia" = "ccia_record"),
- "args" = list("char_id")),
- "ss13_characters" = list("vars" = list("nt_relation" = "nanotrasen_relation" ,"home_system", "citizenship", "faction", "religion"), "args" = list("id")))
+ return list(
+ "ss13_characters_flavour" = list(
+ "vars" = list(
+ "records_employment" = "gen_record",
+ "records_medical" = "med_record",
+ "records_security" = "sec_record",
+ "records_ccia" = "ccia_record"
+ ),
+ "args" = list("char_id")
+ ),
+ "ss13_characters" = list(
+ "vars" = list(
+ "nt_relation" = "nanotrasen_relation",
+ "home_system",
+ "citizenship",
+ "faction",
+ "religion"
+ ),
+ "args" = list("id")
+ )
+ )
/datum/category_item/player_setup_item/general/background/gather_load_parameters()
- return list("id" = pref.current_character, "char_id" = pref.current_character)
+ return list(
+ "id" = pref.current_character,
+ "char_id" = pref.current_character
+ )
/datum/category_item/player_setup_item/general/background/gather_save_query()
- return list("ss13_characters_flavour" = list("records_employment",
- "records_medical",
- "records_security",
- "char_id" = 1),
- "ss13_characters" = list("nt_relation", "home_system", "citizenship", "faction", "religion", "id" = 1, "ckey" = 1))
+ return list(
+ "ss13_characters_flavour" = list(
+ "records_employment",
+ "records_medical",
+ "records_security",
+ "char_id" = 1
+ ),
+ "ss13_characters" = list(
+ "nt_relation",
+ "home_system",
+ "citizenship",
+ "faction",
+ "religion","id" = 1,
+ "ckey" = 1
+ )
+ )
/datum/category_item/player_setup_item/general/background/gather_save_parameters()
- return list("records_employment" = pref.gen_record,
- "records_medical" = pref.med_record,
- "records_security" = pref.sec_record,
- "char_id" = pref.current_character,
- "nt_relation" = pref.nanotrasen_relation,
- "home_system" = pref.home_system,
- "citizenship" = pref.citizenship,
- "faction" = pref.faction,
- "religion" = pref.religion,
- "id" = pref.current_character,
- "ckey" = pref.client.ckey)
+ return list(
+ "records_employment" = pref.gen_record,
+ "records_medical" = pref.med_record,
+ "records_security" = pref.sec_record,
+ "char_id" = pref.current_character,
+ "nt_relation" = pref.nanotrasen_relation,
+ "home_system" = pref.home_system,
+ "citizenship" = pref.citizenship,
+ "faction" = pref.faction,
+ "religion" = pref.religion,
+ "id" = pref.current_character,
+ "ckey" = pref.client.ckey
+ )
/datum/category_item/player_setup_item/general/background/sanitize_character()
if(!pref.home_system)
@@ -66,23 +97,27 @@
pref.nanotrasen_relation = sanitize_inlist(pref.nanotrasen_relation, COMPANY_ALIGNMENTS, initial(pref.nanotrasen_relation))
/datum/category_item/player_setup_item/general/background/content(var/mob/user)
- . += "Background Information "
- . += "[company_name] Relation: [pref.nanotrasen_relation] "
- . += "Home System: [pref.home_system] "
- . += "Citizenship: [pref.citizenship] "
- . += "Faction: [pref.faction] "
- . += "Religion: [pref.religion] "
+ var/list/dat = list(
+ "Background Information ",
+ "[company_name] Relation: [pref.nanotrasen_relation] ",
+ "Home System: [pref.home_system] ",
+ "Citizenship: [pref.citizenship] ",
+ "Faction: [pref.faction] ",
+ "Religion: [pref.religion] ",
+ " Records: "
+ )
- . += " Records: "
if(jobban_isbanned(user, "Records"))
- . += "You are banned from using character records. "
+ dat += "You are banned from using character records. "
else
- . += "Medical Records: "
- . += "[TextPreview(pref.med_record,40)]
"
- . += "Employment Records: "
- . += "[TextPreview(pref.gen_record,40)]
"
- . += "Security Records: "
- . += "[TextPreview(pref.sec_record,40)] "
+ dat += "Medical Records: "
+ dat += "[TextPreview(pref.med_record,40)]
"
+ dat += "Employment Records: "
+ dat += "[TextPreview(pref.gen_record,40)]
"
+ dat += "Security Records: "
+ dat += "[TextPreview(pref.sec_record,40)] "
+
+ . = dat.Join()
/datum/category_item/player_setup_item/general/background/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["nt_relation"])
diff --git a/code/modules/client/preference_setup/general/06_flavor.dm b/code/modules/client/preference_setup/general/06_flavor.dm
index d5d1103b090..17df0f742c4 100644
--- a/code/modules/client/preference_setup/general/06_flavor.dm
+++ b/code/modules/client/preference_setup/general/06_flavor.dm
@@ -3,78 +3,87 @@
sort_order = 6
/datum/category_item/player_setup_item/general/flavor/load_character(var/savefile/S)
- S["flavor_texts_general"] >> pref.flavor_texts["general"]
- S["flavor_texts_head"] >> pref.flavor_texts["head"]
- S["flavor_texts_face"] >> pref.flavor_texts["face"]
- S["flavor_texts_eyes"] >> pref.flavor_texts["eyes"]
- S["flavor_texts_torso"] >> pref.flavor_texts["torso"]
- S["flavor_texts_arms"] >> pref.flavor_texts["arms"]
- S["flavor_texts_hands"] >> pref.flavor_texts["hands"]
- S["flavor_texts_legs"] >> pref.flavor_texts["legs"]
- S["flavor_texts_feet"] >> pref.flavor_texts["feet"]
+ S["flavor_texts_general"] >> pref.flavor_texts["general"]
+ S["flavor_texts_head"] >> pref.flavor_texts["head"]
+ S["flavor_texts_face"] >> pref.flavor_texts["face"]
+ S["flavor_texts_eyes"] >> pref.flavor_texts["eyes"]
+ S["flavor_texts_torso"] >> pref.flavor_texts["torso"]
+ S["flavor_texts_arms"] >> pref.flavor_texts["arms"]
+ S["flavor_texts_hands"] >> pref.flavor_texts["hands"]
+ S["flavor_texts_legs"] >> pref.flavor_texts["legs"]
+ S["flavor_texts_feet"] >> pref.flavor_texts["feet"]
//Flavour text for robots.
S["flavour_texts_robot_Default"] >> pref.flavour_texts_robot["Default"]
for(var/module in robot_module_types)
S["flavour_texts_robot_[module]"] >> pref.flavour_texts_robot[module]
- S["signature"] >> pref.signature
- S["signfont"] >> pref.signfont
+ S["signature"] >> pref.signature
+ S["signfont"] >> pref.signfont
/datum/category_item/player_setup_item/general/flavor/save_character(var/savefile/S)
- S["flavor_texts_general"] << pref.flavor_texts["general"]
- S["flavor_texts_head"] << pref.flavor_texts["head"]
- S["flavor_texts_face"] << pref.flavor_texts["face"]
- S["flavor_texts_eyes"] << pref.flavor_texts["eyes"]
- S["flavor_texts_torso"] << pref.flavor_texts["torso"]
- S["flavor_texts_arms"] << pref.flavor_texts["arms"]
- S["flavor_texts_hands"] << pref.flavor_texts["hands"]
- S["flavor_texts_legs"] << pref.flavor_texts["legs"]
- S["flavor_texts_feet"] << pref.flavor_texts["feet"]
+ S["flavor_texts_general"] << pref.flavor_texts["general"]
+ S["flavor_texts_head"] << pref.flavor_texts["head"]
+ S["flavor_texts_face"] << pref.flavor_texts["face"]
+ S["flavor_texts_eyes"] << pref.flavor_texts["eyes"]
+ S["flavor_texts_torso"] << pref.flavor_texts["torso"]
+ S["flavor_texts_arms"] << pref.flavor_texts["arms"]
+ S["flavor_texts_hands"] << pref.flavor_texts["hands"]
+ S["flavor_texts_legs"] << pref.flavor_texts["legs"]
+ S["flavor_texts_feet"] << pref.flavor_texts["feet"]
S["flavour_texts_robot_Default"] << pref.flavour_texts_robot["Default"]
for(var/module in robot_module_types)
S["flavour_texts_robot_[module]"] << pref.flavour_texts_robot[module]
- S["signature"] << pref.signature
- S["signfont"] << pref.signfont
+ S["signature"] << pref.signature
+ S["signfont"] << pref.signfont
/datum/category_item/player_setup_item/general/flavor/gather_load_query()
- var/list/var_list = list("flavour_general" = "flavor_texts/general",
- "flavour_head" = "flavor_texts/head",
- "flavour_face" = "flavor_texts/face",
- "flavour_eyes" = "flavor_texts/eyes",
- "flavour_torso" = "flavor_texts/torso",
- "flavour_arms" = "flavor_texts/arms",
- "flavour_hands" = "flavor_texts/hands",
- "flavour_legs" = "flavor_texts/legs",
- "flavour_feet" = "flavor_texts/feet",
- "robot_default" = "flavour_texts_robot/Default",
- "signature" = "signature",
- "signature_font" = "signfont")
+ var/list/var_list = list(
+ "flavour_general" = "flavor_texts/general",
+ "flavour_head" = "flavor_texts/head",
+ "flavour_face" = "flavor_texts/face",
+ "flavour_eyes" = "flavor_texts/eyes",
+ "flavour_torso" = "flavor_texts/torso",
+ "flavour_arms" = "flavor_texts/arms",
+ "flavour_hands" = "flavor_texts/hands",
+ "flavour_legs" = "flavor_texts/legs",
+ "flavour_feet" = "flavor_texts/feet",
+ "robot_default" = "flavour_texts_robot/Default",
+ "signature" = "signature",
+ "signature_font" = "signfont"
+ )
for (var/module in robot_module_types)
var_list["robot_[module]"] = "flavour_texts_robot/[module]"
- return list("ss13_characters_flavour" = list("vars" = var_list, "args" = list("char_id")))
+ return list(
+ "ss13_characters_flavour" = list(
+ "vars" = var_list,
+ "args" = list("char_id")
+ )
+ )
/datum/category_item/player_setup_item/general/flavor/gather_load_parameters()
return list("char_id" = pref.current_character)
/datum/category_item/player_setup_item/general/flavor/gather_save_query()
- var/list/var_list = list("flavour_general",
- "flavour_head",
- "flavour_face",
- "flavour_eyes",
- "flavour_torso",
- "flavour_arms",
- "flavour_hands",
- "flavour_legs",
- "flavour_feet",
- "robot_default",
- "signature",
- "signature_font",
- "char_id" = 1)
+ var/list/var_list = list(
+ "flavour_general",
+ "flavour_head",
+ "flavour_face",
+ "flavour_eyes",
+ "flavour_torso",
+ "flavour_arms",
+ "flavour_hands",
+ "flavour_legs",
+ "flavour_feet",
+ "robot_default",
+ "signature",
+ "signature_font",
+ "char_id" = 1
+ )
for (var/module in robot_module_types)
var_list += "robot_[module]"
@@ -82,19 +91,21 @@
return list("ss13_characters_flavour" = var_list)
/datum/category_item/player_setup_item/general/flavor/gather_save_parameters()
- var/list/var_list = list("char_id" = pref.current_character,
- "flavour_general" = pref.flavor_texts["general"],
- "flavour_head" = pref.flavor_texts["head"],
- "flavour_face" = pref.flavor_texts["face"],
- "flavour_eyes" = pref.flavor_texts["eyes"],
- "flavour_torso" = pref.flavor_texts["torso"],
- "flavour_arms" = pref.flavor_texts["arms"],
- "flavour_hands" = pref.flavor_texts["hands"],
- "flavour_legs" = pref.flavor_texts["legs"],
- "flavour_feet" = pref.flavor_texts["feet"],
- "robot_default" = pref.flavour_texts_robot["Default"],
- "signature" = pref.signature,
- "signature_font" = pref.signfont)
+ var/list/var_list = list(
+ "char_id" = pref.current_character,
+ "flavour_general" = pref.flavor_texts["general"],
+ "flavour_head" = pref.flavor_texts["head"],
+ "flavour_face" = pref.flavor_texts["face"],
+ "flavour_eyes" = pref.flavor_texts["eyes"],
+ "flavour_torso" = pref.flavor_texts["torso"],
+ "flavour_arms" = pref.flavor_texts["arms"],
+ "flavour_hands" = pref.flavor_texts["hands"],
+ "flavour_legs" = pref.flavor_texts["legs"],
+ "flavour_feet" = pref.flavor_texts["feet"],
+ "robot_default" = pref.flavour_texts_robot["Default"],
+ "signature" = pref.signature,
+ "signature_font" = pref.signfont
+ )
for (var/module in robot_module_types)
var_list["robot_[module]"] += pref.flavour_texts_robot[module]
@@ -108,15 +119,18 @@
pref.signfont = "Verdana"
/datum/category_item/player_setup_item/general/flavor/content(var/mob/user)
- . += "Flavor: "
- . += "Set Flavor Text "
- . += "Set Robot Flavor Text "
- . += " "
- . += "Signature: [pref.signature] "
- . += "Edit Text | "
- . += "Edit Font | "
- . += "Help | "
- . += "Reset "
+ var/list/dat = list(
+ "Flavor: ",
+ "Set Flavor Text ",
+ "Set Robot Flavor Text ",
+ " ",
+ "Signature: [pref.signature] ",
+ "Edit Text | ",
+ "Edit Font | ",
+ "Help | ",
+ "Reset "
+ )
+ . = dat.Join()
/datum/category_item/player_setup_item/general/flavor/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["flavor_text"])
diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm
index 11854cb25d3..0ea67c910df 100644
--- a/code/modules/client/preference_setup/global/01_ui.dm
+++ b/code/modules/client/preference_setup/global/01_ui.dm
@@ -3,47 +3,74 @@
sort_order = 1
/datum/category_item/player_setup_item/player_global/ui/load_preferences(var/savefile/S)
- S["UI_style"] >> pref.UI_style
- S["UI_style_color"] >> pref.UI_style_color
- S["UI_style_alpha"] >> pref.UI_style_alpha
- S["ooccolor"] >> pref.ooccolor
+ S["UI_style"] >> pref.UI_style
+ S["UI_style_color"] >> pref.UI_style_color
+ S["UI_style_alpha"] >> pref.UI_style_alpha
+ S["ooccolor"] >> pref.ooccolor
/datum/category_item/player_setup_item/player_global/ui/save_preferences(var/savefile/S)
- S["UI_style"] << pref.UI_style
- S["UI_style_color"] << pref.UI_style_color
- S["UI_style_alpha"] << pref.UI_style_alpha
- S["ooccolor"] << pref.ooccolor
+ S["UI_style"] << pref.UI_style
+ S["UI_style_color"] << pref.UI_style_color
+ S["UI_style_alpha"] << pref.UI_style_alpha
+ S["ooccolor"] << pref.ooccolor
/datum/category_item/player_setup_item/player_global/ui/gather_load_query()
- return list("ss13_player_preferences" = list("vars" = list("UI_style", "UI_style_color", "UI_style_alpha", "ooccolor"), "args" = list("ckey")))
+ return list(
+ "ss13_player_preferences" = list(
+ "vars" = list(
+ "UI_style",
+ "UI_style_color",
+ "UI_style_alpha",
+ "ooccolor"
+ ),
+ "args" = list("ckey")
+ )
+ )
/datum/category_item/player_setup_item/player_global/ui/gather_load_parameters()
return list("ckey" = pref.client.ckey)
/datum/category_item/player_setup_item/player_global/ui/gather_save_query()
- return list("ss13_player_preferences" = list("UI_style", "UI_style_color", "UI_style_alpha", "ooccolor", "ckey" = 1))
+ return list(
+ "ss13_player_preferences" = list(
+ "UI_style",
+ "UI_style_color",
+ "UI_style_alpha",
+ "ooccolor",
+ "ckey" = 1
+ )
+ )
/datum/category_item/player_setup_item/player_global/ui/gather_save_parameters()
- return list("ckey" = pref.client.ckey, "UI_style_alpha" = pref.UI_style_alpha, "UI_style_color" = pref.UI_style_color, "UI_style" = pref.UI_style, "ooccolor" = pref.ooccolor)
+ return list(
+ "ckey" = pref.client.ckey,
+ "UI_style_alpha" = pref.UI_style_alpha,
+ "UI_style_color" = pref.UI_style_color,
+ "UI_style" = pref.UI_style,
+ "ooccolor" = pref.ooccolor
+ )
/datum/category_item/player_setup_item/player_global/ui/sanitize_preferences()
- pref.UI_style = sanitize_inlist(pref.UI_style, all_ui_styles, initial(pref.UI_style))
- pref.UI_style_color = sanitize_hexcolor(pref.UI_style_color, initial(pref.UI_style_color))
- pref.UI_style_alpha = sanitize_integer(text2num(pref.UI_style_alpha), 0, 255, initial(pref.UI_style_alpha))
- pref.ooccolor = sanitize_hexcolor(pref.ooccolor, initial(pref.ooccolor))
+ pref.UI_style = sanitize_inlist(pref.UI_style, all_ui_styles, initial(pref.UI_style))
+ pref.UI_style_color = sanitize_hexcolor(pref.UI_style_color, initial(pref.UI_style_color))
+ pref.UI_style_alpha = sanitize_integer(text2num(pref.UI_style_alpha), 0, 255, initial(pref.UI_style_alpha))
+ pref.ooccolor = sanitize_hexcolor(pref.ooccolor, initial(pref.ooccolor))
-/datum/category_item/player_setup_item/player_global/ui/content(var/mob/user)
- . += "UI Settings "
- . += "UI Style: [pref.UI_style] "
- . += "Custom UI (recommended for White UI): "
- . += "-Color: [pref.UI_style_color]��reset "
- . += "-Alpha(transparency): [pref.UI_style_alpha]�reset "
+/datum/category_item/player_setup_item/player_global/ui/content(mob/user)
+ var/list/dat = list()
+ dat += "UI Settings "
+ dat += "UI Style: [pref.UI_style] "
+ dat += "Custom UI (recommended for White UI): "
+ dat += "-Color: [pref.UI_style_color] [HTML_RECT(pref.UI_style_color)] - reset "
+ dat += "-Alpha(transparency): [pref.UI_style_alpha] - reset "
if(can_select_ooc_color(user))
- . += "OOC Color:�"
+ dat += "OOC Color: "
if(pref.ooccolor == initial(pref.ooccolor))
- . += "Using Default "
+ dat += "Using Default "
else
- . += "[pref.ooccolor] �reset "
+ dat += "[pref.ooccolor] [HTML_RECT(pref.ooccolor)] - reset "
+
+ . = dat.Join()
/datum/category_item/player_setup_item/player_global/ui/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["select_style"])
diff --git a/code/modules/client/preference_setup/global/02_settings.dm b/code/modules/client/preference_setup/global/02_settings.dm
index ba0f8c48991..1f7568e1c8d 100644
--- a/code/modules/client/preference_setup/global/02_settings.dm
+++ b/code/modules/client/preference_setup/global/02_settings.dm
@@ -3,68 +3,98 @@
sort_order = 2
/datum/category_item/player_setup_item/player_global/settings/load_preferences(var/savefile/S)
- S["lastchangelog"] >> pref.lastchangelog
- S["default_slot"] >> pref.default_slot
- S["toggles"] >> pref.toggles
- S["asfx_togs"] >> pref.asfx_togs
- S["motd_hash"] >> pref.motd_hash
- S["memo_hash"] >> pref.memo_hash
- S["parallax_speed"] >> pref.parallax_speed
- S["parallax_toggles"] >> pref.parallax_togs
+ S["lastchangelog"] >> pref.lastchangelog
+ S["default_slot"] >> pref.default_slot
+ S["toggles"] >> pref.toggles
+ S["asfx_togs"] >> pref.asfx_togs
+ S["motd_hash"] >> pref.motd_hash
+ S["memo_hash"] >> pref.memo_hash
+ S["parallax_speed"] >> pref.parallax_speed
+ S["parallax_toggles"] >> pref.parallax_togs
/datum/category_item/player_setup_item/player_global/settings/save_preferences(var/savefile/S)
- S["lastchangelog"] << pref.lastchangelog
- S["default_slot"] << pref.default_slot
- S["toggles"] << pref.toggles
- S["asfx_togs"] << pref.asfx_togs
- S["motd_hash"] << pref.motd_hash
- S["memo_hash"] << pref.memo_hash
- S["parallax_speed"] << pref.parallax_speed
+ S["lastchangelog"] << pref.lastchangelog
+ S["default_slot"] << pref.default_slot
+ S["toggles"] << pref.toggles
+ S["asfx_togs"] << pref.asfx_togs
+ S["motd_hash"] << pref.motd_hash
+ S["memo_hash"] << pref.memo_hash
+ S["parallax_speed"] << pref.parallax_speed
S["parallax_toggles"] << pref.parallax_togs
/datum/category_item/player_setup_item/player_global/settings/gather_load_query()
- return list("ss13_player_preferences" = list("vars" = list("lastchangelog", "current_character", "toggles", "asfx_togs", "lastmotd" = "motd_hash", "lastmemo" = "memo_hash"), "args" = list("ckey")))
+ return list(
+ "ss13_player_preferences" = list(
+ "vars" = list(
+ "lastchangelog",
+ "current_character",
+ "toggles",
+ "asfx_togs",
+ "lastmotd" = "motd_hash",
+ "lastmemo" = "memo_hash"
+ ),
+ "args" = list("ckey")
+ )
+ )
/datum/category_item/player_setup_item/player_global/settings/gather_load_parameters()
return list("ckey" = pref.client.ckey)
/datum/category_item/player_setup_item/player_global/settings/gather_save_query()
- return list("ss13_player_preferences" = list("lastchangelog", "current_character", "toggles", "asfx_togs", "lastmotd", "lastmemo", "ckey" = 1, "parallax_toggles", "parallax_speed"))
+ return list(
+ "ss13_player_preferences" = list(
+ "lastchangelog",
+ "current_character",
+ "toggles",
+ "asfx_togs",
+ "lastmotd",
+ "lastmemo",
+ "ckey" = 1,
+ "parallax_toggles",
+ "parallax_speed"
+ )
+ )
/datum/category_item/player_setup_item/player_global/settings/gather_save_parameters()
- return list("ckey" = pref.client.ckey,
- "lastchangelog" = pref.lastchangelog,
- "current_character" = pref.current_character,
- "toggles" = pref.toggles,
- "asfx_togs" = pref.asfx_togs,
- "lastmotd" = pref.motd_hash,
- "lastmemo" = pref.memo_hash,
- "parallax_toggles" = pref.parallax_togs,
- "parallax_speed" = pref.parallax_speed)
+ return list(
+ "ckey" = pref.client.ckey,
+ "lastchangelog" = pref.lastchangelog,
+ "current_character" = pref.current_character,
+ "toggles" = pref.toggles,
+ "asfx_togs" = pref.asfx_togs,
+ "lastmotd" = pref.motd_hash,
+ "lastmemo" = pref.memo_hash,
+ "parallax_toggles" = pref.parallax_togs,
+ "parallax_speed" = pref.parallax_speed
+ )
/datum/category_item/player_setup_item/player_global/settings/sanitize_preferences(var/sql_load = 0)
if (sql_load)
pref.current_character = text2num(pref.current_character)
- pref.lastchangelog = sanitize_text(pref.lastchangelog, initial(pref.lastchangelog))
- pref.default_slot = sanitize_integer(text2num(pref.default_slot), 1, config.character_slots, initial(pref.default_slot))
- pref.toggles = sanitize_integer(text2num(pref.toggles), 0, 65535, initial(pref.toggles))
- pref.asfx_togs = sanitize_integer(text2num(pref.asfx_togs), 0, 65535, initial(pref.toggles))
- pref.motd_hash = sanitize_text(pref.motd_hash, initial(pref.motd_hash))
- pref.memo_hash = sanitize_text(pref.memo_hash, initial(pref.memo_hash))
+ pref.lastchangelog = sanitize_text(pref.lastchangelog, initial(pref.lastchangelog))
+ pref.default_slot = sanitize_integer(text2num(pref.default_slot), 1, config.character_slots, initial(pref.default_slot))
+ pref.toggles = sanitize_integer(text2num(pref.toggles), 0, 65535, initial(pref.toggles))
+ pref.asfx_togs = sanitize_integer(text2num(pref.asfx_togs), 0, 65535, initial(pref.toggles))
+ pref.motd_hash = sanitize_text(pref.motd_hash, initial(pref.motd_hash))
+ pref.memo_hash = sanitize_text(pref.memo_hash, initial(pref.memo_hash))
pref.parallax_speed = sanitize_integer(text2num(pref.parallax_speed), 1, 10, initial(pref.parallax_speed))
pref.parallax_togs = sanitize_integer(text2num(pref.parallax_togs), 0, 65535, initial(pref.parallax_togs))
-/datum/category_item/player_setup_item/player_global/settings/content(var/mob/user)
- . += "Play admin midis: [(pref.toggles & SOUND_MIDI) ? "Yes" : "No"] "
- . += "Play lobby music: [(pref.toggles & SOUND_LOBBY) ? "Yes" : "No"] "
- . += "Ghost ears: [(pref.toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"] "
- . += "Ghost sight: [(pref.toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"] "
- . += "Ghost radio: [(pref.toggles & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"] "
- . += "Space Parallax: [(pref.parallax_togs & PARALLAX_SPACE) ? "Yes" : "No"] "
- . += "Space Dust: [(pref.parallax_togs & PARALLAX_DUST) ? "Yes" : "No"] "
- . += "Progress Bars: [(pref.parallax_togs & PROGRESS_BARS) ? "Yes" : "No"] "
- . += "Static Space: [(pref.parallax_togs & PARALLAX_IS_STATIC) ? "Yes" : "No"] "
+/datum/category_item/player_setup_item/player_global/settings/content(mob/user)
+ var/list/dat = list(
+ "Play admin midis: [(pref.toggles & SOUND_MIDI) ? "Yes" : "No"] ",
+ "Play lobby music: [(pref.toggles & SOUND_LOBBY) ? "Yes" : "No"] ",
+ "Ghost ears: [(pref.toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"] ",
+ "Ghost sight: [(pref.toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"] ",
+ "Ghost radio: [(pref.toggles & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"] ",
+ "Space Parallax: [(pref.parallax_togs & PARALLAX_SPACE) ? "Yes" : "No"] ",
+ "Space Dust: [(pref.parallax_togs & PARALLAX_DUST) ? "Yes" : "No"] ",
+ "Progress Bars: [(pref.parallax_togs & PROGRESS_BARS) ? "Yes" : "No"] ",
+ "Static Space: [(pref.parallax_togs & PARALLAX_IS_STATIC) ? "Yes" : "No"] "
+ )
+
+ . = dat.Join()
/datum/category_item/player_setup_item/player_global/settings/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["toggle"])
diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm
index 7d11f5b490e..2f50da219e3 100644
--- a/code/modules/client/preference_setup/occupation/occupation.dm
+++ b/code/modules/client/preference_setup/occupation/occupation.dm
@@ -34,26 +34,51 @@
S["player_alt_titles"] << pref.player_alt_titles
/datum/category_item/player_setup_item/occupation/gather_load_query()
- return list("ss13_characters" = list("vars" = list("jobs" = "unsanitized_jobs", "alternate_option", "alternate_titles" = "player_alt_titles"), "args" = list("id")))
+ return list(
+ "ss13_characters" = list(
+ "vars" = list(
+ "jobs" = "unsanitized_jobs",
+ "alternate_option",
+ "alternate_titles" = "player_alt_titles"
+ ),
+ "args" = list("id")
+ )
+ )
/datum/category_item/player_setup_item/occupation/gather_load_parameters()
return list("id" = pref.current_character)
/datum/category_item/player_setup_item/occupation/gather_save_query()
- return list("ss13_characters" = list("jobs", "alternate_option", "alternate_titles", "id" = 1, "ckey" = 1))
+ return list(
+ "ss13_characters" = list(
+ "jobs",
+ "alternate_option",
+ "alternate_titles",
+ "id" = 1,
+ "ckey" = 1
+ )
+ )
/datum/category_item/player_setup_item/occupation/gather_save_parameters()
- var/list/compiled_jobs = list("job_civilian_high" = pref.job_civilian_high,
- "job_civilian_med" = pref.job_civilian_med,
- "job_civilian_low" = pref.job_civilian_low,
- "job_medsci_high" = pref.job_medsci_high,
- "job_medsci_med" = pref.job_medsci_med,
- "job_medsci_low" = pref.job_medsci_low,
- "job_engsec_high" = pref.job_engsec_high,
- "job_engsec_med" = pref.job_engsec_med,
- "job_engsec_low" = pref.job_engsec_low)
+ var/list/compiled_jobs = list(
+ "job_civilian_high" = pref.job_civilian_high,
+ "job_civilian_med" = pref.job_civilian_med,
+ "job_civilian_low" = pref.job_civilian_low,
+ "job_medsci_high" = pref.job_medsci_high,
+ "job_medsci_med" = pref.job_medsci_med,
+ "job_medsci_low" = pref.job_medsci_low,
+ "job_engsec_high" = pref.job_engsec_high,
+ "job_engsec_med" = pref.job_engsec_med,
+ "job_engsec_low" = pref.job_engsec_low
+ )
- return list("jobs" = list2params(compiled_jobs), "alternate_option" = pref.alternate_option, "alternate_titles" = list2params(pref.player_alt_titles), "id" = pref.current_character, "ckey" = pref.client.ckey)
+ return list(
+ "jobs" = list2params(compiled_jobs),
+ "alternate_option" = pref.alternate_option,
+ "alternate_titles" = list2params(pref.player_alt_titles),
+ "id" = pref.current_character,
+ "ckey" = pref.client.ckey
+ )
/datum/category_item/player_setup_item/occupation/sanitize_character(var/sql_load = 0)
if (sql_load)
@@ -82,16 +107,16 @@
log_debug("LOADING: Bad job preference key: [preference].")
log_debug(e.desc)
- pref.alternate_option = sanitize_integer(text2num(pref.alternate_option), 0, 2, initial(pref.alternate_option))
- pref.job_civilian_high = sanitize_integer(text2num(pref.job_civilian_high), 0, 65535, initial(pref.job_civilian_high))
- pref.job_civilian_med = sanitize_integer(text2num(pref.job_civilian_med), 0, 65535, initial(pref.job_civilian_med))
- pref.job_civilian_low = sanitize_integer(text2num(pref.job_civilian_low), 0, 65535, initial(pref.job_civilian_low))
- pref.job_medsci_high = sanitize_integer(text2num(pref.job_medsci_high), 0, 65535, initial(pref.job_medsci_high))
- pref.job_medsci_med = sanitize_integer(text2num(pref.job_medsci_med), 0, 65535, initial(pref.job_medsci_med))
- pref.job_medsci_low = sanitize_integer(text2num(pref.job_medsci_low), 0, 65535, initial(pref.job_medsci_low))
- pref.job_engsec_high = sanitize_integer(text2num(pref.job_engsec_high), 0, 65535, initial(pref.job_engsec_high))
- pref.job_engsec_med = sanitize_integer(text2num(pref.job_engsec_med), 0, 65535, initial(pref.job_engsec_med))
- pref.job_engsec_low = sanitize_integer(text2num(pref.job_engsec_low), 0, 65535, initial(pref.job_engsec_low))
+ pref.alternate_option = sanitize_integer(text2num(pref.alternate_option), 0, 2, initial(pref.alternate_option))
+ pref.job_civilian_high = sanitize_integer(text2num(pref.job_civilian_high), 0, 65535, initial(pref.job_civilian_high))
+ pref.job_civilian_med = sanitize_integer(text2num(pref.job_civilian_med), 0, 65535, initial(pref.job_civilian_med))
+ pref.job_civilian_low = sanitize_integer(text2num(pref.job_civilian_low), 0, 65535, initial(pref.job_civilian_low))
+ pref.job_medsci_high = sanitize_integer(text2num(pref.job_medsci_high), 0, 65535, initial(pref.job_medsci_high))
+ pref.job_medsci_med = sanitize_integer(text2num(pref.job_medsci_med), 0, 65535, initial(pref.job_medsci_med))
+ pref.job_medsci_low = sanitize_integer(text2num(pref.job_medsci_low), 0, 65535, initial(pref.job_medsci_low))
+ pref.job_engsec_high = sanitize_integer(text2num(pref.job_engsec_high), 0, 65535, initial(pref.job_engsec_high))
+ pref.job_engsec_med = sanitize_integer(text2num(pref.job_engsec_med), 0, 65535, initial(pref.job_engsec_med))
+ pref.job_engsec_low = sanitize_integer(text2num(pref.job_engsec_low), 0, 65535, initial(pref.job_engsec_low))
if (!pref.player_alt_titles)
pref.player_alt_titles = new()
@@ -102,89 +127,91 @@
pref.player_alt_titles -= job.title
/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 16, list/splitJobs = list("Chief Medical Officer"))
-
- . += ""
- . += "Choose occupation chances Unavailable occupations are crossed out. "
- . += "" // Table within a table for alignment, also allows you to easily add more colomns.
- . += ""
+ var/list/dat = list(
+ "",
+ "Choose occupation chances Unavailable occupations are crossed out. ",
+ "", // Table within a table for alignment, also allows you to easily add more colomns.
+ ""
+ )
var/index = -1
//The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows.
var/datum/job/lastJob
for(var/datum/job/job in SSjobs.occupations)
-
index += 1
if((index >= limit) || (job.title in splitJobs))
if((index < limit) && (lastJob != null))
//If the cells were broken up by a job in the splitJob list then it will fill in the rest of the cells with
//the last job's selection color. Creating a rather nice effect.
for(var/i = 0, i < (limit - index), i += 1)
- . += "|   |   | "
- . += " | | "
+ dat += " | "
- . += " "
+ dat += " | "
switch(pref.alternate_option)
if(GET_RANDOM_JOB)
- . += " Get random job if preferences unavailable "
+ dat += " Get random job if preferences unavailable "
if(BE_ASSISTANT)
- . += " Be assistant if preference unavailable "
+ dat += " Be assistant if preference unavailable "
if(RETURN_TO_LOBBY)
- . += " Return to lobby if preference unavailable "
+ dat += " Return to lobby if preference unavailable "
- . += "\[Reset\]"
- . += ""
+ dat += "\[Reset\]"
+ dat += ""
+
+ . = dat.Join()
/datum/category_item/player_setup_item/occupation/OnTopic(href, href_list, user)
if(href_list["reset_jobs"])
diff --git a/code/modules/client/preference_setup/other/01_incidents.dm b/code/modules/client/preference_setup/other/01_incidents.dm
index f764373ca0e..ab09f454992 100644
--- a/code/modules/client/preference_setup/other/01_incidents.dm
+++ b/code/modules/client/preference_setup/other/01_incidents.dm
@@ -61,27 +61,30 @@
infraction.felony = text2num(char_infraction_query.item[11])
pref.incidents.Add(infraction)
-/datum/category_item/player_setup_item/other/incidents/content(var/mob/user)
- pref.incidents = list()
- . += "Incident Information "
- . += "The following incidents are on file for your character "
+/datum/category_item/player_setup_item/other/incidents/content(mob/user)
+ var/list/dat = list(
+ "Incident Information ",
+ "The following incidents are on file for your character "
+ )
for (var/datum/char_infraction/I in pref.incidents)
- . += " "
- . += "UID: [I.UID] "
- . += "Date/Time: [I.datetime] "
- . += "Charges: "
+ dat += " "
+ dat += "UID: [I.UID] "
+ dat += "Date/Time: [I.datetime] "
+ dat += "Charges: "
for (var/L in I.charges)
- . += "[L], "
+ dat += "[L], "
if (I.fine == 0)
- . += " Brig Sentence: [I.getBrigSentence()] "
+ dat += " Brig Sentence: [I.getBrigSentence()] "
else
- . += "Fine: [I.fine] Credits "
- . += "Notes: "
+ dat += "Fine: [I.fine] Credits "
+ dat += "Notes: "
if (I.notes != "")
- . += nl2br(I.notes)
+ dat += nl2br(I.notes)
else
- . += "- No Summary Entered -"
- . += " Show Details Delete Incident"
+ dat += "- No Summary Entered -"
+ dat += " Show Details Delete Incident"
+
+ . = dat.Join()
/datum/category_item/player_setup_item/other/incidents/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["del_sec_incident"])
diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm
index 724b348e64a..4e8fd3a99f7 100644
--- a/code/modules/client/preference_setup/preference_setup.dm
+++ b/code/modules/client/preference_setup/preference_setup.dm
@@ -7,6 +7,9 @@
#define SQL_CHARACTER 0x1
#define SQL_PREFERENCES 0x2
+// General-purpose helper for drawing a colored box.
+#define HTML_RECT(color) " "
+
/datum/category_group/player_setup_category/general_preferences
name = "General"
sort_order = 1
diff --git a/code/modules/client/preference_setup/skills/skills.dm b/code/modules/client/preference_setup/skills/skills.dm
index 169e003d0ba..33df0627a48 100644
--- a/code/modules/client/preference_setup/skills/skills.dm
+++ b/code/modules/client/preference_setup/skills/skills.dm
@@ -3,26 +3,46 @@
sort_order = 1
/datum/category_item/player_setup_item/skills/load_character(var/savefile/S)
- S["skills"] >> pref.skills
- S["used_skillpoints"] >> pref.used_skillpoints
- S["skill_specialization"] >> pref.skill_specialization
+ S["skills"] >> pref.skills
+ S["used_skillpoints"] >> pref.used_skillpoints
+ S["skill_specialization"] >> pref.skill_specialization
/datum/category_item/player_setup_item/skills/save_character(var/savefile/S)
- S["skills"] << pref.skills
- S["used_skillpoints"] << pref.used_skillpoints
- S["skill_specialization"] << pref.skill_specialization
+ S["skills"] << pref.skills
+ S["used_skillpoints"] << pref.used_skillpoints
+ S["skill_specialization"] << pref.skill_specialization
/datum/category_item/player_setup_item/skills/gather_load_query()
- return list("ss13_characters" = list("vars" = list("skills", "skill_specialization"), "args" = list("id")))
+ return list(
+ "ss13_characters" = list(
+ "vars" = list(
+ "skills",
+ "skill_specialization"
+ ),
+ "args" = list("id")
+ )
+ )
/datum/category_item/player_setup_item/skills/gather_load_parameters()
return list("id" = pref.current_character)
/datum/category_item/player_setup_item/skills/gather_save_query()
- return list("ss13_characters" = list("skills", "skill_specialization", "id" = 1, "ckey" = 1))
+ return list(
+ "ss13_characters" = list(
+ "skills",
+ "skill_specialization",
+ "id" = 1,
+ "ckey" = 1
+ )
+ )
/datum/category_item/player_setup_item/skills/gather_save_parameters()
- return list("skills" = list2params(pref.skills), "skill_specialization" = pref.skill_specialization, "id" = pref.current_character, "ckey" = pref.client.ckey)
+ return list(
+ "skills" = list2params(pref.skills),
+ "skill_specialization" = pref.skill_specialization,
+ "id" = pref.current_character,
+ "ckey" = pref.client.ckey
+ )
/datum/category_item/player_setup_item/skills/sanitize_character(var/sql_load = 0)
if (SKILLS == null)
@@ -45,27 +65,30 @@
pref.used_skillpoints = 0
/datum/category_item/player_setup_item/skills/content()
- . += "Select your Skills "
- . += "Current skill level: [pref.GetSkillClass(pref.used_skillpoints)] ([pref.used_skillpoints]) "
- . += "Use preconfigured skillset "
- . += ""
+ . = dat.Join()
/datum/category_item/player_setup_item/skills/OnTopic(href, href_list, user)
if(href_list["skillinfo"])
| |