mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-14 17:36:52 +01:00
Preferences fixes, ahoy! (#3045)
Fixes #1670 Fixes #1780 Fixes #1781 Fixes #1493
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
S["real_name"] >> pref.real_name
|
||||
S["gender"] >> pref.gender
|
||||
S["age"] >> pref.age
|
||||
S["species"] >> pref.species
|
||||
S["spawnpoint"] >> pref.spawnpoint
|
||||
S["OOC_Notes"] >> pref.metadata
|
||||
|
||||
@@ -14,6 +15,7 @@
|
||||
S["real_name"] << pref.real_name
|
||||
S["gender"] << pref.gender
|
||||
S["age"] << pref.age
|
||||
S["species"] << pref.species
|
||||
S["spawnpoint"] << pref.spawnpoint
|
||||
S["OOC_Notes"] << pref.metadata
|
||||
|
||||
@@ -22,7 +24,8 @@
|
||||
"gender",
|
||||
"age",
|
||||
"metadata",
|
||||
"spawnpoint",),
|
||||
"spawnpoint",
|
||||
"species"),
|
||||
"args" = list("id")))
|
||||
|
||||
/datum/category_item/player_setup_item/general/basic/gather_load_parameters()
|
||||
@@ -34,6 +37,7 @@
|
||||
"age",
|
||||
"metadata",
|
||||
"spawnpoint",
|
||||
"species",
|
||||
"id" = 1,
|
||||
"ckey" = 1))
|
||||
|
||||
@@ -43,6 +47,7 @@
|
||||
"age" = pref.age,
|
||||
"metadata" = pref.metadata,
|
||||
"spawnpoint" = pref.spawnpoint,
|
||||
"species" = pref.species,
|
||||
"id" = pref.current_character,
|
||||
"ckey" = pref.client.ckey)
|
||||
|
||||
@@ -66,6 +71,9 @@
|
||||
log_debug("SQL CHARACTER LOAD: Logic error, general/basic/load_special() didn't return any rows when it should have. Character ID: [pref.current_character].")
|
||||
|
||||
/datum/category_item/player_setup_item/general/basic/sanitize_character()
|
||||
if(!pref.species || !(pref.species in playable_species))
|
||||
pref.species = "Human"
|
||||
|
||||
pref.age = sanitize_integer(text2num(pref.age), pref.getMinAge(), pref.getMaxAge(), initial(pref.age))
|
||||
pref.gender = sanitize_inlist(pref.gender, valid_player_genders, pick(valid_player_genders))
|
||||
pref.real_name = sanitize_name(pref.real_name, pref.species)
|
||||
|
||||
@@ -48,12 +48,15 @@
|
||||
|
||||
var/list/bad_langs = pref.alternate_languages - langs
|
||||
if (bad_langs.len)
|
||||
to_chat(pref.client, "<span class='warning'>[bad_langs.len] invalid languages were found in your character setup!</span>")
|
||||
to_chat(pref.client, "<span class='warning'>[bad_langs.len] invalid language\s were found in your character setup! Please save your character again to stop this error from repeating!</span>")
|
||||
|
||||
for (var/L in bad_langs)
|
||||
to_chat(pref.client, "<span class='notice'>Removing the language \"[L]\" from your character.</span>")
|
||||
pref.alternate_languages -= L
|
||||
|
||||
var/datum/category_group/player_setup_category/cat = category
|
||||
cat.modified = TRUE
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/content()
|
||||
. += "<b>Languages</b><br>"
|
||||
var/datum/species/S = all_species[pref.species]
|
||||
|
||||
@@ -5,7 +5,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
sort_order = 3
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/load_character(var/savefile/S)
|
||||
S["species"] >> pref.species
|
||||
S["hair_red"] >> pref.r_hair
|
||||
S["hair_green"] >> pref.g_hair
|
||||
S["hair_blue"] >> pref.b_hair
|
||||
@@ -29,7 +28,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
pref.preview_icon = null
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/save_character(var/savefile/S)
|
||||
S["species"] << pref.species
|
||||
S["hair_red"] << pref.r_hair
|
||||
S["hair_green"] << pref.g_hair
|
||||
S["hair_blue"] << pref.b_hair
|
||||
@@ -52,27 +50,25 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
S["body_markings"] << pref.body_markings
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/gather_load_query()
|
||||
return list("ss13_characters" = list("vars" = list("species",
|
||||
"hair_colour",
|
||||
"facial_colour",
|
||||
"skin_tone" = "s_tone",
|
||||
"skin_colour",
|
||||
"hair_style" = "h_style",
|
||||
"facial_style" = "f_style",
|
||||
"eyes_colour",
|
||||
"b_type",
|
||||
"disabilities",
|
||||
"organs_data" = "organ_data",
|
||||
"organs_robotic" = "rlimb_data",
|
||||
"body_markings"),
|
||||
return list("ss13_characters" = list("vars" = list("hair_colour",
|
||||
"facial_colour",
|
||||
"skin_tone" = "s_tone",
|
||||
"skin_colour",
|
||||
"hair_style" = "h_style",
|
||||
"facial_style" = "f_style",
|
||||
"eyes_colour",
|
||||
"b_type",
|
||||
"disabilities",
|
||||
"organs_data" = "organ_data",
|
||||
"organs_robotic" = "rlimb_data",
|
||||
"body_markings"),
|
||||
"args" = list("id")))
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/gather_load_parameters()
|
||||
return list("id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/gather_save_query()
|
||||
return list("ss13_characters" = list("species",
|
||||
"hair_colour",
|
||||
return list("ss13_characters" = list("hair_colour",
|
||||
"facial_colour",
|
||||
"skin_tone",
|
||||
"skin_colour",
|
||||
@@ -88,8 +84,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
"ckey" = 1))
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/gather_save_parameters()
|
||||
return list("species" = pref.species,
|
||||
"hair_colour" = "#" + num2hex(pref.r_hair, 2) + num2hex(pref.g_hair, 2) + num2hex(pref.b_hair, 2),
|
||||
return list("hair_colour" = "#" + num2hex(pref.r_hair, 2) + num2hex(pref.g_hair, 2) + num2hex(pref.b_hair, 2),
|
||||
"facial_colour" = "#" + num2hex(pref.r_facial, 2) + num2hex(pref.g_facial, 2) + num2hex(pref.b_facial, 2),
|
||||
"skin_tone" = pref.s_tone,
|
||||
"skin_colour" = "#" + num2hex(pref.r_skin, 2) + num2hex(pref.g_skin, 2) + num2hex(pref.b_skin, 2),
|
||||
@@ -105,9 +100,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
"ckey" = pref.client.ckey)
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/sanitize_character(var/sql_load = 0)
|
||||
if(!pref.species || !(pref.species in playable_species))
|
||||
pref.species = "Human"
|
||||
|
||||
if (sql_load)
|
||||
pref.hair_colour = sanitize_hexcolor(pref.hair_colour)
|
||||
pref.r_hair = GetRedPart(pref.hair_colour)
|
||||
@@ -133,11 +125,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
pref.disabilities = text2num(pref.disabilities)
|
||||
|
||||
if (pref.organ_data)
|
||||
if (istext(pref.organ_data))
|
||||
pref.organ_data = params2list(pref.organ_data)
|
||||
if (pref.rlimb_data)
|
||||
if (istext(pref.rlimb_data))
|
||||
pref.rlimb_data = params2list(pref.rlimb_data)
|
||||
if (pref.body_markings)
|
||||
if (istext(pref.body_markings))
|
||||
var/before = pref.body_markings
|
||||
try
|
||||
pref.body_markings = json_decode(pref.body_markings)
|
||||
@@ -530,6 +522,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
if("Head")
|
||||
limb = "head"
|
||||
carries_organs = 1
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Cancelled.</span>")
|
||||
return TOPIC_NOACTION
|
||||
|
||||
var/list/available_states = list("Normal","Amputated","Prosthesis")
|
||||
if(carries_organs)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
"records_security" = "sec_record",
|
||||
"records_ccia" = "ccia_record"),
|
||||
"args" = list("char_id")),
|
||||
"ss13_characters" = list("vars" = list("home_system", "citizenship", "faction", "religion"), "args" = list("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)
|
||||
@@ -38,13 +38,14 @@
|
||||
"records_medical",
|
||||
"records_security",
|
||||
"char_id" = 1),
|
||||
"ss13_characters" = list("home_system", "citizenship", "faction", "religion", "id" = 1, "ckey" = 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,
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"flavour_hands" = "flavor_texts/hands",
|
||||
"flavour_legs" = "flavor_texts/legs",
|
||||
"flavour_feet" = "flavor_texts/feet",
|
||||
"robot_default" = "flavour_texts_robot/default",
|
||||
"robot_default" = "flavour_texts_robot/Default",
|
||||
"signature" = "signature",
|
||||
"signature_font" = "signfont")
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
"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"],
|
||||
"robot_default" = pref.flavour_texts_robot["Default"],
|
||||
"signature" = pref.signature,
|
||||
"signature_font" = pref.signfont)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user