Merge pull request #16102 from SandPoot/this-is-a-feature-but-was-left-in-an-unusable-state
Enables the feature for having multiple loadout slots
This commit is contained in:
@@ -229,7 +229,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
///loadout stuff
|
||||
var/gear_points = 10
|
||||
var/list/gear_categories
|
||||
var/list/loadout_data = list()
|
||||
var/list/loadout_data
|
||||
var/list/unlockable_loadout_data = list()
|
||||
var/loadout_slot = 1 //goes from 1 to MAXIMUM_LOADOUT_SAVES
|
||||
var/gear_category
|
||||
@@ -367,7 +367,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
//calculate your gear points from the chosen item
|
||||
gear_points = CONFIG_GET(number/initial_gear_points)
|
||||
var/list/chosen_gear = loadout_data["SAVE_[loadout_slot]"]
|
||||
if(chosen_gear)
|
||||
if(islist(chosen_gear))
|
||||
loadout_errors = 0
|
||||
for(var/loadout_item in chosen_gear)
|
||||
var/loadout_item_path = loadout_item[LOADOUT_ITEM]
|
||||
@@ -910,6 +910,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "</tr></table>"
|
||||
if(LOADOUT_CHAR_TAB)
|
||||
dat += "<table align='center' width='100%'>"
|
||||
dat += "<tr><td colspan=4><center><b>Loadout slot</b></center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center>"
|
||||
for(var/iteration in 1 to MAXIMUM_LOADOUT_SAVES)
|
||||
dat += "<a [loadout_slot == iteration ? "class='linkOn'" : "href='?_src_=prefs;preference=gear;select_slot=[iteration]'"]>[iteration]</a>"
|
||||
dat += "</center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center><i style=\"color: grey;\">You can only choose one item per category, unless it's an item that spawns in your backpack or hands.</center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center><b>"
|
||||
|
||||
@@ -3240,6 +3245,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
preferences_tab = text2num(href_list["tab"])
|
||||
|
||||
if(href_list["preference"] == "gear")
|
||||
if(href_list["select_slot"])
|
||||
var/chosen = text2num(href_list["select_slot"])
|
||||
if(!chosen)
|
||||
return
|
||||
chosen = floor(chosen)
|
||||
if(chosen > MAXIMUM_LOADOUT_SAVES || chosen < 1)
|
||||
return
|
||||
loadout_slot = chosen
|
||||
if(href_list["clear_loadout"])
|
||||
loadout_data["SAVE_[loadout_slot]"] = list()
|
||||
save_preferences()
|
||||
|
||||
@@ -911,10 +911,12 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
belly_prefs = json_from_file["belly_prefs"]
|
||||
|
||||
//gear loadout
|
||||
if(S["loadout"])
|
||||
if(istext(S["loadout"]))
|
||||
loadout_data = safe_json_decode(S["loadout"])
|
||||
else
|
||||
loadout_data = list()
|
||||
//let's remember their last used slot, i'm sure "oops i brought the wrong stuff" will be an issue now
|
||||
S["loadout_slot"] >> loadout_slot
|
||||
|
||||
//try to fix any outdated data if necessary
|
||||
//preference updating will handle saving the updated data for us.
|
||||
@@ -1094,6 +1096,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
vore_smell = copytext(vore_smell, 1, MAX_TASTE_LEN)
|
||||
belly_prefs = SANITIZE_LIST(belly_prefs)
|
||||
|
||||
loadout_slot = sanitize_num_clamp(loadout_slot, 1, MAXIMUM_LOADOUT_SAVES, 1, TRUE)
|
||||
|
||||
cit_character_pref_load(S)
|
||||
|
||||
return TRUE
|
||||
@@ -1278,10 +1282,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
|
||||
|
||||
//gear loadout
|
||||
if(length(loadout_data))
|
||||
if(islist(loadout_data))
|
||||
S["loadout"] << safe_json_encode(loadout_data)
|
||||
else
|
||||
S["loadout"] << safe_json_encode(list())
|
||||
WRITE_FILE(S["loadout_slot"], loadout_slot)
|
||||
|
||||
if(length(tcg_cards))
|
||||
S["tcg_cards"] << safe_json_encode(tcg_cards)
|
||||
|
||||
Reference in New Issue
Block a user