Can now select the design and contents of your loadout lunchbox.

Also allows gear tweaks to take up a whole row on their own, due to potential length.
Also fixes a couple of incorrect && logical operations. Should have been ||.
This commit is contained in:
PsiOmegaDelta
2016-04-04 10:52:48 +02:00
committed by Datraen
parent 15aed1ade4
commit 48b773fcfa
8 changed files with 152 additions and 97 deletions

View File

@@ -60,7 +60,7 @@
if(prob(5)) if(prob(5))
new /obj/item/clothing/gloves/yellow(src) new /obj/item/clothing/gloves/yellow(src)
else else
new /obj/item/stack/cable_coil(src,30,color) new /obj/item/stack/cable_coil/random(src,30)
/obj/item/weapon/storage/toolbox/syndicate /obj/item/weapon/storage/toolbox/syndicate
name = "black and red toolbox" name = "black and red toolbox"
@@ -71,11 +71,11 @@
/obj/item/weapon/storage/toolbox/syndicate/New() /obj/item/weapon/storage/toolbox/syndicate/New()
..() ..()
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/weapon/screwdriver(src) new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src) new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src) new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src) new /obj/item/weapon/crowbar(src)
new /obj/item/stack/cable_coil/random(src,30,color)
new /obj/item/weapon/wirecutters(src) new /obj/item/weapon/wirecutters(src)
new /obj/item/device/multitool(src) new /obj/item/device/multitool(src)
@@ -86,41 +86,21 @@
item_state = "toolbox_pink" item_state = "toolbox_pink"
desc = "A little lunchbox. This one is the colors of the rainbow!" desc = "A little lunchbox. This one is the colors of the rainbow!"
var/filled = FALSE var/filled = FALSE
attack_verb = list("lunched")
/obj/item/weapon/storage/toolbox/lunchbox/New() /obj/item/weapon/storage/toolbox/lunchbox/New()
..() ..()
if(filled) if(filled)
var/lunch = pick(/obj/item/weapon/reagent_containers/food/snacks/sandwich, /obj/item/weapon/reagent_containers/food/snacks/meatbreadslice, var/list/lunches = lunchables_lunches()
/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice, /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice, var/lunch = lunches[pick(lunches)]
/obj/item/weapon/reagent_containers/food/snacks/margheritaslice, /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice,
/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice, /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice,
/obj/item/weapon/reagent_containers/food/snacks/tastybread, /obj/item/weapon/reagent_containers/food/snacks/liquidfood,
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry, /obj/item/weapon/reagent_containers/food/snacks/tossedsalad)
var/snack = pick(/obj/item/weapon/reagent_containers/food/snacks/donut/jelly, /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly,
/obj/item/weapon/reagent_containers/food/snacks/muffin, /obj/item/weapon/reagent_containers/food/snacks/popcorn,
/obj/item/weapon/reagent_containers/food/snacks/sosjerky, /obj/item/weapon/reagent_containers/food/snacks/no_raisin,
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie, /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,
/obj/item/weapon/reagent_containers/food/snacks/poppypretzel, /obj/item/weapon/reagent_containers/food/snacks/carrotfries,
/obj/item/weapon/reagent_containers/food/snacks/candiedapple, /obj/item/weapon/reagent_containers/food/snacks/applepie,
/obj/item/weapon/reagent_containers/food/snacks/cherrypie, /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit,
/obj/item/weapon/reagent_containers/food/snacks/appletart, /obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice, /obj/item/weapon/reagent_containers/food/snacks/plaincakeslice,
/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice, /obj/item/weapon/reagent_containers/food/snacks/limecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice, /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice, /obj/item/weapon/reagent_containers/food/snacks/watermelonslice,
/obj/item/weapon/reagent_containers/food/snacks/applecakeslice, /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice,
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks)
var/drink = pick(/obj/item/weapon/reagent_containers/food/drinks/cans/cola, /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind, /obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb,
/obj/item/weapon/reagent_containers/food/drinks/cans/starkist, /obj/item/weapon/reagent_containers/food/drinks/cans/space_up,
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime, /obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea,
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice, /obj/item/weapon/reagent_containers/food/drinks/cans/tonic,
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater)
new lunch(src) new lunch(src)
var/list/snacks = lunchables_snacks()
var/snack = snacks[pick(snacks)]
new snack(src) new snack(src)
var/list/drinks = lunchables_drinks()
var/drink = drinks[pick(drinks)]
new drink(src) new drink(src)
/obj/item/weapon/storage/toolbox/lunchbox/filled /obj/item/weapon/storage/toolbox/lunchbox/filled
@@ -154,7 +134,7 @@
filled = TRUE filled = TRUE
/obj/item/weapon/storage/toolbox/lunchbox/mars /obj/item/weapon/storage/toolbox/lunchbox/mars
name = "Mars university lunchbox" name = "\improper Mars university lunchbox"
icon_state = "lunchbox_marsuniversity" icon_state = "lunchbox_marsuniversity"
item_state = "toolbox_red" item_state = "toolbox_red"
desc = "A little lunchbox. This one is branded with the Mars university logo!" desc = "A little lunchbox. This one is branded with the Mars university logo!"
@@ -163,7 +143,7 @@
filled = TRUE filled = TRUE
/obj/item/weapon/storage/toolbox/lunchbox/cti /obj/item/weapon/storage/toolbox/lunchbox/cti
name = "CTI lunchbox" name = "\improper CTI lunchbox"
icon_state = "lunchbox_cti" icon_state = "lunchbox_cti"
item_state = "toolbox_blue" item_state = "toolbox_blue"
desc = "A little lunchbox. This one is branded with the CTI logo!" desc = "A little lunchbox. This one is branded with the CTI logo!"
@@ -172,7 +152,7 @@
filled = TRUE filled = TRUE
/obj/item/weapon/storage/toolbox/lunchbox/nymph /obj/item/weapon/storage/toolbox/lunchbox/nymph
name = "Diona nymph lunchbox" name = "\improper Diona nymph lunchbox"
icon_state = "lunchbox_dionanymph" icon_state = "lunchbox_dionanymph"
item_state = "toolbox_yellow" item_state = "toolbox_yellow"
desc = "A little lunchbox. This one is an adorable Diona nymph on the side!" desc = "A little lunchbox. This one is an adorable Diona nymph on the side!"

