From 61ae382c16fedf573e3b8fc278f47718305462cf Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Sat, 10 Dec 2011 01:25:27 -0500 Subject: [PATCH] added categories to QM stuff so it isn't a giant several-page list --- code/defines/obj/supplypacks.dm | 36 +++++++++++++++++++++++++++++-- code/game/supplyshuttle.dm | 38 +++++++++++++++++++++++++++++++-- 2 files changed, 70 insertions(+), 4 deletions(-) diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 16d3ec2d5c0..df7f67c5971 100644 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -18,6 +18,7 @@ /datum/supply_packs/charge cost = 10 containertype = "/obj/structure/closet/crate" + group = "Charges" /datum/supply_packs/charge/medical name = "Medical Charge" @@ -115,6 +116,7 @@ cost = 5 containertype = "/obj/structure/closet/crate/freezer" containername = "Food crate" + group = "Kitchen / Bar" /datum/supply_packs/monkey name = "Monkey crate" @@ -122,6 +124,7 @@ cost = 20 containertype = "/obj/structure/closet/crate/freezer" containername = "Monkey crate" + group = "Medical / Science" /* /datum/supply_packs/shotgun @@ -150,6 +153,7 @@ cost = 10 containertype = "/obj/structure/closet/crate" containername = "Beanbag shells" + group = "Security" /datum/supply_packs/party name = "Party equipment" @@ -166,6 +170,7 @@ cost = 20 containertype = "/obj/structure/closet/crate" containername = "Party equipment" + group = "Kitchen / Bar" /datum/supply_packs/internals name = "Internals crate" @@ -251,6 +256,7 @@ containertype = "/obj/structure/closet/crate/secure" containername = "Standard Costumes" access = access_theatre + group = "Clothing" /datum/supply_packs/wizard name = "Wizard costume" @@ -261,6 +267,7 @@ cost = 20 containertype = "/obj/structure/closet/crate" containername = "Wizard costume crate" + group = "Clothing" /datum/supply_packs/mule name = "MULEbot Crate" @@ -283,6 +290,7 @@ containertype = /obj/structure/closet/crate/hydroponics containername = "Hydroponics crate" access = access_hydroponics + group = "Hydroponics" /datum/supply_packs/seeds name = "Seeds Crate" @@ -301,7 +309,7 @@ containertype = /obj/structure/closet/crate/hydroponics containername = "Seeds crate" access = access_hydroponics - + group = "Hydroponics" /datum/supply_packs/exoticseeds name = "Exotic Seeds Crate" @@ -318,6 +326,7 @@ containertype = /obj/structure/closet/crate/hydroponics containername = "Exotic Seeds crate" access = access_hydroponics + group = "Hydroponics" /datum/supply_packs/medical name = "Medical crate" @@ -332,7 +341,7 @@ cost = 10 containertype = "/obj/structure/closet/crate/medical" containername = "Medical crate" - + group = "Medical / Science" /datum/supply_packs/virus name = "Virus crate" @@ -350,6 +359,7 @@ containertype = "/obj/structure/closet/crate/secure/weapon" containername = "Virus crate" access = access_cmo + group = "Medical / Science" /datum/supply_packs/metal50 name = "50 Metal Sheets" @@ -358,6 +368,7 @@ cost = 10 containertype = "/obj/structure/closet/crate" containername = "Metal sheets crate" + group = "Engineering" /datum/supply_packs/glass50 name = "50 Glass Sheets" @@ -366,6 +377,7 @@ cost = 10 containertype = "/obj/structure/closet/crate" containername = "Glass sheets crate" + group = "Engineering" /datum/supply_packs/electrical name = "Electrical maintenance crate" @@ -380,6 +392,7 @@ cost = 15 containertype = "/obj/structure/closet/crate" containername = "Electrical maintenance crate" + group = "Engineering" /datum/supply_packs/mechanical name = "Mechanical maintenance crate" @@ -395,6 +408,7 @@ cost = 10 containertype = "/obj/structure/closet/crate" containername = "Mechanical maintenance crate" + group = "Engineering" /datum/supply_packs/waterfueltank name = "Water/Fuel tank crate" @@ -412,17 +426,20 @@ containertype = "/obj/structure/closet/crate/secure" containername = "Emitter crate" access = access_heads + group = "Engineering" /datum/supply_packs/engine/field_gen name = "Field Generator crate" contains = list("/obj/machinery/field_generator", "/obj/machinery/field_generator",) containername = "Field Generator crate" + group = "Engineering" /datum/supply_packs/engine/sing_gen name = "Singularity Generator crate" contains = list("/obj/machinery/the_singularitygen") containername = "Singularity Generator crate" + group = "Engineering" /datum/supply_packs/engine/collector name = "Collector crate" @@ -430,6 +447,7 @@ "/obj/machinery/power/rad_collector", "/obj/machinery/power/rad_collector") containername = "Collector crate" + group = "Engineering" /datum/supply_packs/engine/PA name = "Particle Accelerator crate" @@ -442,6 +460,7 @@ "/obj/structure/particle_accelerator/power_box", "/obj/structure/particle_accelerator/end_cap") containername = "Particle Accelerator crate" + group = "Engineering" /datum/supply_packs/mecha_ripley name = "Circuit Crate (\"Ripley\" APLU)" @@ -452,6 +471,7 @@ containertype = "/obj/structure/closet/crate/secure" containername = "APLU \"Ripley\" Circuit Crate" access = access_robotics + group = "Robotics" /datum/supply_packs/robotics name = "Robotics Assembly Crate" @@ -469,6 +489,7 @@ containertype = "/obj/structure/closet/crate/secure/gear" containername = "Robotics Assembly" access = access_robotics + group = "Robotics" /datum/supply_packs/plasma name = "Plasma assembly crate" @@ -488,6 +509,7 @@ containertype = "/obj/structure/closet/crate/secure/plasma" containername = "Plasma assembly crate" access = access_tox + group = "Medical / Science" /datum/supply_packs/weapons name = "Weapons crate" @@ -503,6 +525,7 @@ containertype = "/obj/structure/closet/crate/secure/weapon" containername = "Weapons crate" access = access_security + group = "Security" /datum/supply_packs/eweapons name = "Experimental weapons crate" @@ -517,6 +540,7 @@ containertype = "/obj/structure/closet/crate/secure/weapon" containername = "Experimental weapons crate" access = access_heads + group = "Security" /datum/supply_packs/armor name = "Armor crate" @@ -528,6 +552,7 @@ containertype = "/obj/structure/closet/crate/secure" containername = "Armor crate" access = access_security + group = "Security" /datum/supply_packs/riot name = "Riot gear crate" @@ -553,6 +578,7 @@ containertype = "/obj/structure/closet/crate/secure" containername = "Riot gear crate" access = access_armory + group = "Security" /datum/supply_packs/loyalty name = "Loyalty implant crate" @@ -561,6 +587,7 @@ containertype = "/obj/structure/closet/crate/secure" containername = "Loyalty implant crate" access = access_armory + group = "Security" /datum/supply_packs/ballistic name = "Ballistic gear crate" @@ -572,6 +599,7 @@ containertype = "/obj/structure/closet/crate/secure" containername = "Ballistic gear crate" access = access_armory + group = "Security" /datum/supply_packs/expenergy name = "Experimental energy gear crate" @@ -583,6 +611,7 @@ containertype = "/obj/structure/closet/crate/secure" containername = "Experimental energy gear crate" access = access_armory + group = "Security" /datum/supply_packs/exparmor name = "Experimental armor crate" @@ -594,6 +623,7 @@ containertype = "/obj/structure/closet/crate/secure" containername = "Experimental armor crate" access = access_armory + group = "Security" /datum/supply_packs/securitybarriers name = "Security Barriers" @@ -604,6 +634,7 @@ cost = 20 containertype = "/obj/structure/closet/crate/secure/gear" containername = "Secruity Barriers crate" + group = "Security" /datum/supply_packs/hats/ contains = list("/obj/item/clothing/head/collectable/chef", @@ -634,6 +665,7 @@ cost = 200 containertype = "/obj/structure/closet/crate/hat" containername = "Collectable Hats Crate! Brought to you by Bass.inc!" + group = "Clothing" /datum/supply_packs/hats/New() var/list/tempContains = list() diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 269a4ff4a69..4879a46e3c2 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -18,6 +18,7 @@ var/supply_shuttle_time = 0 var/supply_shuttle_timeleft = 0 var/supply_shuttle_points = 50 var/ordernum=0 +var/list/supply_groups = new() /area/supply/station //DO NOT TURN THE SD_LIGHTING STUFF ON FOR SHUTTLES. IT BREAKS THINGS. name = "supply shuttle" @@ -78,6 +79,14 @@ var/ordernum=0 var/temp = null var/hacked = 0 +/obj/machinery/computer/supplycomp/New() + // add the supply pack groups, if they haven't already been added + if(supply_groups.len == 0) + for(var/S in (typesof(/datum/supply_packs) - /datum/supply_packs - /datum/supply_packs/charge) ) + var/datum/supply_packs/N = new S() + if(supply_groups.Find(N.group) == 0) + supply_groups += N.group + /obj/machinery/computer/ordercomp name = "Supply ordering console" icon = 'computer.dmi' @@ -85,6 +94,14 @@ var/ordernum=0 circuit = "/obj/item/weapon/circuitboard/ordercomp" var/temp = null +/obj/machinery/computer/ordercomp/New() + // add the supply pack groups, if they haven't already been added + if(supply_groups.len == 0) + for(var/S in (typesof(/datum/supply_packs) - /datum/supply_packs - /datum/supply_packs/charge) ) + var/datum/supply_packs/N = new S() + if(supply_groups.Find(N.group) == 0) + supply_groups += N.group + /obj/effect/marker/supplymarker icon_state = "X" icon = 'mark.dmi' @@ -107,6 +124,7 @@ var/ordernum=0 var/containername = null var/access = null var/hidden = 0 + var/group = "Miscellaneous" /proc/supply_ticker() //world << "Supply ticker ticked : Adding [SUPPLY_POINTSPER] to [supply_shuttle_points]." @@ -252,13 +270,21 @@ var/ordernum=0 usr.machine = src if (href_list["order"]) + src.temp = "Supply points: [supply_shuttle_points]


