mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-10 09:22:05 +00:00
Changes the character setup update flow.
Changes the way savefile version upgrades are done, letting each sub-setting handle it own upgrade path, while also making it easier to transfer settings between preferences and individual characters save slots.
This commit is contained in:
@@ -109,6 +109,8 @@ datum/preferences
|
||||
|
||||
var/client/client = null
|
||||
|
||||
var/savefile/loaded_preferences
|
||||
var/savefile/loaded_character
|
||||
var/datum/category_collection/player_setup_collection/player_setup
|
||||
|
||||
/datum/preferences/New(client/C)
|
||||
@@ -123,9 +125,14 @@ datum/preferences
|
||||
client = C
|
||||
if(!IsGuestKey(C.key))
|
||||
load_path(C.ckey)
|
||||
if(load_preferences())
|
||||
if(load_character())
|
||||
return
|
||||
load_preferences()
|
||||
load_and_update_character()
|
||||
|
||||
/datum/preferences/proc/load_and_update_character(var/slot)
|
||||
load_character(slot)
|
||||
if(update_setup(loaded_preferences, loaded_character))
|
||||
save_preferences()
|
||||
save_character()
|
||||
|
||||
/datum/preferences/proc/ZeroSkills(var/forced = 0)
|
||||
for(var/V in SKILLS) for(var/datum/skill/S in SKILLS[V])
|
||||
@@ -219,7 +226,7 @@ datum/preferences
|
||||
|
||||
if("reload")
|
||||
load_preferences()
|
||||
load_character()
|
||||
load_and_update_character()
|
||||
|
||||
if("open_load_dialog")
|
||||
if(!IsGuestKey(user.key))
|
||||
@@ -227,7 +234,7 @@ datum/preferences
|
||||
return 1
|
||||
|
||||
if("changeslot")
|
||||
load_character(text2num(href_list["num"]))
|
||||
load_and_update_character(text2num(href_list["num"]))
|
||||
close_load_dialog(user)
|
||||
|
||||
ShowChoices(user)
|
||||
|
||||
Reference in New Issue
Block a user