View File

@@ -409,7 +409,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
choice_options = list("Normal","Prosthesis") choice_options = list("Normal","Prosthesis")
var/new_state = input(user, "What state do you wish the limb to be in?") as null|anything in choice_options var/new_state = input(user, "What state do you wish the limb to be in?") as null|anything in choice_options
if(!new_state && !CanUseTopic(user)) return TOPIC_NOACTION if(!new_state || !CanUseTopic(user)) return TOPIC_NOACTION
switch(new_state) switch(new_state)
if("Normal") if("Normal")

View File

@@ -27,7 +27,7 @@ var/datum/gear_tweak/color/gear_tweak_free_color_choice = new()
..() ..()
/datum/gear_tweak/color/get_contents(var/metadata) /datum/gear_tweak/color/get_contents(var/metadata)
return "(Color<font color='[metadata]'>&#9899;</font>)" return "Color: <font color='[metadata]'>&#9899;</font>"
/datum/gear_tweak/color/get_default() /datum/gear_tweak/color/get_default()
return valid_colors ? valid_colors[1] : COLOR_GRAY return valid_colors ? valid_colors[1] : COLOR_GRAY
@@ -54,7 +54,7 @@ var/datum/gear_tweak/color/gear_tweak_free_color_choice = new()
..() ..()
/datum/gear_tweak/path/get_contents(var/metadata) /datum/gear_tweak/path/get_contents(var/metadata)
return "(Type: [metadata])" return "Type: [metadata]"
/datum/gear_tweak/path/get_default() /datum/gear_tweak/path/get_default()
return valid_paths[1] return valid_paths[1]
@@ -75,20 +75,21 @@ var/datum/gear_tweak/color/gear_tweak_free_color_choice = new()
var/list/valid_contents var/list/valid_contents
/datum/gear_tweak/contents/New() /datum/gear_tweak/contents/New()
valid_contents = args valid_contents = args.Copy()
..() ..()
/datum/gear_tweak/contents/get_contents(var/metadata) /datum/gear_tweak/contents/get_contents(var/metadata)
return "(Contents)" return "Contents: [english_list(metadata, and_text = ", ")]"
/datum/gear_tweak/contents/get_default() /datum/gear_tweak/contents/get_default()
. = list() . = list()
for(var/i = 1 to valid_contents.len) for(var/i = 1 to valid_contents.len)
var/list/contents = valid_contents[i] . += "Random"
. += contents[1]
/datum/gear_tweak/contents/get_metadata(var/user, var/list/metadata) /datum/gear_tweak/contents/get_metadata(var/user, var/list/metadata)
. = list() . = list()
for(var/i = metadata.len to valid_contents.len)
metadata += "Random"
for(var/i = 1 to valid_contents.len) for(var/i = 1 to valid_contents.len)
var/entry = input(user, "Choose an entry.", "Character Preference", metadata[i]) as null|anything in (valid_contents[i] + list("Random", "None")) var/entry = input(user, "Choose an entry.", "Character Preference", metadata[i]) as null|anything in (valid_contents[i] + list("Random", "None"))
if(entry) if(entry)
@@ -100,12 +101,13 @@ var/datum/gear_tweak/color/gear_tweak_free_color_choice = new()
if(metadata.len != valid_contents.len) if(metadata.len != valid_contents.len)
return return
for(var/i = 1 to valid_contents.len) for(var/i = 1 to valid_contents.len)
var/path
var/list/contents = valid_contents[i] var/list/contents = valid_contents[i]
var/path = contents[metadata[i]] if(metadata[i] == "Random")
if(path) path = pick(contents)
if(path == "Random") path = contents[path]
path = pick(contents) else if(metadata[i] == "None")
path = contents[path] continue
else if(path == "None") else
continue path = contents[metadata[i]]
new path(I) new path(I)

