Partially implement loading

TODO: sanitization
This commit is contained in:
skull132
2016-11-21 01:01:40 +02:00
parent e6c4b2a648
commit cc1d254b6a
15 changed files with 180 additions and 10 deletions
@@ -19,6 +19,15 @@
S["spawnpoint"] << pref.spawnpoint
S["OOC_Notes"] << pref.metadata
/datum/category_item/player_setup_item/general/basic/gather_load_query()
return list("ss13_characters" = list("vars" = list("name" = "real_name",
"random_name" = "be_random_name",
"gender",
"age",
"metadata",
"spawnpoint"),
"args" = list("id")))
/datum/category_item/player_setup_item/general/basic/sanitize_character()
pref.age = sanitize_integer(pref.age, AGE_MIN, AGE_MAX, initial(pref.age))
pref.gender = sanitize_inlist(pref.gender, valid_player_genders, pick(valid_player_genders))
@@ -8,6 +8,9 @@
/datum/category_item/player_setup_item/general/language/save_character(var/savefile/S)
S["language"] << pref.alternate_languages
/datum/category_item/player_setup_item/general/language/gather_load_query()
return list("ss13_characters" = list("vars" = list("language" = "alternate_languages"), "args" = list("id")))
/datum/category_item/player_setup_item/general/language/sanitize_character()
if(!islist(pref.alternate_languages)) pref.alternate_languages = list()
@@ -48,6 +48,21 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
S["organ_data"] << pref.organ_data
S["rlimb_data"] << pref.rlimb_data
/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"),
"args" = list("id")))
/datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S)
if(!pref.species || !(pref.species in playable_species))
pref.species = "Human"
@@ -210,7 +225,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.species = href_list["set_species"]
if(prev_species != pref.species)
mob_species = all_species[pref.species]
//grab one of the valid hair styles for the newly chosen species
var/list/valid_hairstyles = list()
for(var/hairstyle in hair_styles_list)
@@ -14,6 +14,9 @@
S["backbag"] << pref.backbag
S["gear"] << pref.gear
/datum/category_item/player_setup_item/general/equipment/gather_load_query()
return list("ss13_characters" = list("vars" = list("underwear", "undershirt", "backbag", "gear"), "args" = list("id")))
/datum/category_item/player_setup_item/general/equipment/sanitize_character()
pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag))
@@ -22,6 +22,13 @@
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"),
"args" = list("char_id")),
"ss13_characters" = list("vars" = list("home_system", "citizenship", "faction", "religion"), "args" = list("id")))
/datum/category_item/player_setup_item/general/background/sanitize_character()
if(!pref.home_system) pref.home_system = "Unset"
if(!pref.citizenship) pref.citizenship = "None"
@@ -33,6 +33,23 @@
for(var/module in robot_module_types)
S["flavour_texts_robot_[module]"] << pref.flavour_texts_robot[module]
/datum/category_item/player_setup_item/general/flavor/gather_load_query()
var/list/var_list = list("flavour_general" = "flavor_texts/general",
"flavour_head" = "flavour_texts/head",
"flavour_face" = "flavour_texts/face",
"flavour_eyes" = "flavour_texts/eyes",
"flavour_torso" = "flavour_texts/torso",
"flavour_arms" = "flavour_texts/arms",
"flavour_hands" = "flavour_texts/hands",
"flavour_legs" = "flavour_texts/legs",
"flavour_feet" = "flavour_texts/feet",
"robot_default" = "flavour_texts_robot/default")
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")))
/datum/category_item/player_setup_item/general/flavor/sanitize_character()
return