mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
[MIRROR] de-reference save_data lists (#9067)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Co-authored-by: Kashargul <KashL@t-online.de>
This commit is contained in:
@@ -8,19 +8,19 @@
|
||||
var/static/list/forbidden_prefixes = list(";", ":", ".", "!", "*", "^", "-")
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/load_character(list/save_data)
|
||||
pref.alternate_languages = save_data["language"]
|
||||
pref.alternate_languages = check_list_copy(save_data["language"])
|
||||
pref.extra_languages = save_data["extra_languages"]
|
||||
pref.language_prefixes = save_data["language_prefixes"]
|
||||
pref.species = save_data["species"] //CHOMPAdd
|
||||
pref.species = save_data["species"]
|
||||
pref.preferred_language = save_data["preflang"]
|
||||
pref.language_custom_keys = save_data["language_custom_keys"]
|
||||
pref.language_custom_keys = check_list_copy(save_data["language_custom_keys"])
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/save_character(list/save_data)
|
||||
save_data["language"] = pref.alternate_languages
|
||||
save_data["language"] = check_list_copy(pref.alternate_languages)
|
||||
save_data["extra_languages"] = pref.extra_languages
|
||||
save_data["language_prefixes"] = pref.language_prefixes
|
||||
save_data["language_custom_keys"] = pref.language_custom_keys
|
||||
save_data["preflang"] = pref.preferred_language
|
||||
save_data["preflang"] = check_list_copy(pref.preferred_language)
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/sanitize_character()
|
||||
if(!islist(pref.alternate_languages)) pref.alternate_languages = list()
|
||||
|
||||
@@ -113,16 +113,20 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
pref.b_eyes = save_data["eyes_blue"]
|
||||
pref.b_type = save_data["b_type"]
|
||||
pref.disabilities = save_data["disabilities"]
|
||||
pref.organ_data = save_data["organ_data"]
|
||||
pref.rlimb_data = save_data["rlimb_data"]
|
||||
pref.body_markings = save_data["body_markings"]
|
||||
pref.organ_data = check_list_copy(save_data["organ_data"])
|
||||
pref.rlimb_data = check_list_copy(save_data["rlimb_data"])
|
||||
pref.body_markings = check_list_copy(save_data["body_markings"])
|
||||
for(var/i in pref.body_markings)
|
||||
pref.body_markings[i] = check_list_copy(pref.body_markings[i])
|
||||
for(var/j in pref.body_markings[i])
|
||||
pref.body_markings[i][j] = check_list_copy(pref.body_markings[i][j])
|
||||
pref.synth_color = save_data["synth_color"]
|
||||
pref.r_synth = save_data["synth_red"]
|
||||
pref.g_synth = save_data["synth_green"]
|
||||
pref.b_synth = save_data["synth_blue"]
|
||||
pref.synth_markings = save_data["synth_markings"]
|
||||
pref.bgstate = save_data["bgstate"]
|
||||
pref.body_descriptors = save_data["body_descriptors"]
|
||||
pref.body_descriptors = check_list_copy(save_data["body_descriptors"])
|
||||
//YWadd start
|
||||
pref.wingdings = save_data["Wingdings"]
|
||||
pref.colorblind_mono = save_data["colorblind_mono"]
|
||||
@@ -185,16 +189,21 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
save_data["eyes_blue"] = pref.b_eyes
|
||||
save_data["b_type"] = pref.b_type
|
||||
save_data["disabilities"] = pref.disabilities
|
||||
save_data["organ_data"] = pref.organ_data
|
||||
save_data["rlimb_data"] = pref.rlimb_data
|
||||
save_data["body_markings"] = pref.body_markings
|
||||
save_data["organ_data"] = check_list_copy(pref.organ_data)
|
||||
save_data["rlimb_data"] = check_list_copy(pref.rlimb_data)
|
||||
var/list/body_markings = check_list_copy(pref.body_markings)
|
||||
for(var/i in pref.body_markings)
|
||||
body_markings[i] = check_list_copy(body_markings[i])
|
||||
for(var/j in body_markings[i])
|
||||
body_markings[i][j] = check_list_copy(body_markings[i][j])
|
||||
save_data["body_markings"] = body_markings
|
||||
save_data["synth_color"] = pref.synth_color
|
||||
save_data["synth_red"] = pref.r_synth
|
||||
save_data["synth_green"] = pref.g_synth
|
||||
save_data["synth_blue"] = pref.b_synth
|
||||
save_data["synth_markings"] = pref.synth_markings
|
||||
save_data["bgstate"] = pref.bgstate
|
||||
save_data["body_descriptors"] = pref.body_descriptors
|
||||
save_data["body_descriptors"] = check_list_copy(pref.body_descriptors)
|
||||
//YWadd start
|
||||
save_data["Wingdings"] = pref.wingdings
|
||||
save_data["colorblind_mono"] = pref.colorblind_mono
|
||||
|
||||
@@ -7,8 +7,10 @@
|
||||
sort_order = 4
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/load_character(list/save_data)
|
||||
pref.all_underwear = save_data["all_underwear"]
|
||||
pref.all_underwear_metadata = save_data["all_underwear_metadata"]
|
||||
pref.all_underwear = check_list_copy(save_data["all_underwear"])
|
||||
pref.all_underwear_metadata = check_list_copy(save_data["all_underwear_metadata"])
|
||||
for(var/i in pref.all_underwear_metadata)
|
||||
pref.all_underwear_metadata[i] = path2text_list(pref.all_underwear_metadata[i])
|
||||
pref.backbag = save_data["backbag"]
|
||||
pref.pdachoice = save_data["pdachoice"]
|
||||
pref.communicator_visibility = save_data["communicator_visibility"]
|
||||
@@ -17,7 +19,10 @@
|
||||
|
||||
/datum/category_item/player_setup_item/general/equipment/save_character(list/save_data)
|
||||
save_data["all_underwear"] = pref.all_underwear
|
||||
save_data["all_underwear_metadata"] = pref.all_underwear_metadata
|
||||
var/list/underwear = list()
|
||||
for(var/i in pref.all_underwear_metadata)
|
||||
underwear[i] = check_list_copy(pref.all_underwear_metadata[i])
|
||||
save_data["all_underwear_metadata"] = underwear
|
||||
save_data["backbag"] = pref.backbag
|
||||
save_data["pdachoice"] = pref.pdachoice
|
||||
save_data["communicator_visibility"] = pref.communicator_visibility
|
||||
|
||||
@@ -46,17 +46,32 @@ var/list/gear_datums = list()
|
||||
var/current_tab = "General"
|
||||
|
||||
/datum/category_item/player_setup_item/loadout/load_character(list/save_data)
|
||||
pref.gear_list = save_data["gear_list"]
|
||||
pref.gear_list = list()
|
||||
var/all_gear = check_list_copy(save_data["gear_list"])
|
||||
for(var/i in all_gear)
|
||||
var/list/entries = check_list_copy(all_gear["[i]"])
|
||||
for(var/j in entries)
|
||||
entries["[j]"] = path2text_list(entries["[j]"])
|
||||
pref.gear_list["[i]"] = entries
|
||||
pref.gear_slot = save_data["gear_slot"]
|
||||
if(pref.gear_list!=null && pref.gear_slot!=null)
|
||||
pref.gear = pref.gear_list["[pref.gear_slot]"]
|
||||
else
|
||||
pref.gear = save_data["gear"]
|
||||
pref.gear = check_list_copy(save_data["gear"])
|
||||
pref.gear_slot = 1
|
||||
|
||||
/datum/category_item/player_setup_item/loadout/save_character(list/save_data)
|
||||
pref.gear_list["[pref.gear_slot]"] = pref.gear
|
||||
save_data["gear_list"] = pref.gear_list
|
||||
var/list/all_gear = list()
|
||||
var/worn_gear = check_list_copy(pref.gear_list)
|
||||
for(var/i in worn_gear)
|
||||
var/list/entries = check_list_copy(worn_gear["[i]"])
|
||||
if(!length(entries))
|
||||
entries = check_list_copy(worn_gear[i])
|
||||
for(var/j in entries)
|
||||
entries["[j]"] = check_list_copy(entries["[j]"])
|
||||
all_gear["[i]"] = entries
|
||||
save_data["gear_list"] = all_gear
|
||||
save_data["gear_slot"] = pref.gear_slot
|
||||
|
||||
/datum/category_item/player_setup_item/loadout/proc/valid_gear_choices(var/max_cost)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
pref.job_talon_med = save_data["job_talon_med"]
|
||||
pref.job_talon_high = save_data["job_talon_high"]
|
||||
//VOREStation Add End
|
||||
pref.player_alt_titles = save_data["player_alt_titles"]
|
||||
pref.player_alt_titles = check_list_copy(save_data["player_alt_titles"])
|
||||
//CHOMPStation Add
|
||||
pref.job_other_low = save_data["job_other_low"]
|
||||
pref.job_other_med = save_data["job_other_med"]
|
||||
@@ -41,7 +41,7 @@
|
||||
save_data["job_talon_med"] = pref.job_talon_med
|
||||
save_data["job_talon_high"] = pref.job_talon_high
|
||||
//VOREStation Add End
|
||||
save_data["player_alt_titles"] = pref.player_alt_titles
|
||||
save_data["player_alt_titles"] = check_list_copy(pref.player_alt_titles)
|
||||
//CHOMPStation Add
|
||||
save_data["job_other_low"] = pref.job_other_low
|
||||
save_data["job_other_med"] = pref.job_other_med
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
sort_order = 1
|
||||
|
||||
/datum/category_item/player_setup_item/skills/load_character(list/save_data)
|
||||
pref.skills = save_data["skills"]
|
||||
pref.skills = check_list_copy(save_data["skills"])
|
||||
pref.used_skillpoints = save_data["used_skillpoints"]
|
||||
pref.skill_specialization = save_data["skill_specialization"]
|
||||
|
||||
/datum/category_item/player_setup_item/skills/save_character(list/save_data)
|
||||
save_data["skills"] = pref.skills
|
||||
save_data["skills"] = check_list_copy(pref.skills)
|
||||
save_data["used_skillpoints"] = pref.used_skillpoints
|
||||
save_data["skill_specialization"] = pref.skill_specialization
|
||||
|
||||
|
||||
@@ -131,15 +131,15 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s
|
||||
pref.custom_ask = save_data["custom_ask"]
|
||||
pref.custom_exclaim = save_data["custom_exclaim"]
|
||||
|
||||
pref.custom_heat = save_data["custom_heat"]
|
||||
pref.custom_cold = save_data["custom_cold"]
|
||||
pref.custom_heat = check_list_copy(save_data["custom_heat"])
|
||||
pref.custom_cold = check_list_copy(save_data["custom_cold"])
|
||||
|
||||
/datum/category_item/player_setup_item/vore/traits/save_character(list/save_data)
|
||||
save_data["custom_species"] = pref.custom_species
|
||||
save_data["custom_base"] = pref.custom_base
|
||||
save_data["pos_traits"] = pref.pos_traits
|
||||
save_data["neu_traits"] = pref.neu_traits
|
||||
save_data["neg_traits"] = pref.neg_traits
|
||||
save_data["pos_traits"] = check_list_copy(pref.pos_traits)
|
||||
save_data["neu_traits"] = check_list_copy(pref.neu_traits)
|
||||
save_data["neg_traits"] = check_list_copy(pref.neg_traits)
|
||||
save_data["blood_color"] = pref.blood_color
|
||||
save_data["blood_reagents"] = pref.blood_reagents
|
||||
|
||||
@@ -152,8 +152,8 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s
|
||||
save_data["custom_ask"] = pref.custom_ask
|
||||
save_data["custom_exclaim"] = pref.custom_exclaim
|
||||
|
||||
save_data["custom_heat"] = pref.custom_heat
|
||||
save_data["custom_cold"] = pref.custom_cold
|
||||
save_data["custom_heat"] = check_list_copy(pref.custom_heat)
|
||||
save_data["custom_cold"] = check_list_copy(pref.custom_cold)
|
||||
|
||||
/datum/category_item/player_setup_item/vore/traits/sanitize_character()
|
||||
if(!pref.pos_traits) pref.pos_traits = list()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
pref.nif_path = save_data_file["nif_path"]
|
||||
pref.nif_durability = save_data_file["nif_durability"]
|
||||
pref.nif_savedata = save_data_file["nif_savedata"]
|
||||
pref.nif_savedata = check_list_copy(save_data_file["nif_savedata"])
|
||||
|
||||
/datum/category_item/player_setup_item/vore/nif/save_character()
|
||||
var/datum/json_savefile/savefile = new /datum/json_savefile(nif_savefile_path(pref.client_ckey))
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
save_data_file["nif_path"] = pref.nif_path
|
||||
save_data_file["nif_durability"] = pref.nif_durability
|
||||
save_data_file["nif_savedata"] = pref.nif_savedata
|
||||
save_data_file["nif_savedata"] = check_list_copy(pref.nif_savedata)
|
||||
|
||||
savefile.set_entry("character[pref.default_slot]", save_data_file)
|
||||
savefile.save()
|
||||
|
||||
Reference in New Issue
Block a user