View File

@@ -123,25 +123,34 @@ var/list/gear_datums = list()
for(var/gear_name in LC.gear) for(var/gear_name in LC.gear)
var/datum/gear/G = LC.gear[gear_name] var/datum/gear/G = LC.gear[gear_name]
var/ticked = (G.display_name in pref.gear) var/ticked = (G.display_name in pref.gear)
var/obj/item/temp = G.path . += "<tr style='vertical-align:top'><td width=25%><a href='?src=\ref[src];toggle_gear=[G.display_name]'><font color='[ticked ? "#E67300" : "#3366CC"]'>[G.display_name]</font></a></td>"
. += "<tr style='vertical-align:top'><td width=25%><a href='?src=\ref[src];toggle_gear=[G.display_name]'><font color='[ticked ? "#E67300" : "#3366CC"]'>[G.display_name]</font></a>" . += "<td width = 10% style='vertical-align:top'>[G.cost]</td>"
. += "<td><font size=2><i>[G.description]</i></font></td></tr>"
if(ticked) if(ticked)
var/metadata = pref.gear[G.display_name] . += "<tr><td colspan=3>"
if(!metadata)
metadata = list()
pref.gear[G.display_name] = metadata
for(var/datum/gear_tweak/tweak in G.gear_tweaks) for(var/datum/gear_tweak/tweak in G.gear_tweaks)
var/tweak_input = metadata["[tweak]"] . += " <a href='?src=\ref[src];gear=[G.display_name];tweak=\ref[tweak]'>[tweak.get_contents(get_tweak_metadata(G, tweak))]</a>"
if(!tweak_input) . += "</td></tr>"
tweak_input = tweak.get_default()
metadata["[tweak]"] = tweak_input
. += " <a href='?src=\ref[src];gear=[G.display_name];tweak=\ref[tweak]'>[tweak.get_contents(tweak_input)]</a>"
. += "</td>"
. += "<td width = 10%>[G.cost]</td>"
. += "<td><font size=2><i>[initial(temp.desc)]</i></font></td></tr>"
. += "</table>" . += "</table>"
. = jointext(.) . = jointext(.)
/datum/category_item/player_setup_item/loadout/proc/get_gear_metadata(var/datum/gear/G)
. = pref.gear[G.display_name]
if(!.)
. = list()
pref.gear[G.display_name] = .
/datum/category_item/player_setup_item/loadout/proc/get_tweak_metadata(var/datum/gear/G, var/datum/gear_tweak/tweak)
var/list/metadata = get_gear_metadata(G)
. = metadata["[tweak]"]
if(!.)
. = tweak.get_default()
metadata["[tweak]"] = .
/datum/category_item/player_setup_item/loadout/proc/set_tweak_metadata(var/datum/gear/G, var/datum/gear_tweak/tweak, var/new_metadata)
var/list/metadata = get_gear_metadata(G)
metadata["[tweak]"] = new_metadata
/datum/category_item/player_setup_item/loadout/OnTopic(href, href_list, user) /datum/category_item/player_setup_item/loadout/OnTopic(href, href_list, user)
if(href_list["toggle_gear"]) if(href_list["toggle_gear"])
var/datum/gear/TG = gear_datums[href_list["toggle_gear"]] var/datum/gear/TG = gear_datums[href_list["toggle_gear"]]
@@ -160,11 +169,10 @@ var/list/gear_datums = list()
var/datum/gear_tweak/tweak = locate(href_list["tweak"]) var/datum/gear_tweak/tweak = locate(href_list["tweak"])
if(!tweak || !istype(gear) || !(tweak in gear.gear_tweaks)) if(!tweak || !istype(gear) || !(tweak in gear.gear_tweaks))
return TOPIC_NOACTION return TOPIC_NOACTION
var/metadata = tweak.get_metadata(user) var/metadata = tweak.get_metadata(user, get_tweak_metadata(gear, tweak))
if(!metadata && !CanUseTopic(user)) if(!metadata || !CanUseTopic(user))
return TOPIC_NOACTION return TOPIC_NOACTION
var/gear_metadata = pref.gear[gear.display_name] set_tweak_metadata(gear, tweak, metadata)
gear_metadata["[tweak]"] = metadata
return TOPIC_REFRESH return TOPIC_REFRESH
else if(href_list["select_category"]) else if(href_list["select_category"])
current_tab = href_list["select_category"] current_tab = href_list["select_category"]
@@ -176,6 +184,7 @@ var/list/gear_datums = list()
/datum/gear /datum/gear
var/display_name //Name/index. Must be unique. var/display_name //Name/index. Must be unique.
var/description //Description of this gear. If left blank will default to the description of the pathed item.
var/path //Path to item. var/path //Path to item.
var/cost = 1 //Number of points used. Items in general cost 1 point, storage/armor/gloves/special use costs 2 points. var/cost = 1 //Number of points used. Items in general cost 1 point, storage/armor/gloves/special use costs 2 points.
var/slot //Slot to equip to. var/slot //Slot to equip to.
@@ -184,6 +193,12 @@ var/list/gear_datums = list()
var/sort_category = "General" var/sort_category = "General"
var/list/gear_tweaks = list() //List of datums which will alter the item after it has been spawned. var/list/gear_tweaks = list() //List of datums which will alter the item after it has been spawned.
/datum/gear/New()
..()
if(!description)
var/obj/O = path
description = initial(O.desc)
/datum/gear_data /datum/gear_data
var/path var/path
var/location var/location

