dereference lists

This commit is contained in:
Kashargul
2024-09-26 02:50:45 +02:00
parent 5070bbd9df
commit 1c5f81efd1
9 changed files with 79 additions and 34 deletions
@@ -46,17 +46,37 @@ 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]"])
if(!length(entries))
entries = check_list_copy(all_gear[i])
for(var/j in entries)
entries["[j]"] = check_list_copy(path2text_list(entries["[j]"]))
var/index = i
if(!isnum(i))
index = text2num(i)
pref.gear_list["[index]"] = 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)