Request what?

" + for(var/G in supply_groups) + src.temp += "[G]
" + src.temp += "
Back" + + else if (href_list["order_group"]) + var/G = href_list["order_group"] src.temp = "Supply points: [supply_shuttle_points]


Request what?

" for(var/S in (typesof(/datum/supply_packs) - /datum/supply_packs - /datum/supply_packs/charge) ) var/datum/supply_packs/N = new S() if(N.hidden) continue //Have to send the type instead of a reference to + if(N.group != G) continue //correct group? src.temp += "[N.name] Cost: [N.cost] " //the obj because it would get caught by the garbage src.temp += "Print Requisition
" //collector. oh well. - src.temp += "
OK" + src.temp += "
Back" else if (href_list["doorder"]) var/datum/supply_order/O = new/datum/supply_order () @@ -436,13 +462,21 @@ var/ordernum=0 supply_process() if (href_list["order"]) + src.temp = "Supply points: [supply_shuttle_points]


Request what?

" + for(var/G in supply_groups) + src.temp += "[G]
" + src.temp += "
Back" + + else if (href_list["order_group"]) + var/G = href_list["order_group"] if(supply_shuttle_moving) return src.temp = "Supply points: [supply_shuttle_points]


Request what?

" for(var/S in (typesof(/datum/supply_packs) - /datum/supply_packs - /datum/supply_packs/charge) ) var/datum/supply_packs/N = new S() if(N.hidden && !src.hacked) continue //Have to send the type instead of a reference to + if(N.group != G) continue //correct group? src.temp += "[N.name] Cost: [N.cost]
" //the obj because it would get caught by the garbage - src.temp += "
OK" //collector. oh well. + src.temp += "
Back" //collector. oh well. else if (href_list["doorder"])