View File

@@ -39,34 +39,17 @@
path = /obj/item/weapon/haircomb path = /obj/item/weapon/haircomb
/datum/gear/lunchbox /datum/gear/lunchbox
display_name = "lunchbox, rainbow" display_name = "lunchbox"
description = "A little lunchbox."
cost = 2 cost = 2
path = /obj/item/weapon/storage/toolbox/lunchbox/filled path = /obj/item/weapon/storage/toolbox/lunchbox
/datum/gear/lunchbox/heartlunchbox /datum/gear/lunchbox/New()
display_name = "lunchbox, heart" ..()
path = /obj/item/weapon/storage/toolbox/lunchbox/heart/filled var/list/lunchboxes = list()
for(var/lunchbox_type in typesof(/obj/item/weapon/storage/toolbox/lunchbox))
/datum/gear/lunchbox/catlunchbox var/obj/item/weapon/storage/toolbox/lunchbox/lunchbox = lunchbox_type
display_name = "lunchbox, cat" if(!initial(lunchbox.filled))
path = /obj/item/weapon/storage/toolbox/lunchbox/cat/filled lunchboxes[initial(lunchbox.name)] = lunchbox_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(lunchboxes))
/datum/gear/lunchbox/ntlunchbox gear_tweaks += new/datum/gear_tweak/contents(lunchables_lunches(), lunchables_snacks(), lunchables_drinks())
display_name = "lunchbox, Nanotrasen"
path = /obj/item/weapon/storage/toolbox/lunchbox/nt/filled
/datum/gear/lunchbox/marslunchbox
display_name = "lunchbox, Mars university"
path = /obj/item/weapon/storage/toolbox/lunchbox/mars/filled
/datum/gear/lunchbox/ctilunchbox
display_name = "lunchbox, CTI"
path = /obj/item/weapon/storage/toolbox/lunchbox/cti/filled
/datum/gear/lunchbox/nymphlunchbox
display_name = "lunchbox, Diona nymph"
path = /obj/item/weapon/storage/toolbox/lunchbox/nymph/filled
/datum/gear/lunchbox/syndicatelunchbox
display_name = "lunchbox, black and red"
path = /obj/item/weapon/storage/toolbox/lunchbox/syndicate/filled

