mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 12:29:46 +01:00
Fix all the things
YAAAAY!
This commit is contained in:
@@ -41,13 +41,13 @@
|
||||
"id" = 1))
|
||||
|
||||
/datum/category_item/player_setup_item/general/basic/gather_save_parameters()
|
||||
return list("ss13_characters" = list(":name" = pref.real_name,
|
||||
":random_name" = pref.be_random_name,
|
||||
":gender" = pref.gender,
|
||||
":age" = pref.age,
|
||||
":metadata" = pref.metadata,
|
||||
":spawnpoint" = pref.spawnpoint,
|
||||
":id" = pref.current_character))
|
||||
return list(":name" = pref.real_name,
|
||||
":random_name" = pref.be_random_name,
|
||||
":gender" = pref.gender,
|
||||
":age" = pref.age,
|
||||
":metadata" = pref.metadata,
|
||||
":spawnpoint" = pref.spawnpoint,
|
||||
":id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/basic/sanitize_character()
|
||||
pref.age = sanitize_integer(text2num(pref.age), AGE_MIN, AGE_MAX, initial(pref.age))
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
"id" = 1))
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/gather_save_parameters()
|
||||
return list("ss13_characters" = list(":language" = list2params(pref.alternate_languages),
|
||||
":id" = pref.current_character))
|
||||
return list(":language" = list2params(pref.alternate_languages),
|
||||
":id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/sanitize_character(var/sql_load = 0)
|
||||
if (sql_load)
|
||||
|
||||
@@ -82,19 +82,19 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
"id" = 1))
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/gather_save_parameters()
|
||||
return list("ss13_characters" = list(":species" = pref.species,
|
||||
":hair_colour" = "#" + num2hex(pref.r_hair) + num2hex(pref.g_hair) + num2hex(pref.b_hair),
|
||||
":facial_colour" = "#" + num2hex(pref.r_facial) + num2hex(pref.g_facial) + num2hex(pref.b_facial),
|
||||
":skin_tone" = pref.s_tone,
|
||||
":skin_colour" = "#" + num2hex(pref.r_skin) + num2hex(pref.g_skin) + num2hex(pref.b_skin),
|
||||
":hair_style" = pref.h_style,
|
||||
":facial_style" = pref.f_style,
|
||||
":eyes_colour" = "#" + num2hex(pref.r_eyes) + num2hex(pref.g_eyes) + num2hex(pref.b_eyes),
|
||||
":b_type" = pref.b_type,
|
||||
":disabilities" = pref.disabilities,
|
||||
":organs_data" = list2params(pref.organ_data),
|
||||
":organs_robotic"= list2params(pref.rlimb_data),
|
||||
":id" = pref.current_character))
|
||||
return list(":species" = pref.species,
|
||||
":hair_colour" = "#" + num2hex(pref.r_hair) + num2hex(pref.g_hair) + num2hex(pref.b_hair),
|
||||
":facial_colour" = "#" + num2hex(pref.r_facial) + num2hex(pref.g_facial) + num2hex(pref.b_facial),
|
||||
":skin_tone" = pref.s_tone,
|
||||
":skin_colour" = "#" + num2hex(pref.r_skin) + num2hex(pref.g_skin) + num2hex(pref.b_skin),
|
||||
":hair_style" = pref.h_style,
|
||||
":facial_style" = pref.f_style,
|
||||
":eyes_colour" = "#" + num2hex(pref.r_eyes) + num2hex(pref.g_eyes) + num2hex(pref.b_eyes),
|
||||
":b_type" = pref.b_type,
|
||||
":disabilities" = pref.disabilities,
|
||||
":organs_data" = list2params(pref.organ_data),
|
||||
":organs_robotic"= list2params(pref.rlimb_data),
|
||||
":id" = pref.current_character)
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/sanitize_character(var/sql_load = 0)
|
||||
if(!pref.species || !(pref.species in playable_species))
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
for (var/module in robot_module_types)
|
||||
var_list[":robot_[module]"] += pref.flavour_texts_robot[module]
|
||||
|
||||
return list("ss13_characters_flavour" = var_list)
|
||||
return var_list
|
||||
|
||||
/datum/category_item/player_setup_item/general/flavor/sanitize_character()
|
||||
return
|
||||
|
||||
@@ -164,9 +164,7 @@
|
||||
for (var/datum/category_item/player_setup_item/PI in items)
|
||||
PI.save_preferences(S)
|
||||
else
|
||||
if (modified && sql_role == SQL_PREFERENCES)
|
||||
handle_sql_saving(SQL_PREFERENCES)
|
||||
modified = 0
|
||||
handle_sql_saving(SQL_PREFERENCES)
|
||||
|
||||
/datum/category_group/player_setup_category/proc/update_setup(var/savefile/preferences, var/savefile/character)
|
||||
for(var/datum/category_item/player_setup_item/PI in items)
|
||||
|
||||
@@ -170,6 +170,9 @@
|
||||
|
||||
// Actually utilize the queries.
|
||||
var/list/arg_list = gather_save_parameters()
|
||||
|
||||
// Typecast the collection so we can access its preferences var.
|
||||
var/datum/category_collection/player_setup_collection/cc = collection
|
||||
for (var/query_text in query_cache[type])
|
||||
var/DBQuery/query = dbcon.NewQuery(query_text)
|
||||
query.Execute(arg_list, 1)
|
||||
@@ -177,17 +180,20 @@
|
||||
if (query.ErrorMsg())
|
||||
error("Error saving character to SQL: [query.ErrorMsg()]")
|
||||
|
||||
// Get the character ID if we inserted a new character.
|
||||
if (role_type == SQL_CHARACTER)
|
||||
// Need to typecast due to reasons.
|
||||
var/datum/category_collection/player_setup_collection/cc = collection
|
||||
|
||||
if (!cc.preferences.current_character)
|
||||
var/DBQuery/query = dbcon.NewQuery("SELECT id FROM ss13_characters WHERE ckey = :ckey ORDER BY id DESC LIMIT 1")
|
||||
query.Execute(list(":ckey" = cc.preferences.client.ckey))
|
||||
if (role_type == SQL_CHARACTER && !cc.preferences.current_character)
|
||||
// No current character, means we're doing insert queries.
|
||||
// Quickly nab the new ID and substitute it within the args.
|
||||
query = dbcon.NewQuery("SELECT LAST_INSERT_ID() AS new_id")
|
||||
query.Execute()
|
||||
|
||||
if (query.NextRow())
|
||||
arg_list[":id"] = text2num(query.item[1])
|
||||
arg_list[":char_id"] = text2num(query.item[1])
|
||||
cc.preferences.current_character = text2num(query.item[1])
|
||||
else
|
||||
error("Error inserting character to SQL: New ID was not recovered.")
|
||||
if (query.ErrorMsg())
|
||||
error("Error retreiving new character ID: [query.ErrorMsg()]")
|
||||
|
||||
/datum/category_group/player_setup_category/proc/gather_save_parameters()
|
||||
var/list/arg_list = list()
|
||||
|
||||
Reference in New Issue
Block a user