mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-29 03:21:30 +00:00
Fix Save ops order (#1367)
And fix field nulling if the database doesn't return anything.
This commit is contained in:
@@ -62,12 +62,25 @@
|
||||
|
||||
var/list/jobs = params2list(pref.unsanitized_jobs)
|
||||
|
||||
for (var/preference in jobs)
|
||||
try
|
||||
pref.vars[preference] = text2num(jobs[preference])
|
||||
catch(var/exception/e)
|
||||
log_debug("LOADING: Bad job preference key: [preference].")
|
||||
log_debug(e.desc)
|
||||
// In case we return 0 data from the database.
|
||||
if (!jobs || !jobs.len)
|
||||
pref.alternate_option = 0
|
||||
pref.job_civilian_high = 0
|
||||
pref.job_civilian_med = 0
|
||||
pref.job_civilian_low = 0
|
||||
pref.job_medsci_high = 0
|
||||
pref.job_medsci_med = 0
|
||||
pref.job_medsci_low = 0
|
||||
pref.job_engsec_high = 0
|
||||
pref.job_engsec_med = 0
|
||||
pref.job_engsec_low = 0
|
||||
else
|
||||
for (var/preference in jobs)
|
||||
try
|
||||
pref.vars[preference] = text2num(jobs[preference])
|
||||
catch(var/exception/e)
|
||||
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))
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
else
|
||||
if (modified)
|
||||
// No save here, because this is only called from the menu and needs to save /everything/.
|
||||
handle_sql_saving(SQL_PREFERENCES|SQL_CHARACTER)
|
||||
handle_sql_saving(SQL_CHARACTER)
|
||||
modified = 0
|
||||
|
||||
/datum/category_group/player_setup_category/proc/load_preferences(var/savefile/S)
|
||||
|
||||
@@ -32,8 +32,11 @@
|
||||
if (sql_load)
|
||||
pref.skills = params2list(pref.skills)
|
||||
|
||||
for (var/skill in pref.skills)
|
||||
pref.skills[skill] = text2num(pref.skills[skill])
|
||||
if (!pref.skills || !islist(pref.skills) || !pref.skills.len)
|
||||
pref.ZeroSkills()
|
||||
else
|
||||
for (var/skill in pref.skills)
|
||||
pref.skills[skill] = text2num(pref.skills[skill])
|
||||
|
||||
pref.CalculateSkillPoints()
|
||||
if (!pref.skills.len)
|
||||
|
||||
@@ -149,12 +149,12 @@ datum/preferences
|
||||
save_character()
|
||||
|
||||
/datum/preferences/proc/getMinAge()
|
||||
var/datum/species/mob_species = all_species[species]
|
||||
return mob_species.age_min
|
||||
var/datum/species/mob_species = all_species[species]
|
||||
return mob_species.age_min
|
||||
|
||||
/datum/preferences/proc/getMaxAge()
|
||||
var/datum/species/mob_species = all_species[species]
|
||||
return mob_species.age_max
|
||||
var/datum/species/mob_species = all_species[species]
|
||||
return mob_species.age_max
|
||||
|
||||
/datum/preferences/proc/ZeroSkills(var/forced = 0)
|
||||
for(var/V in SKILLS) for(var/datum/skill/S in SKILLS[V])
|
||||
@@ -249,8 +249,8 @@ datum/preferences
|
||||
return 1
|
||||
|
||||
if(href_list["save"])
|
||||
save_preferences()
|
||||
save_character()
|
||||
save_preferences()
|
||||
else if(href_list["reload"])
|
||||
load_preferences()
|
||||
load_character()
|
||||
|
||||
Reference in New Issue
Block a user