View File

@@ -57,7 +57,7 @@
else if(href_list["preconfigured"]) else if(href_list["preconfigured"])
var/selected = input(user, "Select a skillset", "Skillset") as null|anything in SKILL_PRE var/selected = input(user, "Select a skillset", "Skillset") as null|anything in SKILL_PRE
if(!selected && !CanUseTopic(user)) return if(!selected || !CanUseTopic(user)) return
pref.ZeroSkills(1) pref.ZeroSkills(1)
for(var/V in SKILL_PRE[selected]) for(var/V in SKILL_PRE[selected])

View File

@@ -0,0 +1,74 @@
var/list/lunchables_lunches_ = list(/obj/item/weapon/reagent_containers/food/snacks/sandwich,
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice,
/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice,
/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice,
/obj/item/weapon/reagent_containers/food/snacks/margheritaslice,
/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice,
/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice,
/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice,
/obj/item/weapon/reagent_containers/food/snacks/tastybread,
/obj/item/weapon/reagent_containers/food/snacks/liquidfood,
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry,
/obj/item/weapon/reagent_containers/food/snacks/tossedsalad)
var/list/lunchables_snacks_ = list(/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,
/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly,
/obj/item/weapon/reagent_containers/food/snacks/muffin,
/obj/item/weapon/reagent_containers/food/snacks/popcorn,
/obj/item/weapon/reagent_containers/food/snacks/sosjerky,
/obj/item/weapon/reagent_containers/food/snacks/no_raisin,
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie,
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,
/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,
/obj/item/weapon/reagent_containers/food/snacks/carrotfries,
/obj/item/weapon/reagent_containers/food/snacks/candiedapple,
/obj/item/weapon/reagent_containers/food/snacks/applepie,
/obj/item/weapon/reagent_containers/food/snacks/cherrypie,
/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit,
/obj/item/weapon/reagent_containers/food/snacks/appletart,
/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice,
/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/limecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice,
/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice,
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice,
/obj/item/weapon/reagent_containers/food/snacks/applecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice,
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks)
var/list/lunchables_drinks_ = list(/obj/item/weapon/reagent_containers/food/drinks/cans/cola,
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind,
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb,
/obj/item/weapon/reagent_containers/food/drinks/cans/starkist,
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up,
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime,
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea,
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice,
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic,
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater)
/proc/lunchables_lunches()
if(!(lunchables_lunches_[lunchables_lunches_[1]]))
lunchables_lunches_ = init_lunchable_list(lunchables_lunches_)
return lunchables_lunches_
/proc/lunchables_snacks()
if(!(lunchables_snacks_[lunchables_snacks_[1]]))
lunchables_snacks_ = init_lunchable_list(lunchables_snacks_)
return lunchables_snacks_
/proc/lunchables_drinks()
if(!(lunchables_drinks_[lunchables_drinks_[1]]))
lunchables_drinks_ = init_lunchable_list(lunchables_drinks_)
return lunchables_drinks_
/proc/init_lunchable_list(var/list/lunches)
var/list/unsorted_lunches = list()
for(var/lunch in lunches)
var/obj/O = lunch
unsorted_lunches[initial(O.name)] = lunch
return sortAssoc(unsorted_lunches)

View File

@@ -1677,6 +1677,7 @@
#include "code\modules\reagents\reagent_containers\food\cans.dm" #include "code\modules\reagents\reagent_containers\food\cans.dm"
#include "code\modules\reagents\reagent_containers\food\condiment.dm" #include "code\modules\reagents\reagent_containers\food\condiment.dm"
#include "code\modules\reagents\reagent_containers\food\drinks.dm" #include "code\modules\reagents\reagent_containers\food\drinks.dm"
#include "code\modules\reagents\reagent_containers\food\lunch.dm"
#include "code\modules\reagents\reagent_containers\food\sandwich.dm" #include "code\modules\reagents\reagent_containers\food\sandwich.dm"
#include "code\modules\reagents\reagent_containers\food\snacks.dm" #include "code\modules\reagents\reagent_containers\food\snacks.dm"
#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" #include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm"