From aa5b99a9d4b5e9638ab7cec3fd333098e44e9214 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Fri, 7 Aug 2020 00:03:59 -0700
Subject: [PATCH] make it end
---
code/modules/client/preferences.dm | 54 ++++++++++++++----------------
1 file changed, 25 insertions(+), 29 deletions(-)
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 5cbb3bbf5c..7c30381161 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -229,8 +229,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/gear_points = 10
var/list/gear_categories
var/list/chosen_gear = list()
- var/gear_category = 1
- var/gear_subcategory = 1
+ var/gear_category
+ var/gear_subcategory
var/screenshake = 100
var/damagescreenshake = 2
@@ -1067,20 +1067,18 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(!length(GLOB.loadout_items))
dat += "
ERROR: No loadout categories - something is horribly wrong!"
else
- gear_category = clamp(gear_category, 1, length(GLOB.loadout_items)) // no runtimes
- var/firstcat
- var/chosen_category
- for(var/i in 1 to length(GLOB.loadout_items))
- var/category = GLOB.loadout_items[i]
+ if(!GLOB.loadout_categories[gear_category])
+ gear_category = GLOB.loadout_categories[1]
+ var/firstcat = TRUE
+ for(var/category in GLOB.loadout_categories)
if(firstcat)
firstcat = FALSE
else
dat += " |"
- if(i == gear_category)
+ if(category == gear_category)
dat += " [category] "
- chosen_category = category
else
- dat += " [category] "
+ dat += " [category] "
dat += ""
dat += "
|
"
@@ -1090,29 +1088,28 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(!length(GLOB.loadout_categories[gear_category]))
dat += "No subcategories detected. Something is horribly wrong!"
else
- gear_subcategory = clamp(gear_subcategory, 1, length(GLOB.loadout_categories[gear_category]))
+ var/list/subcategories = GLOB.loadout_categories[gear_category]
+ if(!subcategories.Find(gear_subcategory))
+ gear_subcategory = subcategories[1]
var/firstsubcat = FALSE
- var/chosen_subcategory
- for(var/i in 1 to length(GLOB.loadout_categories[chosen_category]))
- if(!firstsubcat)
- dat += " |"
- else
+ for(var/subcategory in subcategories)
+ if(firstsubcat)
firstsubcat = FALSE
- var/subcategory = GLOB.loadout_categories[chosen_category][i]
- if(gear_subcategory == i)
- dat += " [subcategory] "
- chosen_subcategory = subcategory
else
- dat += " [subcategory] "
+ dat += " |"
+ if(gear_subcategory == subcategory)
+ dat += " [subcategory] "
+ else
+ dat += " [subcategory] "
dat += ""
dat += "| Name | "
dat += "Cost | "
dat += "Restrictions | "
dat += "Description |
"
- for(var/name in GLOB.loadout_items[chosen_category][chosen_subcategory])
- var/datum/gear/gear = GLOB.loadout_items[chosen_category][chosen_subcategory][name]
+ for(var/name in GLOB.loadout_items[gear_category][gear_subcategory])
+ var/datum/gear/gear = GLOB.loadout_items[gear_category][gear_subcategory][name]
var/donoritem = gear.donoritem
if(donoritem && !gear.donator_ckey_check(user.ckey))
continue
@@ -2719,14 +2716,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
gear_points = CONFIG_GET(number/initial_gear_points)
save_preferences()
if(href_list["select_category"])
- gear_category = text2num(href_list["select_category"])
- gear_subcategory = 1
+ gear_category = html_decode(href_list["select_category"])
+ gear_subcategory = GLOB.loadout_categories[gear_category][1]
if(href_list["select_subcategory"])
- gear_subcategory = text2num(href_list["select_subcategory"])
+ gear_subcategory = html_decode(href_list["select_subcategory"])
if(href_list["toggle_gear_path"])
- var/category = GLOB.loadout_items[gear_category]
- var/subcategory = GLOB.loadout_items[category][gear_subcategory]
- var/datum/gear/G = GLOB.loadout_items[category][subcategory][html_decode(href_list["toggle_gear_path"])]
+ var/name = html_decode(href_list["toggle_gear_path"])
+ var/datum/gear/G = GLOB.loadout_items[gear_category][gear_subcategory][name]
if(!G)
return
var/toggle = text2num(href_list["toggle_gear"])