Merge pull request #16369 from Kashargul/loadout_fix

de-reference save_data lists
This commit is contained in:
Heroman3003
2024-09-27 21:13:13 +10:00
committed by GitHub
10 changed files with 81 additions and 32 deletions
@@ -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)