mirror of
https://github.com/goonstation/goonstation-2020.git
synced 2026-08-23 12:06:12 +01:00
1453 lines
51 KiB
Plaintext
1453 lines
51 KiB
Plaintext
|
|
/proc/build_supply_pack_cache()
|
|
qm_supply_cache.Cut()
|
|
for(var/S in childrentypesof(/datum/supply_packs))
|
|
qm_supply_cache += new S()
|
|
|
|
/datum/supply_order
|
|
var/datum/supply_packs/object = null
|
|
var/orderedby = null
|
|
var/comment = null
|
|
var/whos_id = null
|
|
var/console_location = null
|
|
|
|
proc/create(var/spawnpoint, var/mob/orderer)
|
|
var/atom/movable/A = object.create(spawnpoint, orderer)
|
|
|
|
if(!isnull(whos_id))
|
|
A.name = "[A.name], Ordered by [whos_id:registered], [comment ? "([comment])":"" ]"
|
|
else
|
|
A.name = "[A.name] [comment ? "([comment])":"" ]"
|
|
|
|
if(comment)
|
|
A.delivery_destination = comment
|
|
|
|
return A
|
|
|
|
//SUPPLY PACKS
|
|
//NOTE: only secure crate types use the access var (and are lockable)
|
|
//NOTE: hidden packs only show up when the computer has been hacked.
|
|
|
|
/datum/supply_packs
|
|
var/name = null
|
|
var/desc = null
|
|
var/list/contains = list()
|
|
var/amount = null
|
|
var/cost = null
|
|
var/containertype = null
|
|
var/containername = null
|
|
var/category = "Miscellaneous"
|
|
var/access = null
|
|
var/hidden = 0 //So as it turns out this is used in construction mode hardyhar
|
|
var/syndicate = 0 //If this is one the crate will only show up when the console is emagged
|
|
var/id = 0 //What jobs can order it
|
|
var/whos_id = null //linked ID
|
|
|
|
proc/create(var/spawnpoint, var/mob/creator)
|
|
if (!spawnpoint)
|
|
return null
|
|
var/atom/movable/A
|
|
if (!ispath(containertype) && contains.len > 1)
|
|
containertype = text2path(containertype)
|
|
if (!ispath(containertype))
|
|
containertype = /obj/storage/crate // this did not need to be a string
|
|
|
|
if (ispath(containertype))
|
|
#ifdef HALLOWEEN
|
|
if (halloween_mode && prob(10))
|
|
A = new /obj/storage/crate/haunted(spawnpoint)
|
|
else
|
|
A = new containertype(spawnpoint)
|
|
#else
|
|
A = new containertype(spawnpoint)
|
|
#endif
|
|
if (A)
|
|
spawnpoint = A // set the spawnpoint to the container we made so we don't have to duplicate the contains spawner loop
|
|
if (containername)
|
|
A.name = containername
|
|
|
|
if (access && isobj(A))
|
|
var/obj/O = A
|
|
O.req_access = list()
|
|
O.req_access += text2num(access)
|
|
|
|
if (contains.len)
|
|
for (var/B in contains)
|
|
var/thepath = B
|
|
if (!ispath(thepath))
|
|
thepath = text2path(B)
|
|
if (!ispath(thepath))
|
|
continue
|
|
|
|
var/amt = 1
|
|
if (isnum(contains[B]))
|
|
amt = abs(contains[B])
|
|
|
|
for (amt, amt>0, amt--)
|
|
var/atom/thething = new thepath(spawnpoint)
|
|
if (amount && isitem(thething))
|
|
var/obj/item/I = thething
|
|
I.amount = amount
|
|
if (A)
|
|
return A
|
|
return null
|
|
|
|
/datum/supply_packs/emptycrate
|
|
name = "Empty Crate"
|
|
desc = "Nothing (crate only)"
|
|
contains = list()
|
|
cost = 10
|
|
containertype = /obj/storage/crate
|
|
containername = "crate"
|
|
|
|
/datum/supply_packs/specialops
|
|
name = "Special Ops Supplies"
|
|
desc = "x1 Sleepy Pen, x1 Holographic Disguiser, x1 Signal Jammer, x1 Agent Card, x1 EMP Grenade Kit, x1 Tactical Grenades Kit"
|
|
contains = list(/obj/item/card/id/syndicate,
|
|
/obj/item/storage/box/emp_kit,
|
|
/obj/item/storage/box/tactical_kit,
|
|
/obj/item/pen/sleepypen,
|
|
/obj/item/device/disguiser,
|
|
/obj/item/radiojammer)
|
|
cost = 80000
|
|
containertype = /obj/storage/crate
|
|
containername = "Special Ops Crate"
|
|
syndicate = 1
|
|
|
|
/datum/supply_packs/paint
|
|
name = "Paint Cans"
|
|
desc = "A selection of random paints."
|
|
contains = list(/obj/item/paint_can/random = 4)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate
|
|
containername = "Paint Crate"
|
|
|
|
/datum/supply_packs/metal200
|
|
name = "200 Metal Sheets"
|
|
desc = "x200 Metal Sheets"
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/sheet/steel)
|
|
amount = 200
|
|
cost = 2000
|
|
containertype = /obj/storage/crate
|
|
containername = "Metal Sheets Crate - 200 pack"
|
|
|
|
/datum/supply_packs/metal50
|
|
name = "50 Metal Sheets"
|
|
desc = "x50 Metal Sheets"
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/sheet/steel)
|
|
amount = 50
|
|
cost = 500
|
|
containertype = /obj/storage/crate
|
|
containername = "Metal Sheets Crate - 50 pack"
|
|
|
|
/datum/supply_packs/glass200
|
|
name = "200 Glass Sheets"
|
|
desc = "x200 Glass Sheets"
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/sheet/glass)
|
|
amount = 200
|
|
cost = 2000
|
|
containertype = /obj/storage/crate
|
|
containername = "Glass Sheets Crate - 200 pack"
|
|
|
|
/datum/supply_packs/glass50
|
|
name = "50 Glass Sheets"
|
|
desc = "x50 Glass Sheets"
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/sheet/glass)
|
|
amount = 50
|
|
cost = 500
|
|
containertype = /obj/storage/crate
|
|
containername = "Glass Sheets Crate - 50 pack"
|
|
|
|
/datum/supply_packs/dryfoods
|
|
name = "Catering: Dry Goods Crate"
|
|
desc = "x25 Assorted Cooking Ingredients"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/food/snacks/ingredient/flour = 6,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/rice_sprig = 4,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/spaghetti = 3,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/sugar = 4,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/oatmeal = 3,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/tortilla = 3,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/pancake_batter = 2)
|
|
cost = 200
|
|
containertype = /obj/storage/crate/freezer
|
|
containername = "Catering: Dry Goods Crate"
|
|
|
|
/datum/supply_packs/meateggdairy
|
|
name = "Catering: Meat, Eggs and Dairy Crate"
|
|
desc = "x25 Assorted Cooking Ingredients"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/food/snacks/hotdog = 4,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/cheese = 4,
|
|
/obj/item/reagent_containers/food/drinks/milk = 4,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/meat/synthmeat = 3,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/meat/monkeymeat = 3,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/meat/fish/salmon,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/meat/fish/white,
|
|
/obj/item/kitchen/food_box/egg_box = 3,
|
|
/obj/item/storage/box/bacon_kit = 2)
|
|
cost = 600
|
|
containertype = /obj/storage/crate/freezer
|
|
containername = "Catering: Meat, Eggs and Dairy Crate"
|
|
|
|
/datum/supply_packs/produce
|
|
name = "Catering: Fresh Produce Crate"
|
|
desc = "x20 Assorted Cooking Ingredients"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/food/snacks/plant/apple = 2,
|
|
/obj/item/reagent_containers/food/snacks/plant/banana = 2,
|
|
/obj/item/reagent_containers/food/snacks/plant/carrot = 2,
|
|
/obj/item/reagent_containers/food/snacks/plant/corn = 2,
|
|
/obj/item/reagent_containers/food/snacks/plant/garlic,
|
|
/obj/item/reagent_containers/food/snacks/plant/lettuce = 2,
|
|
/obj/item/reagent_containers/food/snacks/plant/tomato = 4,
|
|
/obj/item/reagent_containers/food/snacks/plant/potato = 2,
|
|
/obj/item/reagent_containers/food/snacks/plant/onion,
|
|
/obj/item/reagent_containers/food/snacks/plant/lime,
|
|
/obj/item/reagent_containers/food/snacks/plant/lemon,
|
|
/obj/item/reagent_containers/food/snacks/plant/orange)
|
|
cost = 1050
|
|
containertype = /obj/storage/crate/freezer
|
|
containername = "Catering: Fresh Produce Crate"
|
|
|
|
/datum/supply_packs/condiment
|
|
name = "Catering: Condiment Crate"
|
|
desc = "x25 Assorted Cooking Ingredients"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/food/snacks/condiment/chocchips = 3,
|
|
/obj/item/reagent_containers/food/snacks/condiment/cream = 2,
|
|
/obj/item/reagent_containers/food/snacks/condiment/custard,
|
|
/obj/item/reagent_containers/food/snacks/condiment/hotsauce = 3,
|
|
/obj/item/reagent_containers/food/snacks/condiment/ketchup = 4,
|
|
/obj/item/reagent_containers/food/snacks/condiment/mayo = 4,
|
|
/obj/item/reagent_containers/food/snacks/condiment/syrup = 3,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/peanutbutter = 3,
|
|
/obj/item/reagent_containers/food/snacks/ingredient/honey = 2)
|
|
cost = 250
|
|
containertype = /obj/storage/crate/freezer
|
|
containername = "Catering: Condiment Crate"
|
|
|
|
/datum/supply_packs/electrical4
|
|
name = "Electrical Supplies Crate - 4 pack"
|
|
desc = "x4 Cabling Box (28 cable coils total)"
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/storage/box/cablesbox = 4)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate
|
|
containername = "Electrical Supplies Crate - 4 pack"
|
|
|
|
/datum/supply_packs/engineering
|
|
name = "Engineering Crate"
|
|
desc = "x2 Mechanical Toolbox, x2 Welding Mask, x2 Insulated Gloves"
|
|
category = "Engineering Department"
|
|
contains = list(/obj/item/storage/toolbox/mechanical = 2,
|
|
/obj/item/clothing/head/helmet/welding = 2,
|
|
/obj/item/clothing/gloves/yellow = 2)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate
|
|
containername = "Engineering Crate"
|
|
|
|
/datum/supply_packs/generator
|
|
name = "Experimental Local Generator"
|
|
desc = "x1 Experimental Local Generator"
|
|
category = "Engineering Department"
|
|
contains = list(/obj/machinery/power/lgenerator)
|
|
cost = 2500
|
|
containertype = /obj/storage/crate
|
|
containername = "Experimental Local Generator Crate"
|
|
|
|
/datum/supply_packs/medicalfirstaid
|
|
name = "Medical: First Aid Crate"
|
|
desc = "x10 Assorted First Aid Kits"
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/storage/firstaid/regular = 2,
|
|
/obj/item/storage/firstaid/brute = 2,
|
|
/obj/item/storage/firstaid/fire = 2,
|
|
/obj/item/storage/firstaid/toxin = 2,
|
|
/obj/item/storage/firstaid/oxygen,
|
|
/obj/item/storage/firstaid/brain)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate/medical
|
|
containername = "Medical: First Aid Crate"
|
|
|
|
/datum/supply_packs/medicalchems
|
|
name = "Medical: Medical Reservoir Crate"
|
|
desc = "x4 Assorted reservoir beakers, x2 Sedative bottles, x2 Hyposprays, x1 Syringe Kit"
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/reagent_containers/glass/beaker/large/antitox,
|
|
/obj/item/reagent_containers/glass/beaker/large/epinephrine,
|
|
/obj/item/reagent_containers/glass/beaker/large/brute,
|
|
/obj/item/reagent_containers/glass/beaker/large/burn,
|
|
/obj/item/reagent_containers/glass/bottle/morphine = 2,
|
|
/obj/item/reagent_containers/hypospray = 2,
|
|
/obj/item/storage/box/syringes)
|
|
cost = 1500
|
|
containertype = /obj/storage/crate/medical
|
|
containername = "Medical Crate"
|
|
|
|
|
|
/datum/supply_packs/janitor
|
|
name = "Janitorial Supplies"
|
|
desc = "x3 Buckets, x1 Mop, x3 Wet Floor Signs, x3 Cleaning Grenades, x1 Mop Bucket"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/glass/bucket = 3,
|
|
/obj/item/mop,
|
|
/obj/item/caution = 3,
|
|
/obj/item/chem_grenade/cleaner = 3,
|
|
/obj/mopbucket)
|
|
cost = 500
|
|
containertype = /obj/storage/crate
|
|
containername = "Janitorial Supplies"
|
|
|
|
/datum/supply_packs/hydrostarter
|
|
name = "Hydroponics: Starter Crate"
|
|
desc = "x2 Watering Cans, x4 Compost Bags, x2 Weedkiller bottles, x2 Plant Analyzers, x4 Plant Trays"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/glass/wateringcan = 2,
|
|
/obj/item/reagent_containers/glass/compostbag = 4,
|
|
/obj/item/reagent_containers/glass/bottle/weedkiller = 2,
|
|
/obj/item/plantanalyzer = 2,
|
|
/obj/machinery/plantpot = 4)
|
|
cost = 500
|
|
containertype = /obj/storage/crate
|
|
containername = "Hydroponics: Starter Crate"
|
|
|
|
/datum/supply_packs/hydronutrient
|
|
name = "Hydroponics: Nutrient Pack"
|
|
desc = "x15 Nutrient Formulas"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/glass/bottle/fruitful = 3,
|
|
/obj/item/reagent_containers/glass/bottle/mutriant = 3,
|
|
/obj/item/reagent_containers/glass/bottle/groboost = 3,
|
|
/obj/item/reagent_containers/glass/bottle/topcrop = 3,
|
|
/obj/item/reagent_containers/glass/bottle/powerplant = 3)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate
|
|
containername = "Hydroponics: Nutrient Crate"
|
|
|
|
/datum/supply_packs/mining
|
|
name = "Mining Equipment"
|
|
desc = "x1 Powered Pickaxe, x1 Power Hammer, x1 Optical Meson Scanner, x1 Geological Scanner, x2 Mining Satchel, x3 Mining Explosives"
|
|
category = "Engineering Department"
|
|
contains = list(/obj/item/mining_tool/power_pick,
|
|
/obj/item/mining_tool/powerhammer,
|
|
/obj/item/clothing/glasses/meson,
|
|
/obj/item/oreprospector,
|
|
/obj/item/satchel/mining = 2,
|
|
/obj/item/breaching_charge/mining = 3)
|
|
cost = 500
|
|
containertype = /obj/storage/secure/crate/plasma
|
|
containername = "Mining Equipment Crate (Cardlocked \[Mining])"
|
|
access = access_mining
|
|
|
|
/datum/supply_packs/monkey4
|
|
name = "Lab Monkey Crate - 4 pack"
|
|
desc = "x4 Monkey"
|
|
category = "Research Department"
|
|
contains = list(/mob/living/carbon/human/npc/monkey = 4)
|
|
cost = 500
|
|
containertype = /obj/storage/crate/medical
|
|
containername = "Lab Monkey Crate"
|
|
|
|
/datum/supply_packs/bee
|
|
name = "Honey Production Kit"
|
|
desc = "For use with existing hydroponics bay."
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/bee_egg_carton = 5)
|
|
cost = 450
|
|
containertype = /obj/storage/secure/crate/bee
|
|
containername = "Honey Production Kit (Cardlocked \[Hydroponics])"
|
|
access = access_hydro
|
|
create(var/sp, var/mob/creator)
|
|
var/obj/storage/secure/crate/bee/beez=..()
|
|
for(var/obj/item/bee_egg_carton/carton in beez)
|
|
carton.ourEgg.blog = "ordered by [key_name(creator)]|"
|
|
return beez
|
|
|
|
/datum/supply_packs/chemical
|
|
name = "Chemistry Resupply Crate (Cardlocked \[Research])"
|
|
desc = "x6 Reagent Bottles, x1 Beaker Box, x1 Mechanical Dropper, x1 Spectroscopic Goggles, x1 Reagent Scanner"
|
|
category = "Research Department"
|
|
contains = list(/obj/item/storage/box/beakerbox,
|
|
/obj/item/reagent_containers/glass/bottle/oil,
|
|
/obj/item/reagent_containers/glass/bottle/phenol,
|
|
/obj/item/reagent_containers/glass/bottle/acid,
|
|
/obj/item/reagent_containers/glass/bottle/acetone,
|
|
/obj/item/reagent_containers/glass/bottle/diethylamine,
|
|
/obj/item/reagent_containers/glass/bottle/ammonia,
|
|
/obj/item/reagent_containers/dropper/mechanical,
|
|
/obj/item/clothing/glasses/spectro,
|
|
/obj/item/device/reagentscanner)
|
|
cost = 500
|
|
containertype = /obj/storage/secure/crate/plasma
|
|
containername = "Chemistry Resupply Crate (Cardlocked \[Research])"
|
|
access = access_tox
|
|
|
|
|
|
// Added security resupply crate (Convair880).
|
|
/datum/supply_packs/security_resupply
|
|
name = "Weapons Crate - Security Equipment (Cardlocked \[Security])"
|
|
desc = "x1 Port-a-Brig and remote, x1 Taser, x1 Stun Baton, x1 Security-Issue Grenade Box, x1 Handcuff Kit"
|
|
category = "Security Department"
|
|
contains = list(/obj/machinery/port_a_brig,
|
|
/obj/item/remote/porter/port_a_brig,
|
|
/obj/item/gun/energy/taser_gun,
|
|
/obj/item/baton,
|
|
/obj/item/storage/box/QM_grenadekit_security,
|
|
/obj/item/storage/box/handcuff_kit)
|
|
cost = 5000
|
|
containertype = /obj/storage/secure/crate/weapon
|
|
containername = "Weapons Crate - Security Equipment (Cardlocked \[Security])"
|
|
access = access_security
|
|
|
|
/datum/supply_packs/security_upgrade //Azungar's upgrade pack for security.
|
|
name = "Weapons Crate - Security Equipment Upgrade (Cardlocked \[Security])"
|
|
desc = "x1 Taser Shotgun, x1 Elite Security Helmet"
|
|
category = "Security Department"
|
|
contains = list(/obj/item/gun/energy/tasershotgun,
|
|
/obj/item/clothing/head/helmet/hardhat/security/improved)
|
|
cost = 15000
|
|
containertype = /obj/storage/secure/crate/weapon
|
|
containername = "Weapons Crate - Security Equipment Upgrade (Cardlocked \[Security])"
|
|
access = access_security
|
|
|
|
/datum/supply_packs/weapons2
|
|
name = "Weapons Crate - Phasers (Cardlocked \[Security])"
|
|
desc = "x2 Phaser Gun"
|
|
category = "Security Department"
|
|
contains = list(/obj/item/gun/energy/phaser_gun = 2)
|
|
cost = 5000
|
|
containertype = /obj/storage/secure/crate/weapon
|
|
containername = "Weapons Crate - Phasers (Cardlocked \[Security])"
|
|
access = access_security
|
|
|
|
/datum/supply_packs/eweapons
|
|
name = "Weapons Crate - Experimental (Cardlocked \[Security])"
|
|
desc = "x1 Wave gun, x1 Experimental Grenade Box (7 grenades)"
|
|
category = "Security Department"
|
|
contains = list(/obj/item/gun/energy/wavegun,
|
|
/obj/item/storage/box/QM_grenadekit_experimentalweapons)
|
|
cost = 5000
|
|
containertype = /obj/storage/secure/crate/weapon
|
|
containername = "Weapons Crate - Experimental (Cardlocked \[Security])"
|
|
access = access_security
|
|
|
|
/datum/supply_packs/evacuation
|
|
name = "Emergency Equipment"
|
|
desc = "x4 Floor Bot, x5 Air Tank, x5 Gas Mask"
|
|
contains = list(/obj/machinery/bot/floorbot = 4,
|
|
/obj/item/tank/air = 5,
|
|
/obj/item/clothing/mask/gas = 5)
|
|
cost = 1500
|
|
containertype = /obj/storage/crate/internals
|
|
containername = "Emergency Equipment"
|
|
|
|
/datum/supply_packs/alcohol
|
|
name = "Alcohol Crate"
|
|
desc = "x8 Assorted Liquor"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/storage/box/beer,
|
|
/obj/item/reagent_containers/food/drinks/bottle/beer,
|
|
/obj/item/reagent_containers/food/drinks/bottle/wine,
|
|
/obj/item/reagent_containers/food/drinks/bottle/mead,
|
|
/obj/item/reagent_containers/food/drinks/bottle/cider,
|
|
/obj/item/reagent_containers/food/drinks/bottle/rum,
|
|
/obj/item/reagent_containers/food/drinks/bottle/vodka,
|
|
/obj/item/reagent_containers/food/drinks/bottle/tequila)
|
|
cost = 300
|
|
containertype = /obj/storage/crate
|
|
containername = "Alcohol Crate"
|
|
|
|
/datum/supply_packs/robot
|
|
name = "Robotics Crate"
|
|
desc = "x1 Securitron, x1 Floorbot, x1 Cleanbot, x1 Medibot, x1 Firebot"
|
|
category = "Medical Department"
|
|
contains = list(/obj/machinery/bot/secbot,
|
|
/obj/machinery/bot/floorbot,
|
|
/obj/machinery/bot/cleanbot,
|
|
/obj/machinery/bot/medbot,
|
|
/obj/machinery/bot/firebot)
|
|
cost = 2000
|
|
containertype = /obj/storage/crate
|
|
containername = "Robotics Crate"
|
|
|
|
/datum/supply_packs/mulebot
|
|
name = "Replacement Mulebot"
|
|
desc = "x1 Mulebot"
|
|
category = "Engineering Department"
|
|
contains = list("/obj/machinery/bot/mulebot")
|
|
cost = 750
|
|
containertype = /obj/storage/crate
|
|
containername = "Replacement Mulebot Crate"
|
|
|
|
/datum/supply_packs/dressup
|
|
name = "Novelty Clothing Crate"
|
|
desc = "Assorted Novelty Clothing"
|
|
contains = list(/obj/random_item_spawner/dressup)
|
|
cost = 15000
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Novelty Clothing Crate"
|
|
|
|
#ifdef HALLOWEEN
|
|
/datum/supply_packs/halloween
|
|
name = "Spooky Crate"
|
|
desc = "WHAT COULD IT BE? SPOOKY GHOSTS?? TERRIFYING SKELETONS??? DARE YOU FIND OUT?!"
|
|
contains = list(/obj/item/storage/goodybag = 6)
|
|
cost = 250
|
|
containertype = /obj/storage/crate
|
|
containername = "Spooky Crate"
|
|
#endif
|
|
|
|
#ifdef XMAS
|
|
/datum/supply_packs/xmas
|
|
name = "Holiday Supplies"
|
|
desc = "Winter joys from the workshop of Santa Claus himself! (Amusing Trivia: Santa Claus does not infact exist.)"
|
|
contains = list(/obj/item/clothing/head/helmet/space/santahat = 3,
|
|
/obj/item/wrapping_paper/xmas = 2,
|
|
/obj/item/scissors,
|
|
/obj/item/reagent_containers/food/drinks/eggnog = 2,
|
|
/obj/item/a_gift/festive = 2)
|
|
cost = 500
|
|
containertype = /obj/storage/crate/xmas
|
|
containername = "Holiday Supplies"
|
|
#endif
|
|
|
|
/datum/supply_packs/party
|
|
name = "Party Supplies"
|
|
desc = "Perfect for celebrating any special occasion!"
|
|
contains = list(/obj/item/clothing/head/party/birthday = 1,
|
|
/obj/item/clothing/head/party/birthday/blue = 1,
|
|
/obj/item/clothing/head/party/random = 5,
|
|
/obj/item/wrapping_paper = 2,
|
|
/obj/item/scissors,
|
|
/obj/item/item_box/assorted/stickers,
|
|
/obj/item/storage/box/balloonbox = 2,
|
|
/obj/item/reagent_containers/food/drinks/duo = 6,
|
|
/obj/item/reagent_containers/food/drinks/bottle/beer = 6,
|
|
/obj/item/reagent_containers/food/snacks/cake/chocolate = 1)
|
|
cost = 750
|
|
containertype = /obj/storage/crate
|
|
containername = "Party Supplies"
|
|
|
|
/datum/supply_packs/fueltank
|
|
name = "Welding Fuel tank"
|
|
desc = "1x Welding Fuel tank"
|
|
category = "Basic Materials"
|
|
contains = list(/obj/reagent_dispensers/fueltank)
|
|
cost = 4000
|
|
containertype = /obj/storage/crate
|
|
containername = "Welding Fuel Tank crate"
|
|
|
|
/datum/supply_packs/watertank
|
|
name = "High Capacity Watertank"
|
|
desc = "1x High Capacity Watertank"
|
|
category = "Basic Materials"
|
|
contains = list(/obj/reagent_dispensers/watertank/big)
|
|
cost = 2500
|
|
containertype = /obj/storage/crate
|
|
containername = "High Capacity Watertank crate"
|
|
|
|
/datum/supply_packs/compostbin
|
|
name = "Compost Bin"
|
|
desc = "1x Compost Bin"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/reagent_dispensers/compostbin)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate
|
|
containername = "Compost Bin crate"
|
|
|
|
/datum/supply_packs/office
|
|
name = "Office Supply Crate"
|
|
desc = "x4 Paper Bins, x2 Clipboards, x1 Sticky Note Stacks, x5 Writing Implement Sets, x1 Stapler, x1 Scissors"
|
|
contains = list(/obj/item/paper_bin = 4,
|
|
/obj/item/clipboard = 2,
|
|
/obj/item/postit_stack,
|
|
/obj/item/storage/box/pen,
|
|
/obj/item/storage/box/marker/basic,
|
|
/obj/item/storage/box/marker,
|
|
/obj/item/storage/box/crayon/basic,
|
|
/obj/item/storage/box/crayon,
|
|
/obj/item/staple_gun/red,
|
|
/obj/item/scissors,
|
|
/obj/item/stamp = 2)
|
|
cost = 250
|
|
containername = "Office Supply Crate"
|
|
|
|
// vvv Adding some suggestions from the QM Order Thread (Gannets) vvv
|
|
|
|
/datum/supply_packs/birds
|
|
name = "Avian Import Kit"
|
|
desc = "x5 hand-reared birds to help brighten your workplace."
|
|
category = "Civilian Department"
|
|
contains = list(/obj/critter/parrot/random = 5)
|
|
cost = 2000
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Avian Import Kit"
|
|
|
|
/datum/supply_packs/animal
|
|
name = "Animal Import Kit"
|
|
desc = "A random pile of animals."
|
|
category = "Civilian Department"
|
|
contains = list (/obj/random_item_spawner/critter)
|
|
cost = 2000
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Animal Import Kit"
|
|
|
|
/datum/supply_packs/takeout_chinese
|
|
name = "Golden Gannet Delivery"
|
|
desc = "A Space Chinese meal for two, delivered galaxy-wide."
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/food/snacks/takeout = 2,
|
|
/obj/item/reagent_containers/food/snacks/fortune_cookie = 2)
|
|
cost = 200
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Golden Gannet Delivery"
|
|
|
|
/datum/supply_packs/takeout_pizza
|
|
name = "Soft Soft Pizzeria Delivery"
|
|
desc = "Two fresh-baked pizza meals, straight from the oven to your airlock."
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/reagent_containers/food/snacks/pizza = 2,
|
|
/obj/item/reagent_containers/food/snacks/fries = 2,
|
|
/obj/item/reagent_containers/food/drinks/cola = 2)
|
|
cost = 200
|
|
containertype = /obj/storage/crate/pizza
|
|
containername = "Soft Soft Pizza Delivery"
|
|
|
|
/datum/supply_packs/clown
|
|
name = "Comedy Equipment"
|
|
desc = "Entertainers burn bright but die young, outfit a new one with this crate!"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/storage/box/costume/clown,
|
|
/obj/item/instrument/bikehorn,
|
|
/obj/item/bananapeel,
|
|
/obj/item/reagent_containers/food/snacks/pie/cream,
|
|
/obj/item/storage/box/balloonbox)
|
|
cost = 500
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Comedy Equipment"
|
|
|
|
/datum/supply_packs/ID_gear
|
|
name = "Identity Kit"
|
|
desc = "For HOP use only. Certainly not for identity fraud."
|
|
contains = list(/obj/item/storage/box/PDAbox,
|
|
/obj/item/storage/box/id_kit)
|
|
cost = 1500
|
|
containertype = /obj/storage/secure/crate
|
|
containername = "Identity Kit"
|
|
access = access_heads
|
|
|
|
/datum/supply_packs/prosphetics
|
|
name = "Prosthetic Augmentation Kit"
|
|
desc = "Replace your feeble flesh with these mechanical substitutes."
|
|
category = "Medical Department"
|
|
contains = list(/obj/random_item_spawner/prosthetics)
|
|
cost = 2000
|
|
containertype = /obj/storage/crate
|
|
containername = "Prosthetic Augmentation Kit"
|
|
|
|
/datum/supply_packs/restricted_medicine
|
|
name = "Restricted Medicine Shipment"
|
|
desc = "A shipment of specialised medicines. Card-locked to medical access."
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/reagent_containers/glass/bottle/omnizine,
|
|
/obj/item/reagent_containers/glass/bottle/pfd = 2,
|
|
/obj/item/reagent_containers/glass/bottle/pentetic,
|
|
/obj/item/reagent_containers/glass/bottle/haloperidol,
|
|
/obj/item/reagent_containers/glass/bottle/ether)
|
|
cost = 6000
|
|
containertype = /obj/storage/secure/crate
|
|
containername = "Restricted Medicine Shipment (Cardlocked \[Medical])"
|
|
access = access_medical_director
|
|
|
|
/datum/supply_packs/cyborg
|
|
name = "Cyborg Component Crate"
|
|
desc = "Build your very own walking science nightmare! (Brain not included.)"
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/parts/robot_parts/robot_frame,
|
|
/obj/item/parts/robot_parts/head/sturdy,
|
|
/obj/item/parts/robot_parts/chest,
|
|
/obj/item/parts/robot_parts/arm/left/sturdy,
|
|
/obj/item/parts/robot_parts/arm/right/sturdy,
|
|
/obj/item/parts/robot_parts/leg/left,
|
|
/obj/item/parts/robot_parts/leg/right,
|
|
/obj/item/cable_coil)
|
|
cost = 4500
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Junior Medical Science Set: For Ages 7+"
|
|
|
|
/datum/supply_packs/chemistry_resupply
|
|
name = "Chemistry Resupply Crate"
|
|
desc = "All the nessesary precursors needed to jump in to advanced chemistry."
|
|
category = "Research Department"
|
|
contains = list(/obj/item/reagent_containers/glass/beaker/large = 4,
|
|
/obj/item/storage/box/beakerbox = 2,
|
|
/obj/item/reagent_containers/glass/bottle/oil,
|
|
/obj/item/reagent_containers/glass/bottle/phenol,
|
|
/obj/item/reagent_containers/glass/bottle/acetone,
|
|
/obj/item/reagent_containers/glass/bottle/ammonia,
|
|
/obj/item/reagent_containers/glass/bottle/diethylamine,
|
|
/obj/item/reagent_containers/glass/bottle/acid)
|
|
cost = 3000
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Chemistry Resupply Crate"
|
|
|
|
/datum/supply_packs/rcd
|
|
name = "Rapid-construction-device Replacement"
|
|
desc = "Contains one empty rapid-construction-device."
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/rcd)
|
|
cost = 60000
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "RCD Replacement"
|
|
|
|
/datum/supply_packs/winter
|
|
name = "Cold Weather Gear"
|
|
desc = "Warm winter gear to ward off the winter chills."
|
|
contains = list(/obj/item/clothing/suit/wintercoat = 5,
|
|
/obj/machinery/space_heater = 2,
|
|
/obj/item/reagent_containers/food/drinks/chickensoup = 2,
|
|
/obj/item/reagent_containers/food/drinks/coffee = 2)
|
|
cost = 3000
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Cold Weather Gear"
|
|
|
|
/datum/supply_packs/buddy
|
|
name = "Thinktronic Build Your Own Buddy Kit"
|
|
desc = "Assemble your very own working Robuddy, one part per week."
|
|
contains = list(/obj/item/guardbot_frame,
|
|
/obj/item/guardbot_core,
|
|
/obj/item/cell,
|
|
/obj/item/parts/robot_parts/arm/right/sturdy,
|
|
/obj/random_item_spawner/buddytool)
|
|
cost = 7500
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Robuddy Kit"
|
|
|
|
/datum/supply_packs/meteor
|
|
name = "Meteor Shield System"
|
|
desc = "It'll do in a pinch but your ship should really have it's own shields."
|
|
contains = list(/obj/machinery/shieldgenerator/meteorshield = 4)
|
|
cost = 2500
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Meteor Shield System"
|
|
|
|
/datum/supply_packs/atmos
|
|
name = "Atmospherics Supplies"
|
|
desc = "For when you need to be breathing."
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/tank/air,
|
|
/obj/item/tank/oxygen,
|
|
/obj/machinery/portable_atmospherics/scrubber = 2,
|
|
/obj/item/clothing/under/misc/atmospheric_technician)
|
|
cost = 8000
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Atmospherics Supplies"
|
|
|
|
/datum/supply_packs/reclaimer
|
|
name = "Reclaimed Reclaimer"
|
|
desc = "Jeez, be more careful with it next time!"
|
|
category = "Basic Materials"
|
|
contains = list(/obj/machinery/portable_reclaimer)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Reclaimed Reclaimer"
|
|
|
|
/datum/supply_packs/morgue
|
|
name = "Morgue Supplies"
|
|
desc = "The morgue can only fit so many clowns."
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/body_bag = 10,
|
|
/obj/item/reagent_containers/glass/bottle/formaldehyde,
|
|
/obj/item/reagent_containers/syringe,
|
|
/obj/item/storage/bible)
|
|
cost = 10000
|
|
containertype = /obj/storage/closet/coffin
|
|
containername = "Morgue Supplies"
|
|
|
|
/datum/supply_packs/computer
|
|
name = "Home Networking Kit"
|
|
desc = "Build your own state of the art computer system! (Contents may vary.)"
|
|
contains = list(/obj/item/sheet/glass/fullstack,
|
|
/obj/item/sheet/steel/fullstack,
|
|
/obj/item/cable_coil = 3,
|
|
/obj/item/motherboard,
|
|
/obj/random_item_spawner/peripherals,
|
|
/obj/random_item_spawner/circuitboards)
|
|
cost = 5000
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Home Networking Kit"
|
|
|
|
/datum/supply_packs/candle
|
|
name = "Candle Crate"
|
|
desc = "Perfect for setting the mood."
|
|
contains = list(/obj/item/device/light/candle = 3,
|
|
/obj/item/device/light/candle/small = 6,
|
|
/obj/item/matchbook)
|
|
cost = 500
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Candle Crate"
|
|
|
|
/datum/supply_packs/microbrew
|
|
name = "Home Distillery Kit"
|
|
desc = "Turn Cargo into a microbrewery."
|
|
contains = list(/obj/reagent_dispensers/still,
|
|
/obj/item/reagent_containers/food/drinks/drinkingglass/pitcher = 2,
|
|
/obj/item/reagent_containers/food/drinks/bottle = 6)
|
|
cost = 5000
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Home Distillery Kit"
|
|
|
|
/datum/supply_packs/bloodbags
|
|
name = "Blood Bank"
|
|
desc = "An emergency supply of blood."
|
|
category = "Medical Department"
|
|
contains = list (/obj/item/reagent_containers/iv_drip/blood = 4)
|
|
cost = 3000
|
|
containertype = /obj/storage/crate/medical
|
|
containername = "Blood Bank"
|
|
|
|
/datum/supply_packs/singularity_generator
|
|
name = "Singularity Generator Crate"
|
|
desc = "An extremely unstable gravitational singularity, stored in a hi-tech jam jar, fired directly at your current location."
|
|
category = "Engineering Department"
|
|
contains = list(/obj/machinery/the_singularitygen)
|
|
cost = 100000
|
|
containertype = /obj/storage/secure/crate
|
|
containername = "Singularity Generator Crate (Cardlocked \[Chief Engineer])"
|
|
access = access_engineering_chief
|
|
|
|
/datum/supply_packs/field_generator
|
|
name = "Field Generator Crate"
|
|
desc = "The four goal-posts needed to contain a singularity."
|
|
category = "Engineering Department"
|
|
contains = list(/obj/machinery/field_generator = 4)
|
|
cost = 40000
|
|
containertype = /obj/storage/secure/crate
|
|
containername = "Field Generator Crate (Cardlocked \[Engineering])"
|
|
access = access_engineering
|
|
|
|
/datum/supply_packs/emitter
|
|
name = "Emitter Crate"
|
|
desc = "Contains one emitter, for energizing field generators. You'll need a few of these."
|
|
category = "Engineering Department"
|
|
contains = list(/obj/machinery/emitter)
|
|
cost = 15000
|
|
containertype = /obj/storage/secure/crate
|
|
containername = "Emitter Crate (Cardlocked \[Engineering])"
|
|
access = access_engineering
|
|
|
|
/datum/supply_packs/rad_collector
|
|
name = "Radiation Collector Crate"
|
|
desc = "Four collector arrays and one controller, to harvest radiation from the singularity."
|
|
category = "Engineering Department"
|
|
contains = list(/obj/machinery/power/collector_array = 4,
|
|
/obj/machinery/power/collector_control)
|
|
cost = 5000
|
|
containertype = /obj/storage/secure/crate
|
|
containername = "Radiation Array Crate (Cardlocked \[Engineering])"
|
|
access = access_engineering
|
|
|
|
/datum/supply_packs/radiation_emergency
|
|
name = "Radioactive Emergency Supplies"
|
|
desc = "Equipment for dealing with a radioactive emergency. No, the crate itself is not radioactive."
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/clothing/suit/rad = 4,
|
|
/obj/item/clothing/head/rad_hood = 4,
|
|
/obj/item/storage/pill_bottle/antirad = 2,
|
|
/obj/item/reagent_containers/emergency_injector/anti_rad = 4)
|
|
cost = 2000
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Radiation Emergency Supplies"
|
|
|
|
/datum/supply_packs/eva
|
|
name = "EVA Equipment Crate"
|
|
desc = "Gear for enabling mobility in major hull damage scenarios."
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/clothing/head/helmet/space,
|
|
/obj/item/clothing/suit/space,
|
|
/obj/item/clothing/mask/gas/emergency,
|
|
/obj/item/tank/jetpack,
|
|
/obj/item/clothing/shoes/magnetic)
|
|
cost = 5000
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "EVA Equipment Crate"
|
|
|
|
/datum/supply_packs/abcu
|
|
name = "ABCU Unit Crate"
|
|
desc = "An additional ABCU Unit, for large construction projects."
|
|
category = "Engineering Department"
|
|
contains = list(/obj/machinery/abcu)
|
|
cost = 5000
|
|
containertype = /obj/storage/secure/crate
|
|
containername = "ABCU Unit Crate (Cardlocked \[Engineering])"
|
|
access = access_engineering
|
|
|
|
/datum/supply_packs/janitor_supplies
|
|
name = "Janitorial Supplies Refill"
|
|
desc = "Supplies to restock your hard-working Janitor."
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/chem_grenade/cleaner = 4,
|
|
/obj/item/spraybottle/cleaner = 2,
|
|
/obj/item/storage/box/trash_bags,
|
|
/obj/item/storage/box/biohazard_bags)
|
|
cost = 500
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Janitorial Supplies Refill"
|
|
|
|
/datum/supply_packs/toolbelts
|
|
name = "Utility Belt Crate"
|
|
desc = "Belts and tools to fill them to appease the staff assistant masses."
|
|
category = "Basic Materials"
|
|
contains = list(/obj/item/storage/belt/utility = 2,
|
|
/obj/item/storage/toolbox/mechanical = 2)
|
|
cost = 750
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Utility Belt Crate"
|
|
|
|
/datum/supply_packs/antibio
|
|
name = "Anti-Biological Hazard Supplies"
|
|
desc = " A couple of tools for combatting rogue biological lifeforms."
|
|
category = "Security Department"
|
|
contains = list(/obj/item/flamethrower/loaded,
|
|
/obj/item/storage/box/flaregun)
|
|
cost = 7000
|
|
containertype = /obj/storage/secure/crate
|
|
containername = "Anti-Biological Hazard Supplies (Cardlocked \[Security])"
|
|
access = access_security
|
|
|
|
/datum/supply_packs/loyaltyimplant
|
|
name = "Loyalty Kit"
|
|
desc = "To ensure unflinching loyalty towards glorious Nanotrasen."
|
|
category = "Security Department"
|
|
contains = list(/obj/item/implantcase/antirev = 4,
|
|
/obj/item/implanter = 2)
|
|
cost = 6000
|
|
containertype = /obj/storage/crate
|
|
containername = "Loyalty Kit"
|
|
access = access_security
|
|
|
|
/datum/supply_packs/furniture
|
|
name = "Furnishings Crate"
|
|
desc = "An assortment of flat-packed furniture, designed in Space Sweden."
|
|
contains = list(/obj/random_item_spawner/furniture_parts)
|
|
cost = 750
|
|
containertype = /obj/storage/crate/wooden
|
|
containername = "Furnishings Crate"
|
|
|
|
/datum/supply_packs/hat
|
|
name = "Haberdasher's Crate"
|
|
desc = "A veritable smörgåsbord of head ornaments."
|
|
contains = list(/obj/random_item_spawner/hat)
|
|
cost = 5000
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Haberdasher's Crate"
|
|
|
|
/datum/supply_packs/mask
|
|
name = "Masquerade Crate"
|
|
desc = "For hosting a masked ball in the bar."
|
|
contains = list(/obj/random_item_spawner/mask)
|
|
cost = 5000
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Masquerade Crate"
|
|
|
|
/datum/supply_packs/sponge
|
|
name = "Sponge Capsule Crate"
|
|
desc = "For all your watery animal needs!"
|
|
contains = list(/obj/item/spongecaps = 4)
|
|
cost = 5000
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Sponge Capsule Crate"
|
|
|
|
/datum/supply_packs/candy
|
|
name = "Candy Crate"
|
|
desc = "Proudly bringing sugar comas to your space stations since 2k53."
|
|
contains = list(/obj/item/item_box/heartcandy,
|
|
/obj/item/storage/goodybag,
|
|
/obj/item/item_box/swedish_bag,
|
|
/obj/item/kitchen/peach_rings)
|
|
cost = 500
|
|
containertype = /obj/storage/crate
|
|
containername = "Candy Crate"
|
|
|
|
/datum/supply_packs/light
|
|
name = "Lighting Crate"
|
|
desc = "Afraid of the dark? Lighten up your life with a couple of torches and a pile of glowsticks."
|
|
contains = list(/obj/item/device/light/glowstick = 8,
|
|
/obj/item/device/light/flashlight = 2)
|
|
cost = 500
|
|
containertype = /obj/storage/crate/packing
|
|
containername = "Lighting Crate"
|
|
|
|
// Kyle2143's vending restock packs
|
|
|
|
/datum/supply_packs/necessities_vending_restock
|
|
name = "Necessities Vending Machine Restocking Pack"
|
|
desc = "Various Vending Machine Restock Cartridges for necessities"
|
|
contains = list(/obj/item/vending/restock_cartridge/coffee,
|
|
/obj/item/vending/restock_cartridge/snack,
|
|
/obj/item/vending/restock_cartridge/cigarette,
|
|
/obj/item/vending/restock_cartridge/alcohol,
|
|
/obj/item/vending/restock_cartridge/cola,
|
|
/obj/item/vending/restock_cartridge/kitchen,
|
|
/obj/item/vending/restock_cartridge/monkey,
|
|
/obj/item/vending/restock_cartridge/standard)
|
|
cost = 3000
|
|
containertype = /obj/storage/crate
|
|
containername = "Necessities Vending Machine Restocking Pack"
|
|
|
|
/datum/supply_packs/med_hydro_vending_restock
|
|
name = "Medical/Hydroponics Vending Machine Restocking Pack"
|
|
desc = "Various Vending Machine Restock Cartridges for Med/Hydro"
|
|
contains = list(/obj/item/vending/restock_cartridge/hydroponics,
|
|
/obj/item/vending/restock_cartridge/medical,
|
|
/obj/item/vending/restock_cartridge/medical_public,
|
|
/obj/item/vending/restock_cartridge/kitchen)
|
|
cost = 3000
|
|
containertype = /obj/storage/crate
|
|
containername = "Med/Hydro Vending Machine Restocking Pack"
|
|
|
|
/datum/supply_packs/security_vending_restock
|
|
name = "Security Vending Machine Restocking Pack"
|
|
desc = "Various Vending Machine Restock Cartridges for security"
|
|
contains = list(/obj/item/vending/restock_cartridge/security,
|
|
/obj/item/vending/restock_cartridge/security_ammo)
|
|
cost = 5000
|
|
containertype = /obj/storage/crate
|
|
containername = "Security Vending Machine Restocking Pack"
|
|
|
|
/datum/supply_packs/electronics_vending_restock
|
|
name = "Electronics Vending Machine Restocking Pack"
|
|
desc = "Various Vending Machine Restock Cartridges for electronics"
|
|
contains = list(/obj/item/vending/restock_cartridge/electronics,
|
|
/obj/item/vending/restock_cartridge/mechanics,
|
|
/obj/item/vending/restock_cartridge/computer3,
|
|
/obj/item/vending/restock_cartridge/floppy,
|
|
/obj/item/vending/restock_cartridge/pda)
|
|
cost = 4000
|
|
containertype = /obj/storage/crate
|
|
containername = "Electronics Vending Machine Restocking Pack"
|
|
|
|
/*
|
|
Umm, apparently the packs below never get added? What's up with that. Construction mode :S -ZeWaka
|
|
*/
|
|
|
|
/datum/supply_packs/banking_kit
|
|
name = "Banking Kit"
|
|
desc = "Circuit Boards: 1x Bank Records, 1x ATM"
|
|
contains = list(/obj/item/circuitboard/atm,
|
|
/obj/item/circuitboard/bank_data)
|
|
hidden = 1
|
|
cost = 10000
|
|
containertype = /obj/storage/crate
|
|
containername = "Banking Kit"
|
|
|
|
/datum/supply_packs/homing_kit
|
|
name = "Homing Kit"
|
|
desc = "3x Tracking Beacon"
|
|
cost = 1000
|
|
hidden = 1
|
|
contains = list(/obj/item/device/radio/beacon = 3)
|
|
containertype = /obj/storage/crate
|
|
containername = "Homing Kit"
|
|
|
|
|
|
/datum/supply_packs/id_computer
|
|
name = "ID Computer Circuitboard"
|
|
desc = "1x ID Computer Circuitboard"
|
|
hidden = 1
|
|
contains = list(/obj/item/circuitboard/card)
|
|
cost = 10000
|
|
|
|
/datum/supply_packs/administrative_id
|
|
name = "Administrative ID card"
|
|
desc = "1x Captain level ID"
|
|
contains = list(/obj/item/card/id/captains_spare)
|
|
cost = 2500
|
|
hidden = 1
|
|
containertype = null
|
|
containername = null
|
|
|
|
/datum/supply_packs/plasmastone
|
|
name = "Plasmastone"
|
|
desc = "1x Plasmastone"
|
|
contains = list(/obj/item/raw_material/plasmastone)
|
|
cost = 7000
|
|
hidden = 1
|
|
containertype = null
|
|
containername = null
|
|
|
|
/datum/supply_packs/baton
|
|
name = "Stun Baton"
|
|
desc = "1x Stun Baton"
|
|
contains = list(/obj/item/baton)
|
|
cost = 3000
|
|
hidden = 1
|
|
containertype = null
|
|
containername = null
|
|
|
|
/datum/supply_packs/telecrystal
|
|
name = "Telecrystal"
|
|
desc = "1x Telecrystal"
|
|
contains = list(/obj/item/raw_material/telecrystal)
|
|
cost = 7000
|
|
hidden = 1
|
|
containertype = null
|
|
containername = null
|
|
|
|
/datum/supply_packs/telecrystal_bulk
|
|
name = "Telecrystal Resupply Pack"
|
|
desc = "10x Telecrystal"
|
|
contains = list(/obj/item/raw_material/telecrystal = 10)
|
|
cost = 63000
|
|
hidden = 1
|
|
containertype = /obj/storage/crate
|
|
containername = "Telecrystal Resupply Pack"
|
|
|
|
|
|
#ifdef MAP_OVERRIDE_MANTA
|
|
/datum/supply_packs/antisingularity
|
|
name = "Anti-Singularity Pack"
|
|
desc = "Everything that the crew needs to take down a rogue singularity."
|
|
category = "Engineering Department"
|
|
contains = list(/obj/item/paper/antisingularity,/obj/item/ammo/bullets/antisingularity = 5,/obj/item/gun/kinetic/antisingularity)
|
|
cost = 10000
|
|
containertype = /obj/storage/crate/classcrate/qm
|
|
containername = "Anti-Singularity Supply Pack"
|
|
#endif
|
|
|
|
/* ================================================= */
|
|
/* -------------------- Complex -------------------- */
|
|
/* ================================================= */
|
|
|
|
/datum/supply_packs/complex
|
|
hidden = 1
|
|
var/list/blueprints = list()
|
|
var/list/frames = list()
|
|
|
|
create(var/spawnpoint)
|
|
var/atom/movable/A = ..()
|
|
if (!A)
|
|
// TODO: spawn a new crate instead of just returning?
|
|
return
|
|
|
|
for (var/path in blueprints)
|
|
if (!ispath(path))
|
|
path = text2path(path)
|
|
if (!ispath(path))
|
|
continue
|
|
|
|
var/amt = 1
|
|
if (isnum(blueprints[path]))
|
|
amt = abs(blueprints[path])
|
|
|
|
for (amt, amt>0, amt--)
|
|
new /obj/item/paper/manufacturer_blueprint(A, path)
|
|
|
|
for (var/path in frames)
|
|
if (!ispath(path))
|
|
path = text2path(path)
|
|
if (!ispath(path))
|
|
continue
|
|
|
|
var/amt = 1
|
|
if (isnum(frames[path]))
|
|
amt = abs(frames[path])
|
|
|
|
// vvv this is barf vvv
|
|
var/atom/template = new path()
|
|
var/template_name = template ? template.name : null
|
|
qdel(template)
|
|
if (!template_name)
|
|
continue
|
|
|
|
for (amt, amt>0, amt--)
|
|
var/obj/item/electronics/frame/F = new /obj/item/electronics/frame(A)
|
|
F.name = "[template_name] frame"
|
|
F.store_type = path
|
|
F.viewstat = 2
|
|
F.secured = 2
|
|
F.icon_state = "dbox"
|
|
|
|
/datum/supply_packs/complex/electronics_kit
|
|
name = "Mechanics Reconstruction Kit"
|
|
desc = "1x Ruckingenur frame, 1x Manufacturer frame, 1x reclaimer frame, 1x device analyzer, 1x soldering iron"
|
|
category = "Engineering Department"
|
|
contains = list(/obj/item/electronics/scanner,
|
|
/obj/item/electronics/soldering)
|
|
frames = list(/obj/machinery/rkit,
|
|
/obj/machinery/manufacturer/mechanic,
|
|
/obj/machinery/portable_reclaimer)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate
|
|
containername = "Mechanics Reconstruction Kit"
|
|
|
|
/datum/supply_packs/complex/mini_magnet_kit
|
|
name = "Small Magnet Kit"
|
|
desc = "1x Magnetizer, 1x Low Performance Magnet Kit, 1x Magnet Chassis Frame"
|
|
category = "Engineering Department"
|
|
contains = list(/obj/item/magnetizer,
|
|
/obj/item/magnet_parts/construction/small)
|
|
frames = list(/obj/machinery/magnet_chassis,
|
|
/obj/machinery/computer/magnet)
|
|
cost = 10000
|
|
containertype = /obj/storage/crate
|
|
containername = "Small Magnet Kit"
|
|
|
|
/datum/supply_packs/complex/magnet_kit
|
|
name = "Magnet Kit"
|
|
desc = "1x Magnetizer, 1x High Performance Magnet Kit, 1x Magnet Chassis Frame"
|
|
category = "Engineering Department"
|
|
contains = list(/obj/item/magnetizer,
|
|
/obj/item/magnet_parts/construction)
|
|
frames = list(/obj/machinery/magnet_chassis,
|
|
/obj/machinery/computer/magnet)
|
|
cost = 75000
|
|
containertype = /obj/storage/crate
|
|
containername = "Magnet Kit"
|
|
/*
|
|
/datum/supply_packs/complex/arc_smelter
|
|
name = "Arc Smelter"
|
|
desc = "2x Slag Shovel, Frames: 1x Arc Smelter, 1x Loom, 1x Workbench"
|
|
contains = list(/obj/item/slag_shovel = 2)
|
|
frames = list(/obj/machinery/smelter,
|
|
/obj/workbench)
|
|
cost = 100000
|
|
containertype = /obj/storage/crate
|
|
containername = "Arc Smelter"
|
|
*/
|
|
/datum/supply_packs/complex/manufacturer_kit
|
|
name = "Manufacturer Kit"
|
|
desc = "Frames: 1x General Manufacturer, 1x Mining Manufacturer, 1x Gas Extractor, 1x Reclaimer"
|
|
category = "Engineering Department"
|
|
frames = list(/obj/machinery/manufacturer/general,
|
|
/obj/machinery/manufacturer/mining,
|
|
/obj/machinery/manufacturer/gas,
|
|
/obj/machinery/portable_reclaimer)
|
|
cost = 8000
|
|
containertype = /obj/storage/crate
|
|
containername = "Manufacturer Kit"
|
|
|
|
/datum/supply_packs/complex/cargo_kit
|
|
name = "Cargo Bay Kit"
|
|
desc = "Contains a higher tier of cargo computer, allowed access to the full NT catalog.<br>1x Cargo Teleporter, Frames: 1x Commerce Computer, 1x Incoming supply pad, 1x Outgoing supply pad, 1x Cargo Teleporter pad, 1x Recharger"
|
|
category = "Engineering Department"
|
|
contains = list(/obj/item/paper/cargo_instructions,
|
|
/obj/item/cargotele)
|
|
frames = list(/obj/machinery/computer/special_supply/commerce,
|
|
/obj/supply_pad/incoming,
|
|
/obj/supply_pad/outgoing,
|
|
/obj/submachine/cargopad,
|
|
/obj/machinery/recharger)
|
|
cost = 45000
|
|
containertype = /obj/storage/crate
|
|
containername = "Cargo Bay Kit"
|
|
|
|
|
|
/datum/supply_packs/complex/pod_kit
|
|
name = "Pod Production Kit"
|
|
desc = "Frames: 1x Ship Component Fabricator, 1x Reclaimer"
|
|
frames = list(/obj/machinery/manufacturer/hangar,
|
|
/obj/machinery/portable_reclaimer)
|
|
cost = 60000
|
|
containertype = /obj/storage/crate
|
|
containername = "Pod Production Kit"
|
|
|
|
/datum/supply_packs/complex/turret_kit
|
|
name = "Defense Turret Kit"
|
|
desc = "Frames: 3x Turret, 1x Turret Control Console, 2x Security Camera"
|
|
frames = list(/obj/machinery/turret/construction = 3,
|
|
/obj/machinery/turretid/computer,
|
|
/obj/machinery/camera = 2)
|
|
cost = 40000
|
|
containertype = /obj/storage/crate
|
|
containername = "Defense Turret Kit"
|
|
|
|
/datum/supply_packs/complex/ai_kit
|
|
name = "Artificial Intelligence Kit"
|
|
desc = "Frames: 1x Asimov 5 AI, 2x Turret, 1x Turret Control Console, 2x Security Camera"
|
|
frames = list(/obj/ai_frame,
|
|
/obj/machinery/turret/construction = 2,
|
|
/obj/machinery/turretid/computer,
|
|
/obj/machinery/camera = 2)
|
|
cost = 100000
|
|
containertype = /obj/storage/crate
|
|
containername = "AI Kit"
|
|
|
|
/datum/supply_packs/complex/basic_power_kit
|
|
name = "Basic Power Kit"
|
|
desc = "Frames: 1x SMES cell, 2x Furnace"
|
|
category = "Engineering Department"
|
|
frames = list(/obj/smes_spawner,
|
|
/obj/machinery/power/furnace = 2)
|
|
cost = 40000
|
|
containertype = /obj/storage/crate
|
|
containername = "AI Kit"
|
|
|
|
/datum/supply_packs/complex/mainframe_kit
|
|
name = "Computer Core Kit"
|
|
category = "Research Department"
|
|
desc = "1x Memory Board, 1x Mainframe Recovery Kit, 1x TermOS B disk, Frames: 1x Computer Mainframe, 1x Databank, 1x Network Radio, 3x Data Terminal, 1x CompTech"
|
|
contains = list(/obj/item/disk/data/memcard,
|
|
/obj/item/storage/box/zeta_boot_kit,
|
|
/obj/item/disk/data/floppy/read_only/terminal_os)
|
|
frames = list(/obj/machinery/networked/mainframe,
|
|
/obj/machinery/networked/storage,
|
|
/obj/machinery/networked/radio,
|
|
/obj/machinery/power/data_terminal = 3,
|
|
/obj/machinery/vending/computer3)
|
|
cost = 150000
|
|
containertype = /obj/storage/crate
|
|
containername = "Computer Core Kit"
|
|
|
|
/datum/supply_packs/complex/artlab_kit
|
|
name = "Artifact Research Kit"
|
|
desc = "Frames: 5x Data Terminal, 1x Pitcher, 1x Impact pad, 1x Heater pad, 1x Electric box, 1x X-Ray machine"
|
|
category = "Research Department"
|
|
frames = list(/obj/machinery/networked/test_apparatus/pitching_machine,
|
|
/obj/machinery/networked/test_apparatus/impact_pad,
|
|
/obj/machinery/networked/test_apparatus/electrobox,
|
|
/obj/machinery/networked/test_apparatus/heater,
|
|
/obj/machinery/networked/test_apparatus/xraymachine,
|
|
/obj/machinery/power/data_terminal = 5)
|
|
cost = 80000
|
|
containertype = /obj/storage/crate
|
|
containername = "Artifact Research Kit"
|
|
|
|
/datum/supply_packs/complex/toilet_kit
|
|
name = "Bathroom Kit"
|
|
desc = "Frames: 4x Toilet, 1x Sink, 1x Shower Head, 1x Bathtub"
|
|
category = "Civilian Department"
|
|
frames = list(/obj/item/storage/toilet = 4,
|
|
/obj/machinery/shower,
|
|
/obj/machinery/bathtub,
|
|
/obj/submachine/chef_sink/chem_sink)
|
|
cost = 15000
|
|
containertype = /obj/storage/crate
|
|
containername = "Bathroom Kit"
|
|
|
|
/datum/supply_packs/complex/kitchen_kit
|
|
name = "Kitchen Kit"
|
|
desc = "1x Fridge, Frames: 1x Oven, 1x Mixer, 1x Sink, 1x Deep Fryer, 1x Food Processor, 1x ValuChimp, 1x FoodTech, 1x Meat Spike, 1x Gibber"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/storage/secure/closet/fridge)
|
|
frames = list(/obj/submachine/chef_oven,
|
|
/obj/submachine/mixer,
|
|
/obj/submachine/chef_sink,
|
|
/obj/machinery/deep_fryer,
|
|
/obj/submachine/foodprocessor,
|
|
/obj/machinery/vending/monkey,
|
|
/obj/machinery/vending/kitchen,
|
|
/obj/kitchenspike,
|
|
/obj/machinery/gibber)
|
|
cost = 50000
|
|
containertype = /obj/storage/crate
|
|
containername = "Kitchen Kit"
|
|
|
|
/datum/supply_packs/complex/bartender_kit
|
|
name = "Bar Kit"
|
|
desc = "2x Glassware box, Frames: 1x Alcohol Dispenser, 1x Soda Fountain, 1x Ice Cream Machine, 1x Kitchenware Recycler, 1x Microwave"
|
|
category = "Civilian Department"
|
|
contains = list(/obj/item/storage/box/glassbox = 2)
|
|
frames = list(/obj/machinery/microwave,
|
|
/obj/machinery/chem_dispenser/alcohol,
|
|
/obj/machinery/chem_dispenser/soda,
|
|
/obj/submachine/ice_cream_dispenser,
|
|
/obj/machinery/glass_recycler)
|
|
cost = 25000
|
|
containertype = /obj/storage/crate
|
|
containername = "Bar Kit"
|
|
|
|
/datum/supply_packs/complex/arcade
|
|
name = "Arcade Machine"
|
|
desc = "Frames: 1x Arcade Machine"
|
|
category = "Civilian Department"
|
|
frames = list(/obj/machinery/computer/arcade)
|
|
cost = 2500
|
|
containertype = /obj/storage/crate
|
|
containername = "Arcade Machine"
|
|
|
|
/datum/supply_packs/complex/telescience_kit
|
|
name = "Telescience Kit"
|
|
desc = "Frames: 1x Science Teleporter Console, 2x Data Terminal, 1x Telepad"
|
|
category = "Research Department"
|
|
frames = list(/obj/machinery/networked/teleconsole,
|
|
/obj/machinery/networked/telepad,
|
|
/obj/machinery/power/data_terminal = 2)
|
|
cost = 40000
|
|
containertype = /obj/storage/crate
|
|
containername = "Telescience"
|
|
|
|
/datum/supply_packs/complex/security_camera
|
|
name = "Security Camera kit"
|
|
desc = "Frames: 5x Security Camera"
|
|
category = "Security Department"
|
|
frames = list(/obj/machinery/camera = 5)
|
|
cost = 1000
|
|
containertype = /obj/storage/crate
|
|
containername = "Security Camera"
|
|
|
|
/datum/supply_packs/complex/medical_kit
|
|
name = "Medbay kit"
|
|
desc = "1x Defibrillator, 2x Hypospray, 1x Medical Belt, Frames: 1x NanoMed, 1x Medical Records computer"
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/robodefibrillator,
|
|
/obj/item/storage/belt/medical,
|
|
/obj/item/reagent_containers/hypospray = 2)
|
|
frames = list(/obj/machinery/optable,
|
|
/obj/machinery/vending/medical)
|
|
cost = 10000
|
|
containertype = /obj/storage/crate
|
|
containername = "Medbay kit"
|
|
|
|
/datum/supply_packs/complex/operating_kit
|
|
name = "Operating Room kit"
|
|
desc = "1x Staple Gun, 1x Defibrillator, 2x Scalpel, 2x Circular Saw, 1x Hemostat, 2x Suture, 1x Enucleation Spoon, Frames: 1x Medical Fabricator, 1x Operating Table"
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/staple_gun,
|
|
/obj/item/robodefibrillator,
|
|
/obj/item/scalpel = 2,
|
|
/obj/item/circular_saw = 2,
|
|
/obj/item/hemostat,
|
|
/obj/item/suture,
|
|
/obj/item/surgical_spoon)
|
|
frames = list(/obj/machinery/manufacturer/medical,
|
|
/obj/machinery/optable,
|
|
/obj/machinery/vending/medical)
|
|
cost = 15000
|
|
containertype = /obj/storage/crate
|
|
containername = "Operating Room kit"
|
|
|
|
/datum/supply_packs/complex/robotics_kit
|
|
name = "Robotics kit"
|
|
desc = "1x Staple Gun, 1x Scalpel, 1x Circular Saw, Frames: 1x Robotics Fabricator, 1x Operating Table, 1x Module Rewriter, 1x Recharge station"
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/staple_gun,
|
|
/obj/item/scalpel,
|
|
/obj/item/circular_saw)
|
|
frames = list(/obj/machinery/manufacturer/robotics,
|
|
/obj/machinery/optable,
|
|
/obj/submachine/robomoduler,
|
|
/obj/machinery/recharge_station)
|
|
cost = 20000
|
|
containertype = /obj/storage/crate
|
|
containername = "Robotics kit"
|
|
|
|
/datum/supply_packs/complex/genetics_kit
|
|
name = "Genetics kit"
|
|
desc = "Circuitboards: 1x DNA Modifier, 1x Cloning Console, Frames: 1x Cloning Scanner, 1x Cloning Pod, 1x Reclaimer, 1x DNA Scanner"
|
|
category = "Medical Department"
|
|
contains = list(/obj/item/circuitboard/genetics,
|
|
/obj/item/circuitboard/cloning)
|
|
frames = list(/obj/machinery/clone_scanner,
|
|
/obj/machinery/clonepod,
|
|
/obj/machinery/clonegrinder,
|
|
/obj/machinery/genetics_scanner)
|
|
cost = 50000
|
|
containertype = /obj/storage/crate
|
|
containername = "Genetics kit"
|