diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 5c6ef778390..19a01eb7a6e 100755
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -1,1204 +1,1209 @@
-//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.
-//ANOTER NOTE: Contraband is obtainable through modified supplycomp circuitboards.
-//BIG NOTE: Don't add living things to crates, that's bad, it will break the shuttle.
-//NEW NOTE: Do NOT set the price of any crates below 7 points. Doing so allows infinite points.
-
-var/list/all_supply_groups = list("Operations","Security","Hospitality","Engineering","Medical / Science","Hydroponics","Organic")
-
-/datum/supply_packs
- var/name = null
- var/list/contains = list()
- var/manifest = ""
- var/amount = null
- var/cost = null
- var/containertype = null
- var/containername = null
- var/access = null
- var/hidden = 0
- var/contraband = 0
- var/group = "Operations"
-
-/datum/supply_packs/New()
- manifest += "
"
- for(var/path in contains)
- if(!path) continue
- var/atom/movable/AM = new path()
- manifest += "- [AM.name]
"
- AM.loc = null //just to make sure they're deleted by the garbage collector
- manifest += "
"
-
-/datum/supply_packs/specialops
- name = "Special Ops supplies"
- contains = list(/obj/item/weapon/storage/box/emps,
- /obj/item/weapon/grenade/smokebomb,
- /obj/item/weapon/grenade/smokebomb,
- /obj/item/weapon/grenade/smokebomb,
- /obj/item/weapon/pen/paralysis,
- /obj/item/weapon/grenade/chem_grenade/incendiary)
- cost = 20
- containertype = /obj/structure/closet/crate
- containername = "Special Ops crate"
- group = "Security"
- hidden = 1
-
-/datum/supply_packs/syndicate
- name = "ERROR_NULL_ENTRY"
- contains = list(/obj/item/weapon/storage/box/syndicate)
- cost = 140
- containertype = /obj/structure/closet/crate
- containername = "crate"
- hidden = 1
-
-/datum/supply_packs/food
- name = "Food crate"
- contains = list(/obj/item/weapon/reagent_containers/food/snacks/flour,
- /obj/item/weapon/reagent_containers/food/snacks/flour,
- /obj/item/weapon/reagent_containers/food/snacks/flour,
- /obj/item/weapon/reagent_containers/food/snacks/flour,
- /obj/item/weapon/reagent_containers/food/drinks/milk,
- /obj/item/weapon/reagent_containers/food/drinks/milk,
- /obj/item/weapon/storage/fancy/egg_box,
- /obj/item/weapon/reagent_containers/food/snacks/grown/banana,
- /obj/item/weapon/reagent_containers/food/snacks/grown/banana)
- cost = 10
- containertype = /obj/structure/closet/crate/freezer
- containername = "Food crate"
- group = "Hospitality"
-
-/datum/supply_packs/monkey
- name = "Monkey crate"
- contains = list (/obj/item/weapon/storage/box/monkeycubes)
- cost = 20
- containertype = /obj/structure/closet/crate/freezer
- containername = "Monkey crate"
- group = "Hydroponics"
-
-/datum/supply_packs/farwa
- name = "Farwa crate"
- contains = list (/obj/item/weapon/storage/box/farwacubes)
- cost = 30
- containertype = /obj/structure/closet/crate/freezer
- containername = "Farwa crate"
- group = "Hydroponics"
-
-/datum/supply_packs/skrell
- name = "Neaera crate"
- contains = list (/obj/item/weapon/storage/box/neaeracubes)
- cost = 30
- containertype = /obj/structure/closet/crate/freezer
- containername = "Neaera crate"
- group = "Hydroponics"
-
-/datum/supply_packs/stok
- name = "Stok crate"
- contains = list (/obj/item/weapon/storage/box/stokcubes)
- cost = 30
- containertype = /obj/structure/closet/crate/freezer
- containername = "Stok crate"
- group = "Hydroponics"
-
-/datum/supply_packs/beanbagammo
- name = "Beanbag shells"
- contains = list(/obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag,
- /obj/item/ammo_casing/shotgun/beanbag)
- cost = 10
- containertype = /obj/structure/closet/crate
- containername = "Beanbag shells"
- group = "Security"
-
-/datum/supply_packs/toner
- name = "Toner Cartridges"
- contains = list(/obj/item/device/toner,
- /obj/item/device/toner,
- /obj/item/device/toner,
- /obj/item/device/toner,
- /obj/item/device/toner,
- /obj/item/device/toner)
- cost = 10
- containertype = /obj/structure/closet/crate
- containername = "Toner Cartridges"
- group = "Operations"
-
-/datum/supply_packs/party
- name = "Party equipment"
- contains = list(/obj/item/weapon/storage/box/drinkingglasses,
- /obj/item/weapon/reagent_containers/food/drinks/shaker,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/patron,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager,
- /obj/item/weapon/storage/fancy/cigarettes/dromedaryco,
- /obj/item/weapon/lipstick/random,
- /obj/item/weapon/reagent_containers/food/drinks/cans/ale,
- /obj/item/weapon/reagent_containers/food/drinks/cans/ale,
- /obj/item/weapon/reagent_containers/food/drinks/cans/beer,
- /obj/item/weapon/reagent_containers/food/drinks/cans/beer,
- /obj/item/weapon/reagent_containers/food/drinks/cans/beer,
- /obj/item/weapon/reagent_containers/food/drinks/cans/beer)
- cost = 20
- containertype = /obj/structure/closet/crate
- containername = "Party equipment"
- group = "Hospitality"
-
-/datum/supply_packs/internals
- name = "Internals crate"
- contains = list(/obj/item/clothing/mask/gas,
- /obj/item/clothing/mask/gas,
- /obj/item/clothing/mask/gas,
- /obj/item/weapon/tank/air,
- /obj/item/weapon/tank/air,
- /obj/item/weapon/tank/air)
- cost = 10
- containertype = /obj/structure/closet/crate/internals
- containername = "Internals crate"
- group = "Engineering"
-
-/datum/supply_packs/evacuation
- name = "Emergency equipment"
- contains = list(/obj/item/weapon/storage/toolbox/emergency,
- /obj/item/weapon/storage/toolbox/emergency,
- /obj/item/clothing/suit/storage/hazardvest,
- /obj/item/clothing/suit/storage/hazardvest,
- /obj/item/weapon/tank/emergency_oxygen,
- /obj/item/weapon/tank/emergency_oxygen,
- /obj/item/weapon/tank/emergency_oxygen,
- /obj/item/weapon/tank/emergency_oxygen,
- /obj/item/weapon/tank/emergency_oxygen,
- /obj/item/clothing/mask/gas,
- /obj/item/clothing/mask/gas,
- /obj/item/clothing/mask/gas,
- /obj/item/clothing/mask/gas,
- /obj/item/clothing/mask/gas)
- cost = 35
- containertype = /obj/structure/closet/crate/internals
- containername = "Emergency Crate"
- group = "Engineering"
-
-/datum/supply_packs/inflatable
- name = "Inflatable barriers"
- contains = list(/obj/item/weapon/storage/briefcase/inflatable,
- /obj/item/weapon/storage/briefcase/inflatable,
- /obj/item/weapon/storage/briefcase/inflatable)
- cost = 20
- containertype = /obj/structure/closet/crate
- containername = "Inflatable Barrier Crate"
- group = "Engineering"
-
-/datum/supply_packs/janitor
- name = "Janitorial supplies"
- contains = list(/obj/item/weapon/reagent_containers/glass/bucket,
- /obj/item/weapon/reagent_containers/glass/bucket,
- /obj/item/weapon/reagent_containers/glass/bucket,
- /obj/item/weapon/mop,
- /obj/item/weapon/caution,
- /obj/item/weapon/caution,
- /obj/item/weapon/caution,
- /obj/item/weapon/storage/bag/trash,
- /obj/item/weapon/reagent_containers/spray/cleaner,
- /obj/item/weapon/reagent_containers/glass/rag,
- /obj/item/weapon/grenade/chem_grenade/cleaner,
- /obj/item/weapon/grenade/chem_grenade/cleaner,
- /obj/item/weapon/grenade/chem_grenade/cleaner)
- cost = 10
- containertype = /obj/structure/closet/crate
- containername = "Janitorial supplies"
- group = "Operations"
-
-/datum/supply_packs/janicart
- name = "Janitorial Cart and Galoshes crate"
- contains = list(/obj/structure/janitorialcart,
- /obj/item/clothing/shoes/galoshes)
- cost = 10
- containertype = /obj/structure/largecrate
- containername = "janitorial cart crate"
-
-/datum/supply_packs/lightbulbs
- name = "Replacement lights"
- contains = list(/obj/item/weapon/storage/box/lights/mixed,
- /obj/item/weapon/storage/box/lights/mixed,
- /obj/item/weapon/storage/box/lights/mixed)
- cost = 10
- containertype = /obj/structure/closet/crate
- containername = "Replacement lights"
- group = "Engineering"
-
-/datum/supply_packs/costume
- name = "Standard Costume crate"
- contains = list(/obj/item/weapon/storage/backpack/clown,
- /obj/item/clothing/shoes/clown_shoes,
- /obj/item/clothing/mask/gas/clown_hat,
- /obj/item/clothing/under/rank/clown,
- /obj/item/weapon/bikehorn,
- /obj/item/clothing/under/mime,
- /obj/item/clothing/shoes/black,
- /obj/item/clothing/gloves/color/white,
- /obj/item/clothing/mask/gas/mime,
- /obj/item/clothing/head/beret,
- /obj/item/clothing/suit/suspenders,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing)
- cost = 10
- containertype = /obj/structure/closet/crate/secure
- containername = "Standard Costumes"
- access = access_theatre
- group = "Operations"
-
-/datum/supply_packs/wizard
- name = "Wizard costume"
- contains = list(/obj/item/weapon/staff,
- /obj/item/clothing/suit/wizrobe/fake,
- /obj/item/clothing/shoes/sandal,
- /obj/item/clothing/head/wizard/fake)
- cost = 20
- containertype = /obj/structure/closet/crate
- containername = "Wizard costume crate"
- group = "Operations"
-
-/datum/supply_packs/mule
- name = "MULEbot Crate"
- contains = list(/obj/machinery/bot/mulebot)
- cost = 20
- containertype = /obj/structure/largecrate/mule
- containername = "MULEbot Crate"
- group = "Operations"
-
-/datum/supply_packs/cargotrain
- name = "Cargo Train Tug"
- contains = list(/obj/vehicle/train/cargo/engine)
- cost = 45
- containertype = /obj/structure/largecrate
- containername = "Cargo Train Tug Crate"
- group = "Operations"
-
-/datum/supply_packs/cargotrailer
- name = "Cargo Train Trolley"
- contains = list(/obj/vehicle/train/cargo/trolley)
- cost = 15
- containertype = /obj/structure/largecrate
- containername = "Cargo Train Trolley Crate"
- group = "Operations"
-
-/datum/supply_packs/hydroponics // -- Skie
- name = "Hydroponics Supply Crate"
- contains = list(/obj/item/weapon/reagent_containers/spray/plantbgone,
- /obj/item/weapon/reagent_containers/spray/plantbgone,
- /obj/item/weapon/reagent_containers/glass/bottle/ammonia,
- /obj/item/weapon/reagent_containers/glass/bottle/ammonia,
- /obj/item/weapon/hatchet,
- /obj/item/weapon/minihoe,
- /obj/item/device/analyzer/plant_analyzer,
- /obj/item/clothing/gloves/botanic_leather,
- /obj/item/clothing/suit/apron,
- /obj/item/weapon/minihoe,
- /obj/item/weapon/storage/box/botanydisk
- ) // Updated with new things
- cost = 15
- containertype = /obj/structure/closet/crate/hydroponics
- containername = "Hydroponics crate"
- access = access_hydroponics
- group = "Hydroponics"
-
-//////// livestock
-/datum/supply_packs/organic/cow
- name = "Cow Crate"
- cost = 30
- containertype = /obj/structure/largecrate/cow
- containername = "cow crate"
- group = "Organic"
-
-/datum/supply_packs/organic/goat
- name = "Goat Crate"
- cost = 25
- containertype = /obj/structure/largecrate/goat
- containername = "goat crate"
- group = "Organic"
-
-/datum/supply_packs/organic/chicken
- name = "Chicken Crate"
- cost = 20
- containertype = /obj/structure/largecrate/chick
- containername = "chicken crate"
- group = "Organic"
-
-/datum/supply_packs/organic/corgi
- name = "Corgi Crate"
- cost = 50
- containertype = /obj/structure/largecrate/lisa
- containername = "corgi crate"
- group = "Organic"
-
-/datum/supply_packs/organic/cat
- name = "Cat crate"
- cost = 50 //Cats are worth as much as corgis.
- containertype = /obj/structure/largecrate/cat
- containername = "cat crate"
- group = "Organic"
-
-/datum/supply_packs/organic/fox
- name = "Fox Crate"
- cost = 55 //Foxes are cool.
- containertype = /obj/structure/closet/critter/fox
- containername = "fox crate"
- group = "Organic"
-
-/datum/supply_packs/seeds
- name = "Seeds Crate"
- contains = list(/obj/item/seeds/chiliseed,
- /obj/item/seeds/berryseed,
- /obj/item/seeds/cornseed,
- /obj/item/seeds/eggplantseed,
- /obj/item/seeds/tomatoseed,
- /obj/item/seeds/soyaseed,
- /obj/item/seeds/wheatseed,
- /obj/item/seeds/carrotseed,
- /obj/item/seeds/sunflowerseed,
- /obj/item/seeds/chantermycelium,
- /obj/item/seeds/potatoseed,
- /obj/item/seeds/sugarcaneseed)
- cost = 10
- containertype = /obj/structure/closet/crate/hydroponics
- containername = "Seeds crate"
- access = access_hydroponics
- group = "Hydroponics"
-
-/datum/supply_packs/weedcontrol
- name = "Weed Control Crate"
- contains = list(/obj/item/weapon/scythe,
- /obj/item/clothing/mask/gas,
- /obj/item/weapon/grenade/chem_grenade/antiweed,
- /obj/item/weapon/grenade/chem_grenade/antiweed)
- cost = 20
- containertype = /obj/structure/closet/crate/secure/hydrosec
- containername = "Weed control crate"
- access = access_hydroponics
- group = "Hydroponics"
-
-/datum/supply_packs/exoticseeds
- name = "Exotic Seeds Crate"
- contains = list(/obj/item/seeds/nettleseed,
- /obj/item/seeds/replicapod,
- /obj/item/seeds/replicapod,
- /obj/item/seeds/replicapod,
- /obj/item/seeds/plumpmycelium,
- /obj/item/seeds/libertymycelium,
- /obj/item/seeds/amanitamycelium,
- /obj/item/seeds/reishimycelium,
- /obj/item/seeds/bananaseed,
- /obj/item/seeds/eggyseed,
- /obj/item/seeds/bloodtomatoseed)
- cost = 15
- containertype = /obj/structure/closet/crate/hydroponics
- containername = "Exotic Seeds crate"
- access = access_hydroponics
- group = "Hydroponics"
-
-/datum/supply_packs/medical
- name = "Medical crate"
- contains = list(/obj/item/weapon/storage/firstaid/regular,
- /obj/item/weapon/storage/firstaid/fire,
- /obj/item/weapon/storage/firstaid/toxin,
- /obj/item/weapon/storage/firstaid/o2,
- /obj/item/weapon/storage/firstaid/adv,
- /obj/item/weapon/reagent_containers/glass/bottle/antitoxin,
- /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,
- /obj/item/weapon/reagent_containers/glass/bottle/stoxin,
- /obj/item/weapon/storage/box/syringes,
- /obj/item/weapon/storage/box/autoinjectors)
- cost = 10
- containertype = /obj/structure/closet/crate/medical
- containername = "Medical crate"
- group = "Medical / Science"
-
-/datum/supply_packs/virus
- name = "Virus crate"
-/* contains = list(/obj/item/weapon/reagent_containers/glass/bottle/flu_virion,
- /obj/item/weapon/reagent_containers/glass/bottle/cold,
- /obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion,
- /obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion,
- /obj/item/weapon/reagent_containers/glass/bottle/fake_gbs,
- /obj/item/weapon/reagent_containers/glass/bottle/magnitis,
- /obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat,
- /obj/item/weapon/reagent_containers/glass/bottle/brainrot,
- /obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion,
- /obj/item/weapon/storage/box/syringes,
- /obj/item/weapon/storage/box/beakers,
- /obj/item/weapon/reagent_containers/glass/bottle/mutagen)*/
- contains = list(/obj/item/weapon/virusdish/random,
- /obj/item/weapon/virusdish/random,
- /obj/item/weapon/virusdish/random,
- /obj/item/weapon/virusdish/random)
- cost = 25
- containertype = "/obj/structure/closet/crate/secure"
- containername = "Virus crate"
- access = access_cmo
- group = "Medical / Science"
-
-/datum/supply_packs/metal50
- name = "50 Metal Sheets"
- contains = list(/obj/item/stack/sheet/metal)
- amount = 50
- cost = 10
- containertype = /obj/structure/closet/crate
- containername = "Metal sheets crate"
- group = "Engineering"
-
-/datum/supply_packs/glass50
- name = "50 Glass Sheets"
- contains = list(/obj/item/stack/sheet/glass)
- amount = 50
- cost = 10
- containertype = /obj/structure/closet/crate
- containername = "Glass sheets crate"
- group = "Engineering"
-
-/datum/supply_packs/electrical
- name = "Electrical maintenance crate"
- contains = list(/obj/item/weapon/storage/toolbox/electrical,
- /obj/item/weapon/storage/toolbox/electrical,
- /obj/item/clothing/gloves/yellow,
- /obj/item/clothing/gloves/yellow,
- /obj/item/weapon/stock_parts/cell,
- /obj/item/weapon/stock_parts/cell,
- /obj/item/weapon/stock_parts/cell/high,
- /obj/item/weapon/stock_parts/cell/high)
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "Electrical maintenance crate"
- group = "Engineering"
-
-/datum/supply_packs/mechanical
- name = "Mechanical maintenance crate"
- contains = list(/obj/item/weapon/storage/belt/utility/full,
- /obj/item/weapon/storage/belt/utility/full,
- /obj/item/weapon/storage/belt/utility/full,
- /obj/item/clothing/suit/storage/hazardvest,
- /obj/item/clothing/suit/storage/hazardvest,
- /obj/item/clothing/suit/storage/hazardvest,
- /obj/item/clothing/head/welding,
- /obj/item/clothing/head/welding,
- /obj/item/clothing/head/hardhat)
- cost = 10
- containertype = /obj/structure/closet/crate
- containername = "Mechanical maintenance crate"
- group = "Engineering"
-
-/datum/supply_packs/watertank
- name = "Water tank crate"
- contains = list(/obj/structure/reagent_dispensers/watertank)
- cost = 8
- containertype = /obj/structure/largecrate
- containername = "water tank crate"
- group = "Hydroponics"
-
-/datum/supply_packs/fueltank
- name = "Fuel tank crate"
- contains = list(/obj/structure/reagent_dispensers/fueltank)
- cost = 8
- containertype = /obj/structure/largecrate
- containername = "fuel tank crate"
- group = "Engineering"
-
-/datum/supply_packs/coolanttank
- name = "Coolant tank crate"
- contains = list(/obj/structure/reagent_dispensers/coolanttank)
- cost = 16
- containertype = /obj/structure/largecrate
- containername = "coolant tank crate"
- group = "Medical / Science"
-
-
-/datum/supply_packs/solar
- name = "Solar Pack crate"
- contains = list(/obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly,
- /obj/item/solar_assembly, // 21 Solar Assemblies. 1 Extra for the controller
- /obj/item/weapon/circuitboard/solar_control,
- /obj/item/weapon/tracker_electronics,
- /obj/item/weapon/paper/solar)
- cost = 20
- containertype = /obj/structure/closet/crate
- containername = "solar pack crate"
- group = "Engineering"
-
-/datum/supply_packs/engine
- name = "Emitter crate"
- contains = list(/obj/machinery/power/emitter,
- /obj/machinery/power/emitter)
- cost = 10
- containertype = /obj/structure/closet/crate/secure
- containername = "Emitter crate"
- access = access_ce
- group = "Engineering"
-
-/datum/supply_packs/engine/field_gen
- name = "Field Generator crate"
- contains = list(/obj/machinery/field_generator,
- /obj/machinery/field_generator)
- containertype = /obj/structure/closet/crate/secure
- containername = "Field Generator crate"
- access = access_ce
- group = "Engineering"
-
-/datum/supply_packs/engine/sing_gen
- name = "Singularity Generator crate"
- contains = list(/obj/machinery/the_singularitygen)
- containertype = /obj/structure/closet/crate/secure
- containername = "Singularity Generator crate"
- access = access_ce
- group = "Engineering"
-
-/datum/supply_packs/engine/collector
- name = "Collector crate"
- contains = list(/obj/machinery/power/rad_collector,
- /obj/machinery/power/rad_collector,
- /obj/machinery/power/rad_collector)
- containername = "Collector crate"
- group = "Engineering"
-
-/datum/supply_packs/engine/PA
- name = "Particle Accelerator crate"
- cost = 40
- contains = list(/obj/structure/particle_accelerator/fuel_chamber,
- /obj/machinery/particle_accelerator/control_box,
- /obj/structure/particle_accelerator/particle_emitter/center,
- /obj/structure/particle_accelerator/particle_emitter/left,
- /obj/structure/particle_accelerator/particle_emitter/right,
- /obj/structure/particle_accelerator/power_box,
- /obj/structure/particle_accelerator/end_cap)
- containertype = /obj/structure/closet/crate/secure
- containername = "Particle Accelerator crate"
- access = access_ce
- group = "Engineering"
-
-/datum/supply_packs/mecha_ripley
- name = "Circuit Crate (\"Ripley\" APLU)"
- contains = list(/obj/item/weapon/book/manual/ripley_build_and_repair,
- /obj/item/weapon/circuitboard/mecha/ripley/main, //TEMPORARY due to lack of circuitboard printer
- /obj/item/weapon/circuitboard/mecha/ripley/peripherals) //TEMPORARY due to lack of circuitboard printer
- cost = 30
- containertype = /obj/structure/closet/crate/secure
- containername = "APLU \"Ripley\" Circuit Crate"
- access = access_robotics
- group = "Engineering"
-
-/datum/supply_packs/mecha_odysseus
- name = "Circuit Crate (\"Odysseus\")"
- contains = list(/obj/item/weapon/circuitboard/mecha/odysseus/peripherals, //TEMPORARY due to lack of circuitboard printer
- /obj/item/weapon/circuitboard/mecha/odysseus/main) //TEMPORARY due to lack of circuitboard printer
- cost = 25
- containertype = /obj/structure/closet/crate/secure
- containername = "\"Odysseus\" Circuit Crate"
- access = access_robotics
- group = "Engineering"
-
-
-/datum/supply_packs/robotics
- name = "Robotics Assembly Crate"
- contains = list(/obj/item/device/assembly/prox_sensor,
- /obj/item/device/assembly/prox_sensor,
- /obj/item/device/assembly/prox_sensor,
- /obj/item/weapon/storage/toolbox/electrical,
- /obj/item/device/flash,
- /obj/item/device/flash,
- /obj/item/device/flash,
- /obj/item/device/flash,
- /obj/item/weapon/stock_parts/cell/high,
- /obj/item/weapon/stock_parts/cell/high)
- cost = 10
- containertype = /obj/structure/closet/crate/secure/gear
- containername = "Robotics Assembly"
- access = access_robotics
- group = "Engineering"
-
-/datum/supply_packs/plasma
- name = "Plasma assembly crate"
- contains = list(/obj/item/weapon/tank/plasma,
- /obj/item/weapon/tank/plasma,
- /obj/item/weapon/tank/plasma,
- /obj/item/device/assembly/igniter,
- /obj/item/device/assembly/igniter,
- /obj/item/device/assembly/igniter,
- /obj/item/device/assembly/prox_sensor,
- /obj/item/device/assembly/prox_sensor,
- /obj/item/device/assembly/prox_sensor,
- /obj/item/device/transfer_valve,
- /obj/item/device/transfer_valve,
- /obj/item/device/transfer_valve,
- /obj/item/device/assembly/timer,
- /obj/item/device/assembly/timer,
- /obj/item/device/assembly/timer)
- cost = 10
- containertype = /obj/structure/closet/crate/secure/plasma
- containername = "Plasma assembly crate"
- access = access_tox_storage
- group = "Medical / Science"
-
-/datum/supply_packs/weapons
- name = "Weapons crate"
- contains = list(/obj/item/weapon/melee/baton/loaded,
- /obj/item/weapon/melee/baton/loaded,
- /obj/item/weapon/gun/energy/laser,
- /obj/item/weapon/gun/energy/laser,
- /obj/item/weapon/gun/energy/advtaser,
- /obj/item/weapon/gun/energy/advtaser,
- /obj/item/weapon/storage/box/flashbangs,
- /obj/item/weapon/storage/box/flashbangs)
- cost = 30
- containertype = /obj/structure/closet/crate/secure/weapon
- containername = "Weapons crate"
- access = access_security
- group = "Security"
-
-/datum/supply_packs/disabler
- name = "Disabler Crate"
- contains = list(/obj/item/weapon/gun/energy/disabler,
- /obj/item/weapon/gun/energy/disabler,
- /obj/item/weapon/gun/energy/disabler)
- cost = 10
- containertype = /obj/structure/closet/crate/secure/weapon
- containername = "disabler crate"
- access = access_security
- group = "Security"
-
-/datum/supply_packs/eweapons
- name = "Experimental weapons crate"
- contains = list(/obj/item/weapon/flamethrower/full,
- /obj/item/weapon/tank/plasma,
- /obj/item/weapon/tank/plasma,
- /obj/item/weapon/tank/plasma,
- /obj/item/weapon/grenade/chem_grenade/incendiary,
- /obj/item/weapon/grenade/chem_grenade/incendiary,
- /obj/item/weapon/grenade/chem_grenade/incendiary)
- cost = 25
- containertype = /obj/structure/closet/crate/secure/weapon
- containername = "Experimental weapons crate"
- access = access_heads
- group = "Security"
-
-/datum/supply_packs/armor
- name = "Armor crate"
- contains = list(/obj/item/clothing/head/helmet,
- /obj/item/clothing/head/helmet,
- /obj/item/clothing/suit/armor/vest,
- /obj/item/clothing/suit/armor/vest)
- cost = 15
- containertype = /obj/structure/closet/crate/secure
- containername = "Armor crate"
- access = access_security
- group = "Security"
-
-/datum/supply_packs/riot
- name = "Riot gear crate"
- contains = list(/obj/item/weapon/melee/baton/loaded,
- /obj/item/weapon/melee/baton/loaded,
- /obj/item/weapon/melee/baton/loaded,
- /obj/item/weapon/shield/riot,
- /obj/item/weapon/shield/riot,
- /obj/item/weapon/shield/riot,
- /obj/item/weapon/storage/box/flashbangs,
- /obj/item/weapon/storage/box/flashbangs,
- /obj/item/weapon/storage/box/flashbangs,
- /obj/item/weapon/handcuffs,
- /obj/item/weapon/handcuffs,
- /obj/item/weapon/handcuffs,
- /obj/item/clothing/head/helmet/riot,
- /obj/item/clothing/suit/armor/riot,
- /obj/item/clothing/head/helmet/riot,
- /obj/item/clothing/suit/armor/riot,
- /obj/item/clothing/head/helmet/riot,
- /obj/item/clothing/suit/armor/riot)
- cost = 60
- containertype = /obj/structure/closet/crate/secure
- containername = "Riot gear crate"
- access = access_armory
- group = "Security"
-
-/datum/supply_packs/loyalty
- name = "Loyalty implant crate"
- contains = list (/obj/item/weapon/storage/lockbox/loyalty)
- cost = 60
- containertype = /obj/structure/closet/crate/secure
- containername = "Loyalty implant crate"
- access = access_armory
- group = "Security"
-
-/datum/supply_packs/ballistic
- name = "Ballistic gear crate"
- contains = list(/obj/item/clothing/suit/armor/bulletproof,
- /obj/item/clothing/suit/armor/bulletproof,
- /obj/item/weapon/storage/belt/bandolier,
- /obj/item/weapon/storage/belt/bandolier,
- /obj/item/weapon/gun/projectile/shotgun/combat,
- /obj/item/weapon/gun/projectile/shotgun/combat)
- cost = 50
- containertype = /obj/structure/closet/crate/secure
- containername = "Ballistic gear crate"
- access = access_armory
- group = "Security"
-
-/datum/supply_packs/shotgunammo
- name = "Shotgun shells"
- contains = list(/obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun,
- /obj/item/ammo_casing/shotgun)
- cost = 20
- containertype = /obj/structure/closet/crate/secure
- containername = "Shotgun shells"
- access = access_armory
- group = "Security"
-
-/datum/supply_packs/expenergy
- name = "Experimental energy gear crate"
- contains = list(/obj/item/clothing/suit/armor/laserproof,
- /obj/item/clothing/suit/armor/laserproof,
- /obj/item/weapon/gun/energy/gun,
- /obj/item/weapon/gun/energy/gun)
- cost = 50
- containertype = /obj/structure/closet/crate/secure
- containername = "Experimental energy gear crate"
- access = access_armory
- group = "Security"
-
-/datum/supply_packs/exparmor
- name = "Experimental armor crate"
- contains = list(/obj/item/clothing/suit/armor/laserproof,
- /obj/item/clothing/suit/armor/bulletproof,
- /obj/item/clothing/head/helmet/riot,
- /obj/item/clothing/suit/armor/riot)
- cost = 35
- containertype = /obj/structure/closet/crate/secure
- containername = "Experimental armor crate"
- access = access_armory
- group = "Security"
-
-/datum/supply_packs/securitybarriers
- name = "Security Barriers"
- contains = list(/obj/machinery/deployable/barrier,
- /obj/machinery/deployable/barrier,
- /obj/machinery/deployable/barrier,
- /obj/machinery/deployable/barrier)
- cost = 20
- containertype = /obj/structure/closet/crate/secure/gear
- containername = "Security Barriers crate"
- group = "Security"
-
-/datum/supply_packs/securitybarriers
- name = "Shield Generators"
- contains = list(/obj/machinery/shieldwallgen,
- /obj/machinery/shieldwallgen,
- /obj/machinery/shieldwallgen,
- /obj/machinery/shieldwallgen)
- cost = 20
- containertype = /obj/structure/closet/crate/secure
- containername = "Shield Generators crate"
- access = access_teleporter
- group = "Security"
-
-/datum/supply_packs/randomised
- var/num_contained = 3 //number of items picked to be contained in a randomised crate
- contains = list(/obj/item/clothing/head/collectable/chef,
- /obj/item/clothing/head/collectable/paper,
- /obj/item/clothing/head/collectable/tophat,
- /obj/item/clothing/head/collectable/captain,
- /obj/item/clothing/head/collectable/beret,
- /obj/item/clothing/head/collectable/welding,
- /obj/item/clothing/head/collectable/flatcap,
- /obj/item/clothing/head/collectable/pirate,
- /obj/item/clothing/head/collectable/kitty,
- /obj/item/clothing/head/collectable/rabbitears,
- /obj/item/clothing/head/collectable/wizard,
- /obj/item/clothing/head/collectable/hardhat,
- /obj/item/clothing/head/collectable/HoS,
- /obj/item/clothing/head/collectable/thunderdome,
- /obj/item/clothing/head/collectable/swat,
- /obj/item/clothing/head/collectable/slime,
- /obj/item/clothing/head/collectable/police,
- /obj/item/clothing/head/collectable/slime,
- /obj/item/clothing/head/collectable/xenom,
- /obj/item/clothing/head/collectable/petehat)
- name = "Collectable hat crate!"
- cost = 200
- containertype = /obj/structure/closet/crate
- containername = "Collectable hats crate! Brought to you by Bass.inc!"
- group = "Operations"
-
-/datum/supply_packs/randomised/New()
- manifest += "Contains any [num_contained] of:"
- ..()
-
-/datum/supply_packs/artscrafts
- name = "Arts and Crafts supplies"
- contains = list(/obj/item/weapon/storage/fancy/crayons,
- /obj/item/device/camera,
- /obj/item/device/camera_film,
- /obj/item/device/camera_film,
- /obj/item/weapon/storage/photo_album,
- /obj/item/weapon/packageWrap,
- /obj/item/weapon/reagent_containers/glass/paint/red,
- /obj/item/weapon/reagent_containers/glass/paint/green,
- /obj/item/weapon/reagent_containers/glass/paint/blue,
- /obj/item/weapon/reagent_containers/glass/paint/yellow,
- /obj/item/weapon/reagent_containers/glass/paint/violet,
- /obj/item/weapon/reagent_containers/glass/paint/black,
- /obj/item/weapon/reagent_containers/glass/paint/white,
- /obj/item/weapon/reagent_containers/glass/paint/remover,
- /obj/item/weapon/contraband/poster,
- /obj/item/weapon/wrapping_paper,
- /obj/item/weapon/wrapping_paper,
- /obj/item/weapon/wrapping_paper)
- cost = 10
- containertype = "/obj/structure/closet/crate"
- containername = "Arts and Crafts crate"
- group = "Operations"
-
-
-/datum/supply_packs/randomised/contraband
- num_contained = 6
- contains = list(/obj/item/weapon/storage/pill_bottle/zoom,
- /obj/item/weapon/storage/pill_bottle/happy,
- /obj/item/weapon/storage/pill_bottle/random_drug_bottle,
- /obj/item/weapon/storage/fancy/cigarettes/dromedaryco,
- /obj/item/weapon/storage/fancy/cigarettes/cigpack_shadyjims,
- /obj/item/weapon/grenade/smokebomb,
- /obj/item/clothing/mask/cigarette/cigar/cohiba,
- /obj/item/weapon/reagent_containers/food/drinks/cans/ale,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/patron,
- /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,
- /obj/item/weapon/lipstick/random)
-
- name = "Contraband crate"
- cost = 30
- containertype = /obj/structure/closet/crate
- containername = "Unlabeled crate"
- contraband = 1
- group = "Operations"
-
-/datum/supply_packs/boxes
- name = "Empty Box supplies"
- contains = list(/obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box,
- /obj/item/weapon/storage/box)
- cost = 10
- containertype = "/obj/structure/closet/crate"
- containername = "Empty Box crate"
- group = "Operations"
-
-/datum/supply_packs/surgery
- name = "Surgery crate"
- contains = list(/obj/item/weapon/cautery,
- /obj/item/weapon/surgicaldrill,
- /obj/item/clothing/mask/breath/medical,
- /obj/item/weapon/tank/anesthetic,
- /obj/item/weapon/FixOVein,
- /obj/item/weapon/hemostat,
- /obj/item/weapon/scalpel,
- /obj/item/weapon/bonegel,
- /obj/item/weapon/retractor,
- /obj/item/weapon/bonesetter,
- /obj/item/weapon/circular_saw)
- cost = 25
- containertype = "/obj/structure/closet/crate/secure"
- containername = "Surgery crate"
- access = access_medical
- group = "Medical / Science"
-
-/datum/supply_packs/sterile
- name = "Sterile equipment crate"
- contains = list(/obj/item/clothing/under/rank/medical/green,
- /obj/item/clothing/under/rank/medical/green,
- /obj/item/weapon/storage/box/masks,
- /obj/item/weapon/storage/box/gloves)
- cost = 15
- containertype = "/obj/structure/closet/crate"
- containername = "Sterile equipment crate"
- group = "Medical / Science"
-
-/datum/supply_packs/randomised/pizza
- num_contained = 5
- contains = list(/obj/item/pizzabox/margherita,
- /obj/item/pizzabox/mushroom,
- /obj/item/pizzabox/meat,
- /obj/item/pizzabox/vegetable)
- name = "Surprise pack of five dozen pizzas"
- cost = 15
- containertype = /obj/structure/closet/crate/freezer
- containername = "Pizza crate"
- group = "Hospitality"
-
-/datum/supply_packs/formal_wear
- contains = list(/obj/item/clothing/head/that,
- /obj/item/clothing/suit/storage/lawyer/bluejacket,
- /obj/item/clothing/suit/storage/lawyer/purpjacket,
- /obj/item/clothing/under/suit_jacket,
- /obj/item/clothing/under/suit_jacket/female,
- /obj/item/clothing/under/suit_jacket/really_black,
- /obj/item/clothing/under/suit_jacket/red,
- /obj/item/clothing/shoes/black,
- /obj/item/clothing/shoes/black,
- /obj/item/clothing/suit/wcoat)
- name = "Formalwear closet"
- cost = 30
- containertype = /obj/structure/closet
- containername = "Formalwear for the best occasions."
- group = "Operations"
-/*
-/datum/supply_packs/rust_injector
- contains = list(/obj/machinery/power/rust_fuel_injector)
- name = "RUST fuel injector"
- cost = 50
- containertype = /obj/structure/closet/crate/secure/large
- containername = "RUST injector crate"
- group = "Engineering"
- access = access_engine
-
-/datum/supply_packs/rust_compressor
- contains = list(/obj/item/weapon/module/rust_fuel_compressor)
- name = "RUST fuel compressor circuitry"
- cost = 60
- containertype = /obj/structure/closet/crate/secure
- containername = "RUST fuel compressor circuitry"
- group = "Engineering"
- access = access_engine
-
-/datum/supply_packs/rust_assembly_port
- contains = list(/obj/item/weapon/module/rust_fuel_port)
- name = "RUST fuel assembly port circuitry"
- cost = 40
- containertype = /obj/structure/closet/crate/secure
- containername = "RUST fuel assembly port circuitry"
- group = "Engineering"
- access = access_engine
-
-/datum/supply_packs/rust_core
- contains = list(/obj/machinery/power/rust_core)
- name = "RUST Tokamak Core"
- cost = 75
- containertype = /obj/structure/closet/crate/secure/large
- containername = "RUST tokamak crate"
- group = "Engineering"
- access = access_engine
-*/
-/datum/supply_packs/shield_gen
- contains = list(/obj/item/weapon/circuitboard/shield_gen)
- name = "Experimental shield generator circuitry"
- cost = 50
- containertype = /obj/structure/closet/crate/secure
- containername = "Experimental shield generator"
- group = "Engineering"
- access = access_ce
-
-/datum/supply_packs/shield_cap
- contains = list(/obj/item/weapon/circuitboard/shield_cap)
- name = "Experimental shield capacitor circuitry"
- cost = 50
- containertype = /obj/structure/closet/crate/secure
- containername = "Experimental shield capacitor"
- group = "Engineering"
- access = access_ce
-
-/datum/supply_packs/eftpos
- contains = list(/obj/item/device/eftpos)
- name = "EFTPOS scanner"
- cost = 10
- containertype = /obj/structure/closet/crate
- containername = "EFTPOS crate"
- group = "Operations"
-
-/datum/supply_packs/teg
- contains = list(/obj/machinery/power/generator)
- name = "Mark I Thermoelectric Generator"
- cost = 75
- containertype = /obj/structure/closet/crate/secure/large
- containername = "Mk1 TEG crate"
- group = "Engineering"
- access = access_engine
-
-/datum/supply_packs/circulator
- contains = list(/obj/machinery/atmospherics/binary/circulator)
- name = "Binary atmospheric circulator"
- cost = 60
- containertype = /obj/structure/closet/crate/secure/large
- containername = "Atmospheric circulator crate"
- group = "Engineering"
- access = access_engine
-
-/datum/supply_packs/bee_keeper
- name = "Beekeeping Crate"
- contains = list(/obj/item/beezeez,
- /obj/item/beezeez,
- /obj/item/weapon/bee_net,
- /obj/item/apiary,
- /obj/item/queen_bee,
- /obj/item/queen_bee,
- /obj/item/queen_bee)
- cost = 20
- containertype = /obj/structure/closet/crate/hydroponics
- containername = "Beekeeping crate"
- access = access_hydroponics
- group = "Hydroponics"
-
-/datum/supply_packs/misc/lasertag
- name = "Laser Tag Crate"
- contains = list(/obj/item/weapon/gun/energy/laser/redtag,
- /obj/item/weapon/gun/energy/laser/redtag,
- /obj/item/weapon/gun/energy/laser/redtag,
- /obj/item/weapon/gun/energy/laser/bluetag,
- /obj/item/weapon/gun/energy/laser/bluetag,
- /obj/item/weapon/gun/energy/laser/bluetag,
- /obj/item/clothing/suit/redtag,
- /obj/item/clothing/suit/redtag,
- /obj/item/clothing/suit/redtag,
- /obj/item/clothing/suit/bluetag,
- /obj/item/clothing/suit/bluetag,
- /obj/item/clothing/suit/bluetag,
- /obj/item/clothing/head/helmet/redtaghelm,
- /obj/item/clothing/head/helmet/bluetaghelm)
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "laser tag crate"
- group = "Operations"
-
-/datum/supply_packs/vending
- name = "Bartending Supply Crate"
- contains = list(/obj/item/weapon/vending_refill/boozeomat,
- /obj/item/weapon/vending_refill/boozeomat,
- /obj/item/weapon/vending_refill/boozeomat,
- /obj/item/weapon/vending_refill/coffee,
- /obj/item/weapon/vending_refill/coffee,
- /obj/item/weapon/vending_refill/coffee)
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "bartending supply crate"
- group = "Operations"
-
-/datum/supply_packs/vending/snack
- name = "Snack Supply Crate"
- contains = list(/obj/item/weapon/vending_refill/snack,
- /obj/item/weapon/vending_refill/snack,
- /obj/item/weapon/vending_refill/snack)
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "snacks supply crate"
- group = "Operations"
-
-/datum/supply_packs/vending/cola
- name = "Softdrinks Supply Crate"
- contains = list(/obj/item/weapon/vending_refill/cola,
- /obj/item/weapon/vending_refill/cola,
- /obj/item/weapon/vending_refill/cola)
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "softdrinks supply crate"
- group = "Operations"
-
-/datum/supply_packs/vending/cigarette
- name = "Cigarette Supply Crate"
- contains = list(/obj/item/weapon/vending_refill/cigarette,
- /obj/item/weapon/vending_refill/cigarette,
- /obj/item/weapon/vending_refill/cigarette)
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "cigarette supply crate"
- group = "Operations"
-
-/datum/supply_packs/autodrobe
- name = "Autodrobe Supply crate"
- contains = list(/obj/item/weapon/vending_refill/autodrobe,
- /obj/item/weapon/vending_refill/autodrobe,
- /obj/item/weapon/vending_refill/autodrobe)
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "autodrobe supply crate"
- group = "Operations"
-
-/datum/supply_packs/clothingvendor
- name = "Clothing Vendor Supply crate"
- contains = list(/obj/item/weapon/vending_refill/hatdispenser,
- /obj/item/weapon/vending_refill/hatdispenser,
- /obj/item/weapon/vending_refill/hatdispenser,
- /obj/item/weapon/vending_refill/suitdispenser,
- /obj/item/weapon/vending_refill/suitdispenser,
- /obj/item/weapon/vending_refill/suitdispenser,
- /obj/item/weapon/vending_refill/shoedispenser,
- /obj/item/weapon/vending_refill/shoedispenser,
- /obj/item/weapon/vending_refill/shoedispenser)
- cost = 30
- containertype = /obj/structure/closet/crate
- containername = "clothing vendor supply crate"
- group = "Operations"
-
-/datum/supply_packs/mafia
- name = "Mafia Supply crate"
- contains = list(/obj/item/clothing/suit/browntrenchcoat =1,/obj/item/clothing/suit/blacktrenchcoat =1,/obj/item/clothing/head/fedora/whitefedora =1,
- /obj/item/clothing/head/fedora/brownfedora =1,/obj/item/clothing/head/fedora =1,/obj/item/clothing/under/flappers =1,/obj/item/clothing/under/mafia =1,/obj/item/clothing/under/mafia/vest =1,/obj/item/clothing/under/mafia/white =1,
- /obj/item/clothing/under/mafia/sue =1,/obj/item/clothing/under/mafia/tan =1, /obj/item/toy/crossbow/tommygun =2)
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "mafia supply crate"
- group = "Operations"
-
-/datum/supply_packs/fabric
- name = "Fabric crate"
- contains = list(/obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric,
- /obj/item/weapon/ore/fabric)
- cost = 30
- containertype = /obj/structure/closet/crate
- containername = "Fabric crate"
- group = "Operations"
+//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.
+//ANOTER NOTE: Contraband is obtainable through modified supplycomp circuitboards.
+//BIG NOTE: Don't add living things to crates, that's bad, it will break the shuttle.
+//NEW NOTE: Do NOT set the price of any crates below 7 points. Doing so allows infinite points.
+
+var/list/all_supply_groups = list("Operations","Security","Hospitality","Engineering","Medical / Science","Hydroponics","Organic")
+
+/datum/supply_packs
+ var/name = null
+ var/list/contains = list()
+ var/manifest = ""
+ var/amount = null
+ var/cost = null
+ var/containertype = null
+ var/containername = null
+ var/access = null
+ var/hidden = 0
+ var/contraband = 0
+ var/group = "Operations"
+
+/datum/supply_packs/New()
+ manifest += ""
+ for(var/path in contains)
+ if(!path) continue
+ var/atom/movable/AM = new path()
+ manifest += "- [AM.name]
"
+ AM.loc = null //just to make sure they're deleted by the garbage collector
+ manifest += "
"
+
+/datum/supply_packs/specialops
+ name = "Special Ops supplies"
+ contains = list(/obj/item/weapon/storage/box/emps,
+ /obj/item/weapon/grenade/smokebomb,
+ /obj/item/weapon/grenade/smokebomb,
+ /obj/item/weapon/grenade/smokebomb,
+ /obj/item/weapon/pen/paralysis,
+ /obj/item/weapon/grenade/chem_grenade/incendiary)
+ cost = 20
+ containertype = /obj/structure/closet/crate
+ containername = "Special Ops crate"
+ group = "Security"
+ hidden = 1
+
+/datum/supply_packs/syndicate
+ name = "ERROR_NULL_ENTRY"
+ contains = list(/obj/item/weapon/storage/box/syndicate)
+ cost = 140
+ containertype = /obj/structure/closet/crate
+ containername = "crate"
+ hidden = 1
+
+/datum/supply_packs/food
+ name = "Food crate"
+ contains = list(/obj/item/weapon/reagent_containers/food/snacks/flour,
+ /obj/item/weapon/reagent_containers/food/snacks/flour,
+ /obj/item/weapon/reagent_containers/food/snacks/flour,
+ /obj/item/weapon/reagent_containers/food/snacks/flour,
+ /obj/item/weapon/reagent_containers/food/drinks/milk,
+ /obj/item/weapon/reagent_containers/food/drinks/milk,
+ /obj/item/weapon/storage/fancy/egg_box,
+ /obj/item/weapon/reagent_containers/food/snacks/grown/banana,
+ /obj/item/weapon/reagent_containers/food/snacks/grown/banana)
+ cost = 10
+ containertype = /obj/structure/closet/crate/freezer
+ containername = "Food crate"
+ group = "Hospitality"
+
+/datum/supply_packs/monkey
+ name = "Monkey crate"
+ contains = list (/obj/item/weapon/storage/box/monkeycubes)
+ cost = 20
+ containertype = /obj/structure/closet/crate/freezer
+ containername = "Monkey crate"
+ group = "Hydroponics"
+
+/datum/supply_packs/farwa
+ name = "Farwa crate"
+ contains = list (/obj/item/weapon/storage/box/farwacubes)
+ cost = 30
+ containertype = /obj/structure/closet/crate/freezer
+ containername = "Farwa crate"
+ group = "Hydroponics"
+
+/datum/supply_packs/skrell
+ name = "Neaera crate"
+ contains = list (/obj/item/weapon/storage/box/neaeracubes)
+ cost = 30
+ containertype = /obj/structure/closet/crate/freezer
+ containername = "Neaera crate"
+ group = "Hydroponics"
+
+/datum/supply_packs/stok
+ name = "Stok crate"
+ contains = list (/obj/item/weapon/storage/box/stokcubes)
+ cost = 30
+ containertype = /obj/structure/closet/crate/freezer
+ containername = "Stok crate"
+ group = "Hydroponics"
+
+/datum/supply_packs/beanbagammo
+ name = "Beanbag shells"
+ contains = list(/obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag,
+ /obj/item/ammo_casing/shotgun/beanbag)
+ cost = 10
+ containertype = /obj/structure/closet/crate
+ containername = "Beanbag shells"
+ group = "Security"
+
+/datum/supply_packs/toner
+ name = "Toner Cartridges"
+ contains = list(/obj/item/device/toner,
+ /obj/item/device/toner,
+ /obj/item/device/toner,
+ /obj/item/device/toner,
+ /obj/item/device/toner,
+ /obj/item/device/toner)
+ cost = 10
+ containertype = /obj/structure/closet/crate
+ containername = "Toner Cartridges"
+ group = "Operations"
+
+/datum/supply_packs/party
+ name = "Party equipment"
+ contains = list(/obj/item/weapon/storage/box/drinkingglasses,
+ /obj/item/weapon/reagent_containers/food/drinks/shaker,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/patron,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager,
+ /obj/item/weapon/storage/fancy/cigarettes/dromedaryco,
+ /obj/item/weapon/lipstick/random,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/ale,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/ale,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/beer,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/beer,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/beer,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/beer)
+ cost = 20
+ containertype = /obj/structure/closet/crate
+ containername = "Party equipment"
+ group = "Hospitality"
+
+/datum/supply_packs/internals
+ name = "Internals crate"
+ contains = list(/obj/item/clothing/mask/gas,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/mask/gas,
+ /obj/item/weapon/tank/air,
+ /obj/item/weapon/tank/air,
+ /obj/item/weapon/tank/air)
+ cost = 10
+ containertype = /obj/structure/closet/crate/internals
+ containername = "Internals crate"
+ group = "Engineering"
+
+/datum/supply_packs/evacuation
+ name = "Emergency equipment"
+ contains = list(/obj/item/weapon/storage/toolbox/emergency,
+ /obj/item/weapon/storage/toolbox/emergency,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/weapon/tank/emergency_oxygen,
+ /obj/item/weapon/tank/emergency_oxygen,
+ /obj/item/weapon/tank/emergency_oxygen,
+ /obj/item/weapon/tank/emergency_oxygen,
+ /obj/item/weapon/tank/emergency_oxygen,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/mask/gas)
+ cost = 35
+ containertype = /obj/structure/closet/crate/internals
+ containername = "Emergency Crate"
+ group = "Engineering"
+
+/datum/supply_packs/inflatable
+ name = "Inflatable barriers"
+ contains = list(/obj/item/weapon/storage/briefcase/inflatable,
+ /obj/item/weapon/storage/briefcase/inflatable,
+ /obj/item/weapon/storage/briefcase/inflatable)
+ cost = 20
+ containertype = /obj/structure/closet/crate
+ containername = "Inflatable Barrier Crate"
+ group = "Engineering"
+
+/datum/supply_packs/janitor
+ name = "Janitorial supplies"
+ contains = list(/obj/item/weapon/reagent_containers/glass/bucket,
+ /obj/item/weapon/reagent_containers/glass/bucket,
+ /obj/item/weapon/reagent_containers/glass/bucket,
+ /obj/item/weapon/mop,
+ /obj/item/weapon/caution,
+ /obj/item/weapon/caution,
+ /obj/item/weapon/caution,
+ /obj/item/weapon/storage/bag/trash,
+ /obj/item/weapon/reagent_containers/spray/cleaner,
+ /obj/item/weapon/reagent_containers/glass/rag,
+ /obj/item/weapon/grenade/chem_grenade/cleaner,
+ /obj/item/weapon/grenade/chem_grenade/cleaner,
+ /obj/item/weapon/grenade/chem_grenade/cleaner)
+ cost = 10
+ containertype = /obj/structure/closet/crate
+ containername = "Janitorial supplies"
+ group = "Operations"
+
+/datum/supply_packs/janicart
+ name = "Janitorial Cart and Galoshes crate"
+ contains = list(/obj/structure/janitorialcart,
+ /obj/item/clothing/shoes/galoshes)
+ cost = 10
+ containertype = /obj/structure/largecrate
+ containername = "janitorial cart crate"
+
+/datum/supply_packs/lightbulbs
+ name = "Replacement lights"
+ contains = list(/obj/item/weapon/storage/box/lights/mixed,
+ /obj/item/weapon/storage/box/lights/mixed,
+ /obj/item/weapon/storage/box/lights/mixed)
+ cost = 10
+ containertype = /obj/structure/closet/crate
+ containername = "Replacement lights"
+ group = "Engineering"
+
+/datum/supply_packs/costume
+ name = "Standard Costume crate"
+ contains = list(/obj/item/weapon/storage/backpack/clown,
+ /obj/item/clothing/shoes/clown_shoes,
+ /obj/item/clothing/mask/gas/clown_hat,
+ /obj/item/clothing/under/rank/clown,
+ /obj/item/weapon/bikehorn,
+ /obj/item/clothing/under/mime,
+ /obj/item/clothing/shoes/black,
+ /obj/item/clothing/gloves/color/white,
+ /obj/item/clothing/mask/gas/mime,
+ /obj/item/clothing/head/beret,
+ /obj/item/clothing/suit/suspenders,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing)
+ cost = 10
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Standard Costumes"
+ access = access_theatre
+ group = "Operations"
+
+/datum/supply_packs/wizard
+ name = "Wizard costume"
+ contains = list(/obj/item/weapon/staff,
+ /obj/item/clothing/suit/wizrobe/fake,
+ /obj/item/clothing/shoes/sandal,
+ /obj/item/clothing/head/wizard/fake)
+ cost = 20
+ containertype = /obj/structure/closet/crate
+ containername = "Wizard costume crate"
+ group = "Operations"
+
+/datum/supply_packs/mule
+ name = "MULEbot Crate"
+ contains = list(/obj/machinery/bot/mulebot)
+ cost = 20
+ containertype = /obj/structure/largecrate/mule
+ containername = "MULEbot Crate"
+ group = "Operations"
+
+/datum/supply_packs/cargotrain
+ name = "Cargo Train Tug"
+ contains = list(/obj/vehicle/train/cargo/engine)
+ cost = 45
+ containertype = /obj/structure/largecrate
+ containername = "Cargo Train Tug Crate"
+ group = "Operations"
+
+/datum/supply_packs/cargotrailer
+ name = "Cargo Train Trolley"
+ contains = list(/obj/vehicle/train/cargo/trolley)
+ cost = 15
+ containertype = /obj/structure/largecrate
+ containername = "Cargo Train Trolley Crate"
+ group = "Operations"
+
+/datum/supply_packs/hydroponics // -- Skie
+ name = "Hydroponics Supply Crate"
+ contains = list(/obj/item/weapon/reagent_containers/spray/plantbgone,
+ /obj/item/weapon/reagent_containers/spray/plantbgone,
+ /obj/item/weapon/reagent_containers/glass/bottle/ammonia,
+ /obj/item/weapon/reagent_containers/glass/bottle/ammonia,
+ /obj/item/weapon/hatchet,
+ /obj/item/weapon/minihoe,
+ /obj/item/device/analyzer/plant_analyzer,
+ /obj/item/clothing/gloves/botanic_leather,
+ /obj/item/clothing/suit/apron,
+ /obj/item/weapon/minihoe,
+ /obj/item/weapon/storage/box/botanydisk
+ ) // Updated with new things
+ cost = 15
+ containertype = /obj/structure/closet/crate/hydroponics
+ containername = "Hydroponics crate"
+ access = access_hydroponics
+ group = "Hydroponics"
+
+//////// livestock
+/datum/supply_packs/organic/cow
+ name = "Cow Crate"
+ cost = 30
+ containertype = /obj/structure/largecrate/cow
+ containername = "cow crate"
+ group = "Organic"
+
+/datum/supply_packs/organic/goat
+ name = "Goat Crate"
+ cost = 25
+ containertype = /obj/structure/largecrate/goat
+ containername = "goat crate"
+ group = "Organic"
+
+/datum/supply_packs/organic/chicken
+ name = "Chicken Crate"
+ cost = 20
+ containertype = /obj/structure/largecrate/chick
+ containername = "chicken crate"
+ group = "Organic"
+
+/datum/supply_packs/organic/corgi
+ name = "Corgi Crate"
+ cost = 50
+ containertype = /obj/structure/largecrate/lisa
+ containername = "corgi crate"
+ group = "Organic"
+
+/datum/supply_packs/organic/cat
+ name = "Cat crate"
+ cost = 50 //Cats are worth as much as corgis.
+ containertype = /obj/structure/largecrate/cat
+ containername = "cat crate"
+ group = "Organic"
+
+/datum/supply_packs/organic/fox
+ name = "Fox Crate"
+ cost = 55 //Foxes are cool.
+ containertype = /obj/structure/closet/critter/fox
+ containername = "fox crate"
+ group = "Organic"
+
+/datum/supply_packs/seeds
+ name = "Seeds Crate"
+ contains = list(/obj/item/seeds/chiliseed,
+ /obj/item/seeds/berryseed,
+ /obj/item/seeds/cornseed,
+ /obj/item/seeds/eggplantseed,
+ /obj/item/seeds/tomatoseed,
+ /obj/item/seeds/soyaseed,
+ /obj/item/seeds/wheatseed,
+ /obj/item/seeds/carrotseed,
+ /obj/item/seeds/sunflowerseed,
+ /obj/item/seeds/chantermycelium,
+ /obj/item/seeds/potatoseed,
+ /obj/item/seeds/sugarcaneseed)
+ cost = 10
+ containertype = /obj/structure/closet/crate/hydroponics
+ containername = "Seeds crate"
+ access = access_hydroponics
+ group = "Hydroponics"
+
+/datum/supply_packs/weedcontrol
+ name = "Weed Control Crate"
+ contains = list(/obj/item/weapon/scythe,
+ /obj/item/clothing/mask/gas,
+ /obj/item/weapon/grenade/chem_grenade/antiweed,
+ /obj/item/weapon/grenade/chem_grenade/antiweed)
+ cost = 20
+ containertype = /obj/structure/closet/crate/secure/hydrosec
+ containername = "Weed control crate"
+ access = access_hydroponics
+ group = "Hydroponics"
+
+/datum/supply_packs/exoticseeds
+ name = "Exotic Seeds Crate"
+ contains = list(/obj/item/seeds/nettleseed,
+ /obj/item/seeds/replicapod,
+ /obj/item/seeds/replicapod,
+ /obj/item/seeds/replicapod,
+ /obj/item/seeds/plumpmycelium,
+ /obj/item/seeds/libertymycelium,
+ /obj/item/seeds/amanitamycelium,
+ /obj/item/seeds/reishimycelium,
+ /obj/item/seeds/bananaseed,
+ /obj/item/seeds/eggyseed,
+ /obj/item/seeds/bloodtomatoseed)
+ cost = 15
+ containertype = /obj/structure/closet/crate/hydroponics
+ containername = "Exotic Seeds crate"
+ access = access_hydroponics
+ group = "Hydroponics"
+
+/datum/supply_packs/medical
+ name = "Medical crate"
+ contains = list(/obj/item/weapon/storage/firstaid/regular,
+ /obj/item/weapon/storage/firstaid/fire,
+ /obj/item/weapon/storage/firstaid/toxin,
+ /obj/item/weapon/storage/firstaid/o2,
+ /obj/item/weapon/storage/firstaid/adv,
+ /obj/item/weapon/reagent_containers/glass/bottle/antitoxin,
+ /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,
+ /obj/item/weapon/reagent_containers/glass/bottle/stoxin,
+ /obj/item/weapon/storage/box/syringes,
+ /obj/item/weapon/storage/box/autoinjectors)
+ cost = 10
+ containertype = /obj/structure/closet/crate/medical
+ containername = "Medical crate"
+ group = "Medical / Science"
+
+/datum/supply_packs/virus
+ name = "Virus crate"
+/* contains = list(/obj/item/weapon/reagent_containers/glass/bottle/flu_virion,
+ /obj/item/weapon/reagent_containers/glass/bottle/cold,
+ /obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion,
+ /obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion,
+ /obj/item/weapon/reagent_containers/glass/bottle/fake_gbs,
+ /obj/item/weapon/reagent_containers/glass/bottle/magnitis,
+ /obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat,
+ /obj/item/weapon/reagent_containers/glass/bottle/brainrot,
+ /obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion,
+ /obj/item/weapon/storage/box/syringes,
+ /obj/item/weapon/storage/box/beakers,
+ /obj/item/weapon/reagent_containers/glass/bottle/mutagen)*/
+ contains = list(/obj/item/weapon/virusdish/random,
+ /obj/item/weapon/virusdish/random,
+ /obj/item/weapon/virusdish/random,
+ /obj/item/weapon/virusdish/random)
+ cost = 25
+ containertype = "/obj/structure/closet/crate/secure"
+ containername = "Virus crate"
+ access = access_cmo
+ group = "Medical / Science"
+
+/datum/supply_packs/metal50
+ name = "50 Metal Sheets"
+ contains = list(/obj/item/stack/sheet/metal)
+ amount = 50
+ cost = 10
+ containertype = /obj/structure/closet/crate
+ containername = "Metal sheets crate"
+ group = "Engineering"
+
+/datum/supply_packs/glass50
+ name = "50 Glass Sheets"
+ contains = list(/obj/item/stack/sheet/glass)
+ amount = 50
+ cost = 10
+ containertype = /obj/structure/closet/crate
+ containername = "Glass sheets crate"
+ group = "Engineering"
+
+/datum/supply_packs/electrical
+ name = "Electrical maintenance crate"
+ contains = list(/obj/item/weapon/storage/toolbox/electrical,
+ /obj/item/weapon/storage/toolbox/electrical,
+ /obj/item/clothing/gloves/yellow,
+ /obj/item/clothing/gloves/yellow,
+ /obj/item/weapon/stock_parts/cell,
+ /obj/item/weapon/stock_parts/cell,
+ /obj/item/weapon/stock_parts/cell/high,
+ /obj/item/weapon/stock_parts/cell/high)
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "Electrical maintenance crate"
+ group = "Engineering"
+
+/datum/supply_packs/mechanical
+ name = "Mechanical maintenance crate"
+ contains = list(/obj/item/weapon/storage/belt/utility/full,
+ /obj/item/weapon/storage/belt/utility/full,
+ /obj/item/weapon/storage/belt/utility/full,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/clothing/head/welding,
+ /obj/item/clothing/head/welding,
+ /obj/item/clothing/head/hardhat)
+ cost = 10
+ containertype = /obj/structure/closet/crate
+ containername = "Mechanical maintenance crate"
+ group = "Engineering"
+
+/datum/supply_packs/watertank
+ name = "Water tank crate"
+ contains = list(/obj/structure/reagent_dispensers/watertank)
+ cost = 8
+ containertype = /obj/structure/largecrate
+ containername = "water tank crate"
+ group = "Hydroponics"
+
+/datum/supply_packs/fueltank
+ name = "Fuel tank crate"
+ contains = list(/obj/structure/reagent_dispensers/fueltank)
+ cost = 8
+ containertype = /obj/structure/largecrate
+ containername = "fuel tank crate"
+ group = "Engineering"
+
+/datum/supply_packs/coolanttank
+ name = "Coolant tank crate"
+ contains = list(/obj/structure/reagent_dispensers/coolanttank)
+ cost = 16
+ containertype = /obj/structure/largecrate
+ containername = "coolant tank crate"
+ group = "Medical / Science"
+
+
+/datum/supply_packs/solar
+ name = "Solar Pack crate"
+ contains = list(/obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly,
+ /obj/item/solar_assembly, // 21 Solar Assemblies. 1 Extra for the controller
+ /obj/item/weapon/circuitboard/solar_control,
+ /obj/item/weapon/tracker_electronics,
+ /obj/item/weapon/paper/solar)
+ cost = 20
+ containertype = /obj/structure/closet/crate
+ containername = "solar pack crate"
+ group = "Engineering"
+
+/datum/supply_packs/engine
+ name = "Emitter crate"
+ contains = list(/obj/machinery/power/emitter,
+ /obj/machinery/power/emitter)
+ cost = 10
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Emitter crate"
+ access = access_ce
+ group = "Engineering"
+
+/datum/supply_packs/engine/field_gen
+ name = "Field Generator crate"
+ contains = list(/obj/machinery/field_generator,
+ /obj/machinery/field_generator)
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Field Generator crate"
+ access = access_ce
+ group = "Engineering"
+
+/datum/supply_packs/engine/sing_gen
+ name = "Singularity Generator crate"
+ contains = list(/obj/machinery/the_singularitygen)
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Singularity Generator crate"
+ access = access_ce
+ group = "Engineering"
+
+/datum/supply_packs/engine/collector
+ name = "Collector crate"
+ contains = list(/obj/machinery/power/rad_collector,
+ /obj/machinery/power/rad_collector,
+ /obj/machinery/power/rad_collector)
+ containername = "Collector crate"
+ group = "Engineering"
+
+/datum/supply_packs/engine/PA
+ name = "Particle Accelerator crate"
+ cost = 40
+ contains = list(/obj/structure/particle_accelerator/fuel_chamber,
+ /obj/machinery/particle_accelerator/control_box,
+ /obj/structure/particle_accelerator/particle_emitter/center,
+ /obj/structure/particle_accelerator/particle_emitter/left,
+ /obj/structure/particle_accelerator/particle_emitter/right,
+ /obj/structure/particle_accelerator/power_box,
+ /obj/structure/particle_accelerator/end_cap)
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Particle Accelerator crate"
+ access = access_ce
+ group = "Engineering"
+
+/datum/supply_packs/mecha_ripley
+ name = "Circuit Crate (\"Ripley\" APLU)"
+ contains = list(/obj/item/weapon/book/manual/ripley_build_and_repair,
+ /obj/item/weapon/circuitboard/mecha/ripley/main, //TEMPORARY due to lack of circuitboard printer
+ /obj/item/weapon/circuitboard/mecha/ripley/peripherals) //TEMPORARY due to lack of circuitboard printer
+ cost = 30
+ containertype = /obj/structure/closet/crate/secure
+ containername = "APLU \"Ripley\" Circuit Crate"
+ access = access_robotics
+ group = "Engineering"
+
+/datum/supply_packs/mecha_odysseus
+ name = "Circuit Crate (\"Odysseus\")"
+ contains = list(/obj/item/weapon/circuitboard/mecha/odysseus/peripherals, //TEMPORARY due to lack of circuitboard printer
+ /obj/item/weapon/circuitboard/mecha/odysseus/main) //TEMPORARY due to lack of circuitboard printer
+ cost = 25
+ containertype = /obj/structure/closet/crate/secure
+ containername = "\"Odysseus\" Circuit Crate"
+ access = access_robotics
+ group = "Engineering"
+
+
+/datum/supply_packs/robotics
+ name = "Robotics Assembly Crate"
+ contains = list(/obj/item/device/assembly/prox_sensor,
+ /obj/item/device/assembly/prox_sensor,
+ /obj/item/device/assembly/prox_sensor,
+ /obj/item/weapon/storage/toolbox/electrical,
+ /obj/item/device/flash,
+ /obj/item/device/flash,
+ /obj/item/device/flash,
+ /obj/item/device/flash,
+ /obj/item/weapon/stock_parts/cell/high,
+ /obj/item/weapon/stock_parts/cell/high)
+ cost = 10
+ containertype = /obj/structure/closet/crate/secure/gear
+ containername = "Robotics Assembly"
+ access = access_robotics
+ group = "Engineering"
+
+/datum/supply_packs/plasma
+ name = "Plasma assembly crate"
+ contains = list(/obj/item/weapon/tank/plasma,
+ /obj/item/weapon/tank/plasma,
+ /obj/item/weapon/tank/plasma,
+ /obj/item/device/assembly/igniter,
+ /obj/item/device/assembly/igniter,
+ /obj/item/device/assembly/igniter,
+ /obj/item/device/assembly/prox_sensor,
+ /obj/item/device/assembly/prox_sensor,
+ /obj/item/device/assembly/prox_sensor,
+ /obj/item/device/transfer_valve,
+ /obj/item/device/transfer_valve,
+ /obj/item/device/transfer_valve,
+ /obj/item/device/assembly/timer,
+ /obj/item/device/assembly/timer,
+ /obj/item/device/assembly/timer)
+ cost = 10
+ containertype = /obj/structure/closet/crate/secure/plasma
+ containername = "Plasma assembly crate"
+ access = access_tox_storage
+ group = "Medical / Science"
+
+/datum/supply_packs/weapons
+ name = "Weapons crate"
+ contains = list(/obj/item/weapon/melee/baton/loaded,
+ /obj/item/weapon/melee/baton/loaded,
+ /obj/item/weapon/gun/energy/laser,
+ /obj/item/weapon/gun/energy/laser,
+ /obj/item/weapon/gun/energy/advtaser,
+ /obj/item/weapon/gun/energy/advtaser,
+ /obj/item/weapon/storage/box/flashbangs,
+ /obj/item/weapon/storage/box/flashbangs)
+ cost = 30
+ containertype = /obj/structure/closet/crate/secure/weapon
+ containername = "Weapons crate"
+ access = access_security
+ group = "Security"
+
+/datum/supply_packs/disabler
+ name = "Disabler Crate"
+ contains = list(/obj/item/weapon/gun/energy/disabler,
+ /obj/item/weapon/gun/energy/disabler,
+ /obj/item/weapon/gun/energy/disabler)
+ cost = 10
+ containertype = /obj/structure/closet/crate/secure/weapon
+ containername = "disabler crate"
+ access = access_security
+ group = "Security"
+
+/datum/supply_packs/eweapons
+ name = "Experimental weapons crate"
+ contains = list(/obj/item/weapon/flamethrower/full,
+ /obj/item/weapon/tank/plasma,
+ /obj/item/weapon/tank/plasma,
+ /obj/item/weapon/tank/plasma,
+ /obj/item/weapon/grenade/chem_grenade/incendiary,
+ /obj/item/weapon/grenade/chem_grenade/incendiary,
+ /obj/item/weapon/grenade/chem_grenade/incendiary)
+ cost = 25
+ containertype = /obj/structure/closet/crate/secure/weapon
+ containername = "Experimental weapons crate"
+ access = access_heads
+ group = "Security"
+
+/datum/supply_packs/armor
+ name = "Armor crate"
+ contains = list(/obj/item/clothing/head/helmet,
+ /obj/item/clothing/head/helmet,
+ /obj/item/clothing/suit/armor/vest,
+ /obj/item/clothing/suit/armor/vest)
+ cost = 15
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Armor crate"
+ access = access_security
+ group = "Security"
+
+/datum/supply_packs/riot
+ name = "Riot gear crate"
+ contains = list(/obj/item/weapon/melee/baton/loaded,
+ /obj/item/weapon/melee/baton/loaded,
+ /obj/item/weapon/melee/baton/loaded,
+ /obj/item/weapon/shield/riot,
+ /obj/item/weapon/shield/riot,
+ /obj/item/weapon/shield/riot,
+ /obj/item/weapon/storage/box/flashbangs,
+ /obj/item/weapon/storage/box/flashbangs,
+ /obj/item/weapon/storage/box/flashbangs,
+ /obj/item/weapon/handcuffs,
+ /obj/item/weapon/handcuffs,
+ /obj/item/weapon/handcuffs,
+ /obj/item/clothing/head/helmet/riot,
+ /obj/item/clothing/suit/armor/riot,
+ /obj/item/clothing/head/helmet/riot,
+ /obj/item/clothing/suit/armor/riot,
+ /obj/item/clothing/head/helmet/riot,
+ /obj/item/clothing/suit/armor/riot)
+ cost = 60
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Riot gear crate"
+ access = access_armory
+ group = "Security"
+
+/datum/supply_packs/loyalty
+ name = "Loyalty implant crate"
+ contains = list (/obj/item/weapon/storage/lockbox/loyalty)
+ cost = 60
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Loyalty implant crate"
+ access = access_armory
+ group = "Security"
+
+/datum/supply_packs/ballistic
+ name = "Ballistic gear crate"
+ contains = list(/obj/item/clothing/suit/armor/bulletproof,
+ /obj/item/clothing/suit/armor/bulletproof,
+ /obj/item/weapon/storage/belt/bandolier,
+ /obj/item/weapon/storage/belt/bandolier,
+ /obj/item/weapon/gun/projectile/shotgun/combat,
+ /obj/item/weapon/gun/projectile/shotgun/combat)
+ cost = 50
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Ballistic gear crate"
+ access = access_armory
+ group = "Security"
+
+/datum/supply_packs/shotgunammo
+ name = "Shotgun shells"
+ contains = list(/obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun,
+ /obj/item/ammo_casing/shotgun)
+ cost = 20
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Shotgun shells"
+ access = access_armory
+ group = "Security"
+
+/datum/supply_packs/expenergy
+ name = "Experimental energy gear crate"
+ contains = list(/obj/item/clothing/suit/armor/laserproof,
+ /obj/item/clothing/suit/armor/laserproof,
+ /obj/item/weapon/gun/energy/gun,
+ /obj/item/weapon/gun/energy/gun)
+ cost = 50
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Experimental energy gear crate"
+ access = access_armory
+ group = "Security"
+
+/datum/supply_packs/exparmor
+ name = "Experimental armor crate"
+ contains = list(/obj/item/clothing/suit/armor/laserproof,
+ /obj/item/clothing/suit/armor/bulletproof,
+ /obj/item/clothing/head/helmet/riot,
+ /obj/item/clothing/suit/armor/riot)
+ cost = 35
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Experimental armor crate"
+ access = access_armory
+ group = "Security"
+
+/datum/supply_packs/securitybarriers
+ name = "Security Barriers"
+ contains = list(/obj/machinery/deployable/barrier,
+ /obj/machinery/deployable/barrier,
+ /obj/machinery/deployable/barrier,
+ /obj/machinery/deployable/barrier)
+ cost = 20
+ containertype = /obj/structure/closet/crate/secure/gear
+ containername = "Security Barriers crate"
+ group = "Security"
+
+/datum/supply_packs/securitybarriers
+ name = "Shield Generators"
+ contains = list(/obj/machinery/shieldwallgen,
+ /obj/machinery/shieldwallgen,
+ /obj/machinery/shieldwallgen,
+ /obj/machinery/shieldwallgen)
+ cost = 20
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Shield Generators crate"
+ access = access_teleporter
+ group = "Security"
+
+/datum/supply_packs/randomised
+ var/num_contained = 3 //number of items picked to be contained in a randomised crate
+ contains = list(/obj/item/clothing/head/collectable/chef,
+ /obj/item/clothing/head/collectable/paper,
+ /obj/item/clothing/head/collectable/tophat,
+ /obj/item/clothing/head/collectable/captain,
+ /obj/item/clothing/head/collectable/beret,
+ /obj/item/clothing/head/collectable/welding,
+ /obj/item/clothing/head/collectable/flatcap,
+ /obj/item/clothing/head/collectable/pirate,
+ /obj/item/clothing/head/collectable/kitty,
+ /obj/item/clothing/head/collectable/rabbitears,
+ /obj/item/clothing/head/collectable/wizard,
+ /obj/item/clothing/head/collectable/hardhat,
+ /obj/item/clothing/head/collectable/HoS,
+ /obj/item/clothing/head/collectable/thunderdome,
+ /obj/item/clothing/head/collectable/swat,
+ /obj/item/clothing/head/collectable/slime,
+ /obj/item/clothing/head/collectable/police,
+ /obj/item/clothing/head/collectable/slime,
+ /obj/item/clothing/head/collectable/xenom,
+ /obj/item/clothing/head/collectable/petehat)
+ name = "Collectable hat crate!"
+ cost = 200
+ containertype = /obj/structure/closet/crate
+ containername = "Collectable hats crate! Brought to you by Bass.inc!"
+ group = "Operations"
+
+/datum/supply_packs/randomised/New()
+ manifest += "Contains any [num_contained] of:"
+ ..()
+
+/datum/supply_packs/artscrafts
+ name = "Arts and Crafts supplies"
+ contains = list(/obj/item/weapon/storage/fancy/crayons,
+ /obj/item/device/camera,
+ /obj/item/device/camera_film,
+ /obj/item/device/camera_film,
+ /obj/item/weapon/storage/photo_album,
+ /obj/item/weapon/packageWrap,
+ /obj/item/weapon/reagent_containers/glass/paint/red,
+ /obj/item/weapon/reagent_containers/glass/paint/green,
+ /obj/item/weapon/reagent_containers/glass/paint/blue,
+ /obj/item/weapon/reagent_containers/glass/paint/yellow,
+ /obj/item/weapon/reagent_containers/glass/paint/violet,
+ /obj/item/weapon/reagent_containers/glass/paint/black,
+ /obj/item/weapon/reagent_containers/glass/paint/white,
+ /obj/item/weapon/reagent_containers/glass/paint/remover,
+ /obj/item/weapon/contraband/poster,
+ /obj/item/weapon/wrapping_paper,
+ /obj/item/weapon/wrapping_paper,
+ /obj/item/weapon/wrapping_paper)
+ cost = 10
+ containertype = "/obj/structure/closet/crate"
+ containername = "Arts and Crafts crate"
+ group = "Operations"
+
+
+/datum/supply_packs/randomised/contraband
+ num_contained = 6
+ contains = list(/obj/item/weapon/storage/pill_bottle/zoom,
+ /obj/item/weapon/storage/pill_bottle/happy,
+ /obj/item/weapon/storage/pill_bottle/random_drug_bottle,
+ /obj/item/weapon/storage/fancy/cigarettes/dromedaryco,
+ /obj/item/weapon/storage/fancy/cigarettes/cigpack_shadyjims,
+ /obj/item/weapon/grenade/smokebomb,
+ /obj/item/clothing/mask/cigarette/cigar/cohiba,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/ale,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/patron,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,
+ /obj/item/weapon/lipstick/random)
+
+ name = "Contraband crate"
+ cost = 30
+ containertype = /obj/structure/closet/crate
+ containername = "Unlabeled crate"
+ contraband = 1
+ group = "Operations"
+
+/datum/supply_packs/boxes
+ name = "Empty Box supplies"
+ contains = list(/obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box,
+ /obj/item/weapon/storage/box)
+ cost = 10
+ containertype = "/obj/structure/closet/crate"
+ containername = "Empty Box crate"
+ group = "Operations"
+
+/datum/supply_packs/surgery
+ name = "Surgery crate"
+ contains = list(/obj/item/weapon/cautery,
+ /obj/item/weapon/surgicaldrill,
+ /obj/item/clothing/mask/breath/medical,
+ /obj/item/weapon/tank/anesthetic,
+ /obj/item/weapon/FixOVein,
+ /obj/item/weapon/hemostat,
+ /obj/item/weapon/scalpel,
+ /obj/item/weapon/bonegel,
+ /obj/item/weapon/retractor,
+ /obj/item/weapon/bonesetter,
+ /obj/item/weapon/circular_saw)
+ cost = 25
+ containertype = "/obj/structure/closet/crate/secure"
+ containername = "Surgery crate"
+ access = access_medical
+ group = "Medical / Science"
+
+/datum/supply_packs/sterile
+ name = "Sterile equipment crate"
+ contains = list(/obj/item/clothing/under/rank/medical/green,
+ /obj/item/clothing/under/rank/medical/green,
+ /obj/item/weapon/storage/box/masks,
+ /obj/item/weapon/storage/box/gloves)
+ cost = 15
+ containertype = "/obj/structure/closet/crate"
+ containername = "Sterile equipment crate"
+ group = "Medical / Science"
+
+/datum/supply_packs/randomised/pizza
+ num_contained = 5
+ contains = list(/obj/item/pizzabox/margherita,
+ /obj/item/pizzabox/mushroom,
+ /obj/item/pizzabox/meat,
+ /obj/item/pizzabox/vegetable)
+ name = "Surprise pack of five dozen pizzas"
+ cost = 15
+ containertype = /obj/structure/closet/crate/freezer
+ containername = "Pizza crate"
+ group = "Hospitality"
+
+/datum/supply_packs/foodcart
+ name = "Food Cart crate"
+ contains = list(/obj/structure/foodcart)
+ cost = 10
+ containertype = /obj/structure/largecrate
+ containername = "food cart crate"
+ group = "Hospitality"
+
+/datum/supply_packs/formal_wear
+ contains = list(/obj/item/clothing/head/that,
+ /obj/item/clothing/suit/storage/lawyer/bluejacket,
+ /obj/item/clothing/suit/storage/lawyer/purpjacket,
+ /obj/item/clothing/under/suit_jacket,
+ /obj/item/clothing/under/suit_jacket/female,
+ /obj/item/clothing/under/suit_jacket/really_black,
+ /obj/item/clothing/under/suit_jacket/red,
+ /obj/item/clothing/shoes/black,
+ /obj/item/clothing/shoes/black,
+ /obj/item/clothing/suit/wcoat)
+ name = "Formalwear closet"
+ cost = 30
+ containertype = /obj/structure/closet
+ containername = "Formalwear for the best occasions."
+ group = "Operations"
+/*
+/datum/supply_packs/rust_injector
+ contains = list(/obj/machinery/power/rust_fuel_injector)
+ name = "RUST fuel injector"
+ cost = 50
+ containertype = /obj/structure/closet/crate/secure/large
+ containername = "RUST injector crate"
+ group = "Engineering"
+ access = access_engine
+/datum/supply_packs/rust_compressor
+ contains = list(/obj/item/weapon/module/rust_fuel_compressor)
+ name = "RUST fuel compressor circuitry"
+ cost = 60
+ containertype = /obj/structure/closet/crate/secure
+ containername = "RUST fuel compressor circuitry"
+ group = "Engineering"
+ access = access_engine
+/datum/supply_packs/rust_assembly_port
+ contains = list(/obj/item/weapon/module/rust_fuel_port)
+ name = "RUST fuel assembly port circuitry"
+ cost = 40
+ containertype = /obj/structure/closet/crate/secure
+ containername = "RUST fuel assembly port circuitry"
+ group = "Engineering"
+ access = access_engine
+/datum/supply_packs/rust_core
+ contains = list(/obj/machinery/power/rust_core)
+ name = "RUST Tokamak Core"
+ cost = 75
+ containertype = /obj/structure/closet/crate/secure/large
+ containername = "RUST tokamak crate"
+ group = "Engineering"
+ access = access_engine
+*/
+/datum/supply_packs/shield_gen
+ contains = list(/obj/item/weapon/circuitboard/shield_gen)
+ name = "Experimental shield generator circuitry"
+ cost = 50
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Experimental shield generator"
+ group = "Engineering"
+ access = access_ce
+
+/datum/supply_packs/shield_cap
+ contains = list(/obj/item/weapon/circuitboard/shield_cap)
+ name = "Experimental shield capacitor circuitry"
+ cost = 50
+ containertype = /obj/structure/closet/crate/secure
+ containername = "Experimental shield capacitor"
+ group = "Engineering"
+ access = access_ce
+
+/datum/supply_packs/eftpos
+ contains = list(/obj/item/device/eftpos)
+ name = "EFTPOS scanner"
+ cost = 10
+ containertype = /obj/structure/closet/crate
+ containername = "EFTPOS crate"
+ group = "Operations"
+
+/datum/supply_packs/teg
+ contains = list(/obj/machinery/power/generator)
+ name = "Mark I Thermoelectric Generator"
+ cost = 75
+ containertype = /obj/structure/closet/crate/secure/large
+ containername = "Mk1 TEG crate"
+ group = "Engineering"
+ access = access_engine
+
+/datum/supply_packs/circulator
+ contains = list(/obj/machinery/atmospherics/binary/circulator)
+ name = "Binary atmospheric circulator"
+ cost = 60
+ containertype = /obj/structure/closet/crate/secure/large
+ containername = "Atmospheric circulator crate"
+ group = "Engineering"
+ access = access_engine
+
+/datum/supply_packs/bee_keeper
+ name = "Beekeeping Crate"
+ contains = list(/obj/item/beezeez,
+ /obj/item/beezeez,
+ /obj/item/weapon/bee_net,
+ /obj/item/apiary,
+ /obj/item/queen_bee,
+ /obj/item/queen_bee,
+ /obj/item/queen_bee)
+ cost = 20
+ containertype = /obj/structure/closet/crate/hydroponics
+ containername = "Beekeeping crate"
+ access = access_hydroponics
+ group = "Hydroponics"
+
+/datum/supply_packs/misc/lasertag
+ name = "Laser Tag Crate"
+ contains = list(/obj/item/weapon/gun/energy/laser/redtag,
+ /obj/item/weapon/gun/energy/laser/redtag,
+ /obj/item/weapon/gun/energy/laser/redtag,
+ /obj/item/weapon/gun/energy/laser/bluetag,
+ /obj/item/weapon/gun/energy/laser/bluetag,
+ /obj/item/weapon/gun/energy/laser/bluetag,
+ /obj/item/clothing/suit/redtag,
+ /obj/item/clothing/suit/redtag,
+ /obj/item/clothing/suit/redtag,
+ /obj/item/clothing/suit/bluetag,
+ /obj/item/clothing/suit/bluetag,
+ /obj/item/clothing/suit/bluetag,
+ /obj/item/clothing/head/helmet/redtaghelm,
+ /obj/item/clothing/head/helmet/bluetaghelm)
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "laser tag crate"
+ group = "Operations"
+
+/datum/supply_packs/vending
+ name = "Bartending Supply Crate"
+ contains = list(/obj/item/weapon/vending_refill/boozeomat,
+ /obj/item/weapon/vending_refill/boozeomat,
+ /obj/item/weapon/vending_refill/boozeomat,
+ /obj/item/weapon/vending_refill/coffee,
+ /obj/item/weapon/vending_refill/coffee,
+ /obj/item/weapon/vending_refill/coffee)
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "bartending supply crate"
+ group = "Operations"
+
+/datum/supply_packs/vending/snack
+ name = "Snack Supply Crate"
+ contains = list(/obj/item/weapon/vending_refill/snack,
+ /obj/item/weapon/vending_refill/snack,
+ /obj/item/weapon/vending_refill/snack)
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "snacks supply crate"
+ group = "Operations"
+
+/datum/supply_packs/vending/cola
+ name = "Softdrinks Supply Crate"
+ contains = list(/obj/item/weapon/vending_refill/cola,
+ /obj/item/weapon/vending_refill/cola,
+ /obj/item/weapon/vending_refill/cola)
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "softdrinks supply crate"
+ group = "Operations"
+
+/datum/supply_packs/vending/cigarette
+ name = "Cigarette Supply Crate"
+ contains = list(/obj/item/weapon/vending_refill/cigarette,
+ /obj/item/weapon/vending_refill/cigarette,
+ /obj/item/weapon/vending_refill/cigarette)
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "cigarette supply crate"
+ group = "Operations"
+
+/datum/supply_packs/autodrobe
+ name = "Autodrobe Supply crate"
+ contains = list(/obj/item/weapon/vending_refill/autodrobe,
+ /obj/item/weapon/vending_refill/autodrobe,
+ /obj/item/weapon/vending_refill/autodrobe)
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "autodrobe supply crate"
+ group = "Operations"
+
+/datum/supply_packs/clothingvendor
+ name = "Clothing Vendor Supply crate"
+ contains = list(/obj/item/weapon/vending_refill/hatdispenser,
+ /obj/item/weapon/vending_refill/hatdispenser,
+ /obj/item/weapon/vending_refill/hatdispenser,
+ /obj/item/weapon/vending_refill/suitdispenser,
+ /obj/item/weapon/vending_refill/suitdispenser,
+ /obj/item/weapon/vending_refill/suitdispenser,
+ /obj/item/weapon/vending_refill/shoedispenser,
+ /obj/item/weapon/vending_refill/shoedispenser,
+ /obj/item/weapon/vending_refill/shoedispenser)
+ cost = 30
+ containertype = /obj/structure/closet/crate
+ containername = "clothing vendor supply crate"
+ group = "Operations"
+
+/datum/supply_packs/mafia
+ name = "Mafia Supply crate"
+ contains = list(/obj/item/clothing/suit/browntrenchcoat =1,/obj/item/clothing/suit/blacktrenchcoat =1,/obj/item/clothing/head/fedora/whitefedora =1,
+ /obj/item/clothing/head/fedora/brownfedora =1,/obj/item/clothing/head/fedora =1,/obj/item/clothing/under/flappers =1,/obj/item/clothing/under/mafia =1,/obj/item/clothing/under/mafia/vest =1,/obj/item/clothing/under/mafia/white =1,
+ /obj/item/clothing/under/mafia/sue =1,/obj/item/clothing/under/mafia/tan =1, /obj/item/toy/crossbow/tommygun =2)
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "mafia supply crate"
+ group = "Operations"
+
+/datum/supply_packs/fabric
+ name = "Fabric crate"
+ contains = list(/obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric,
+ /obj/item/weapon/ore/fabric)
+ cost = 30
+ containertype = /obj/structure/closet/crate
+ containername = "Fabric crate"
+ group = "Operations"
\ No newline at end of file
diff --git a/code/game/objects/structures/engicart.dm b/code/game/objects/structures/engicart.dm
index 1697fff9c48..8a57ecfff9f 100644
--- a/code/game/objects/structures/engicart.dm
+++ b/code/game/objects/structures/engicart.dm
@@ -5,9 +5,6 @@
icon_state = "cart"
anchored = 0
density = 1
- flags = OPENCONTAINER
- //copypaste sorry
- var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
var/obj/item/stack/sheet/glass/myglass = null
var/obj/item/stack/sheet/metal/mymetal = null
var/obj/item/stack/sheet/plasteel/myplasteel = null
diff --git a/code/game/objects/structures/foodcart.dm b/code/game/objects/structures/foodcart.dm
new file mode 100644
index 00000000000..edd701a8104
--- /dev/null
+++ b/code/game/objects/structures/foodcart.dm
@@ -0,0 +1,216 @@
+/obj/structure/foodcart
+ name = "food cart"
+ desc = "A cart for transporting food and drinks."
+ icon = 'icons/obj/foodcart.dmi'
+ icon_state = "cart"
+ anchored = 0
+ density = 1
+ //Food slots
+ var/obj/item/weapon/reagent_containers/food/snacks/food1 = null
+ var/obj/item/weapon/reagent_containers/food/snacks/food2 = null
+ var/obj/item/weapon/reagent_containers/food/snacks/food3 = null
+ var/obj/item/weapon/reagent_containers/food/snacks/food4 = null
+ var/obj/item/weapon/reagent_containers/food/snacks/food5 = null
+ var/obj/item/weapon/reagent_containers/food/snacks/food6 = null
+ //Drink slots
+ var/obj/item/weapon/reagent_containers/food/drinks/drink1 = null
+ var/obj/item/weapon/reagent_containers/food/drinks/drink2 = null
+ var/obj/item/weapon/reagent_containers/food/drinks/drink3 = null
+ var/obj/item/weapon/reagent_containers/food/drinks/drink4 = null
+ var/obj/item/weapon/reagent_containers/food/drinks/drink5 = null
+ var/obj/item/weapon/reagent_containers/food/drinks/drink6 = null
+
+/obj/structure/foodcart/proc/put_in_cart(obj/item/I, mob/user)
+ user.drop_item()
+ I.loc = src
+ updateUsrDialog()
+ user << "You put [I] into [src]."
+ return
+
+/obj/structure/foodcart/attackby(obj/item/I, mob/user)
+ var/fail_msg = "There are no open spaces for this in [src]."
+ if(!I.is_robot_module())
+ if(istype(I, /obj/item/weapon/reagent_containers/food/snacks))
+ if(!food1)
+ put_in_cart(I, user)
+ food1=I
+ update_icon()
+ else if(!food2)
+ put_in_cart(I, user)
+ food2=I
+ update_icon()
+ else if(!food3)
+ put_in_cart(I, user)
+ food3=I
+ update_icon()
+ else if(!food4)
+ put_in_cart(I, user)
+ food4=I
+ update_icon()
+ else if(!food5)
+ put_in_cart(I, user)
+ food5=I
+ update_icon()
+ else if(!food6)
+ put_in_cart(I, user)
+ food6=I
+ update_icon()
+ else
+ user << fail_msg
+ else if(istype(I, /obj/item/weapon/reagent_containers/food/drinks))
+ if(!drink1)
+ put_in_cart(I, user)
+ drink1=I
+ update_icon()
+ else if(!drink2)
+ put_in_cart(I, user)
+ drink2=I
+ update_icon()
+ else if(!drink3)
+ put_in_cart(I, user)
+ drink3=I
+ update_icon()
+ else if(!drink4)
+ put_in_cart(I, user)
+ drink4=I
+ update_icon()
+ else if(!drink5)
+ put_in_cart(I, user)
+ drink5=I
+ update_icon()
+ else if(!drink6)
+ put_in_cart(I, user)
+ drink6=I
+ update_icon()
+ else
+ user << fail_msg
+ else
+ usr << "You cannot interface your modules [src]!"
+
+/obj/structure/foodcart/attack_hand(mob/user)
+ user.set_machine(src)
+ var/dat
+ if(food1)
+ dat += "[food1.name]
"
+ if(food2)
+ dat += "[food2.name]
"
+ if(food3)
+ dat += "[food3.name]
"
+ if(food4)
+ dat += "[food4.name]
"
+ if(food5)
+ dat += "[food5.name]
"
+ if(food6)
+ dat += "[food6.name]
"
+ if(drink1)
+ dat += "[drink1.name]
"
+ if(drink2)
+ dat += "[drink2.name]
"
+ if(drink3)
+ dat += "[drink3.name]
"
+ if(drink4)
+ dat += "[drink4.name]
"
+ if(drink5)
+ dat += "[drink5.name]
"
+ if(drink6)
+ dat += "[drink6.name]
"
+ var/datum/browser/popup = new(user, "foodcart", name, 240, 160)
+ popup.set_content(dat)
+ popup.open()
+
+/obj/structure/foodcart/Topic(href, href_list)
+ if(!in_range(src, usr))
+ return
+ if(!isliving(usr))
+ return
+ var/mob/living/user = usr
+ if(href_list["f1"])
+ if(food1)
+ user.put_in_hands(food1)
+ user << "You take [food1] from [src]."
+ food1 = null
+ if(href_list["f2"])
+ if(food2)
+ user.put_in_hands(food2)
+ user << "You take [food2] from [src]."
+ food2 = null
+ if(href_list["f3"])
+ if(food3)
+ user.put_in_hands(food3)
+ user << "You take [food3] from [src]."
+ food3 = null
+ if(href_list["f4"])
+ if(food4)
+ user.put_in_hands(food4)
+ user << "You take [food4] from [src]."
+ food4 = null
+ if(href_list["f5"])
+ if(food5)
+ user.put_in_hands(food5)
+ user << "You take [food5] from [src]."
+ food5 = null
+ if(href_list["f6"])
+ if(food6)
+ user.put_in_hands(food6)
+ user << "You take [food6] from [src]."
+ food6 = null
+ if(href_list["d1"])
+ if(drink1)
+ user.put_in_hands(drink1)
+ user << "You take [drink1] from [src]."
+ drink1 = null
+ if(href_list["d2"])
+ if(drink2)
+ user.put_in_hands(drink2)
+ user << "You take [drink2] from [src]."
+ drink2 = null
+ if(href_list["d3"])
+ if(drink3)
+ user.put_in_hands(drink3)
+ user << "You take [drink3] from [src]."
+ drink3 = null
+ if(href_list["d4"])
+ if(drink4)
+ user.put_in_hands(drink4)
+ user << "You take [drink4] from [src]."
+ drink4 = null
+ if(href_list["d5"])
+ if(drink5)
+ user.put_in_hands(drink5)
+ user << "You take [drink5] from [src]."
+ drink5 = null
+ if(href_list["d6"])
+ if(drink6)
+ user.put_in_hands(drink6)
+ user << "You take [drink6] from [src]."
+ drink6 = null
+
+ update_icon()
+ updateUsrDialog()
+
+/obj/structure/foodcart/update_icon()
+ overlays = null
+ if(food1)
+ overlays += "cart_food1"
+ if(food2)
+ overlays += "cart_food2"
+ if(food3)
+ overlays += "cart_food3"
+ if(food4)
+ overlays += "cart_food4"
+ if(food5)
+ overlays += "cart_food5"
+ if(food6)
+ overlays += "cart_food6"
+ if(drink1)
+ overlays += "cart_drink1"
+ if(drink2)
+ overlays += "cart_drink2"
+ if(drink3)
+ overlays += "cart_drink3"
+ if(drink4)
+ overlays += "cart_drink4"
+ if(drink5)
+ overlays += "cart_drink5"
+ if(drink6)
+ overlays += "cart_drink6"
\ No newline at end of file
diff --git a/icons/obj/foodcart.dmi b/icons/obj/foodcart.dmi
new file mode 100644
index 00000000000..470af70eb1f
Binary files /dev/null and b/icons/obj/foodcart.dmi differ
diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm
index cbaf629896a..8d56da4d315 100644
--- a/maps/cyberiad.dmm
+++ b/maps/cyberiad.dmm
@@ -8991,6 +8991,7 @@
"dqU" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r"; icon_state = "burst_r"},/turf/space,/area/supply/dock)
"dqV" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
"dqW" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
+"dqX" = (/obj/structure/foodcart,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"dqY" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom)
"dqZ" = (/obj/structure/table,/obj/item/weapon/bonegel,/obj/item/weapon/bonesetter,/obj/item/weapon/hemostat,/obj/item/weapon/cautery,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel,/obj/item/weapon/retractor,/obj/item/weapon/FixOVein,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
"dra" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom)
@@ -12671,7 +12672,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaGbayaaTzaAPaGdaUYaUZaVaaVbaGdaAPaVcaVdayaaVeaPTaTzaVfaVgaTCaTCaTDaySaVhaRHaDyaTGaRJaViaVjaVkaRLaRLaVlaVmaVnaRLaVoaVpaVqaVpaVraVsaVpaVpaVtaVpaVpaVuaVvaVpaVwaVpaVxaRLaRLaRLaVyaVzaVAaVBaVCaVDaVCaVEaVFaVEaVEaVEaVEaVEaVEaVGaVHaVIaVIaVIaVIaVJaVIaVKaVLaVIaVIaVMaVNaVOaVOaVOaVOaVOaVOaVOaVPaSEaSEaaqaVQaVRaVSaVTaVTaVUaVVaUuaSMaVWaaqaaqaaqaaqaaqaVXaaqaVYaVZaWaaWbaQVaWcaaqaWdaWeaWfaWgaWhaWiaWjaWkaaqaPvaJuaaqaWlaWmaNRaWnaWoaNRaWpaWpaaqaWqaWraWsaaqaWtaWuaWvaMvaMvaWwaWxaOeaWyaaqaWzaUQaURaWAaWBaUQaUQaWCaWDaaaaaaaaaaaaaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaySaDwaTuaPSaERaDyaDyaESaPSaTuaPSaWEaWFaWGaWHaDwaWIaWIaREaWIaRFaySaWJaRHaDyaySaPYaPYaWKaPYaPYaPYaPYaPYaPYaWLaWMaPYaPYaPYaPYaPYaPYaWNaWOaWNaPYaWPaPYaWQaVjaWRaWSaWTaWUaRLaWVaPYaWWaWWaWXaWXaWXaWYaQCaQCaQCaQCaQCaQCaQCaaiaWZaXaaXbaXaaXcaXcaXdaXeaXfaXgaXhaaiaXiaQCaQCaQCaQCaQCaQCaXjaXkaXkaXkaaqaXlaXmaXnaXnaXnaXnaXoaKyaXpaXqaXraXsaXtaXuaXvaXwaaqaaqaXxaXiaXyaQCaXzaaqaXAaXBaXCaXCaXCaXCaXDaXEaaqaXFaJuaaqaXGaNRaWnaWnaWoaWnaNRaXHaaqaXIaXJaXKaaqaMvaXLaXMaXNaXNaXOaXPaXQaXRabZaXSaXTaXUaXVaUSaUQaUQaXWaWDaaaaaaaaaaaaaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCyaXXaDyaXYaXZaYaaYbaYcaYdaYbaYeaYfaYbaYbbcOaYhaYiaYjaYkaYkaYkaYlaYkaYmaYnaySaYoaYpaYqaYraYsaYtaYuaYvaYwaYxaYyaYzaYAaYBaYCaYDaYEaYFaYGaYHaYEaYIaPYaPYaYJaPYaPYaPYaPYaYKaYLaPYaYMaWWaYNaSeaSjaYOaaaaaaaaaaaaaaaaaaaaaaaiaYPaYQaYRaYSaYTaYUaYVaYWaYXaYYaYZaaiaaaaaaaaaaaaaaaaaaaaaaEFaZaaSEaZbaaqaZcaXmaXqaXqaXqaXqaXqaZdaZeaXqaXqaXqaXtaZfaZfaZgaZhaZiaZjaZkaZlaZmaZnaaqaZoaZpaZqaZraZraZqaZsaZtaaqaPvaZuaaqaZvaZwaNRaWnaWoaNRaZxaZxaaqaaqaZyaaqaaqaZzaWuaWxaZAaZAaZBaWxaOeaaqaaqaZCaUQaZDaZDaZEaZDaUQaZFaWDaaaaaaaaaaZGaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaZHaZIaZHaZHaZHaZHaZHaZHaZIaZHaZHaZJaDyaZKaZLaDyaDyaZMaDyaZNaZOaZPaZQaZRaySaYpaYpaZSaYraZTaYxaYxaYxaYxaYxaYyaZUaYxaYxaYxaYxaYEaZVaZWaZXaYEaYIaZYaZZbaababbacaYMbadbaebafbagbahbaiaYNaSeaSjaYOaaaaaaaaaaaaaaiaaiaaiaaibajbakbalbambanbaobapbaqbarbasbataaiaaiaaiaaiaaaaaaaaaaaaaEFaZaaSEaSEbauaXqbavbawbaxaXqbaybazaJabaAbaBbaCaXqaXtaZfaZfbaDbaEaZfbaFbaGbaHbaIaZfbaJbaKbaLaZqaZraZraZqbaMbaNaaqaPvbaOaaqaXGaNRaWnaWnaWoaWnaNRaNRbaPbaQaNRbaRaaqbaSbaTbaUaZAaZAbaVbaUbaWaaqbaXbaYaUQbaZbaZbbabaZaUQaXWbbbbbcbbdbbdbbeaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaZHaZIaZHaZHaZHaZHaZHaZHaZIaZHaZHaZJaDyaZKaZLaDyaDyaZMaDyaZNaZOaZPaZQaZRaySaYpaYpaZSaYraZTaYxaYxaYxaYxaYxaYyaZUaYxaYxaYxaYxaYEaZVaZWaZXaYEaYIaZYaZZbaababbacaYMbadbaebafbagbahbaiaYNaSeaSjaYOaaaaaaaaaaaaaaiaaiaaiaaibajbakbalbambanbaobapbaqbarbasbataaiaaiaaiaaiaaaaaaaaaaaaaEFaZaaSEaSEbauaXqbavbawbaxaXqbaybazaJabaAbaBbaCaXqaXtdqXaZfbaDbaEaZfbaFbaGbaHbaIaZfbaJbaKbaLaZqaZraZraZqbaMbaNaaqaPvbaOaaqaXGaNRaWnaWnaWoaWnaNRaNRbaPbaQaNRbaRaaqbaSbaTbaUaZAaZAbaVbaUbaWaaqbaXbaYaUQbaZbaZbbabaZaUQaXWbbbbbcbbdbbdbbeaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayabbfbbgbbgbbgbbgbbgbbgbbgaGjayaaySbbhbbiaySbbjbbjbbjbbjbbjbbkaySaySaySaySaYpbblbbmaYrbbnaYxaYxbbobbpbbqbbrbboaYxaYxaYxbbsaYEbbtbbubbvaYEaYIaZYbbwbbxbbybbzaYMbbAbbBbbCbbDbbEbbFbbGbbHaSjbbIaoJaaiaaiaaiaaibbJbbKbbLbbMbbNbbNbbObbPbbNbbQbbNbbRbbSbbTbbUbbVbbWaaiaaiaaiaaiaXibbXaZaaSEaSEaaqbbYbavbaBbaxaXqbbZbcaaXqbcbbccbaCaXqaXtaZfaZfbcdbcebcfbcgbchbcibcjaZfbckbaKbclaZqaZraZrbcmbcnbaNaaqaPvbcoaaqbcpbcqbcraWnaWobcsaNRaNRbctaNRbcubcvaaqbcwbcxbcyaZAaZAbczbcybcAaaqbcBbaYaUQaUQaUQaUSaUQaUQbcCbcDbcEbcFbcGbcHaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcIbcIbcIbcIbcIbcIbcIbcIbcIbcIbcIbcIaabbcJaGeaDAbcKbbjbcLbcMbcNbcRbcPbcQbhlbcSbbjbcTbcUbcVbcWaYrbcXaYxaYxbbobbqbcYbcZbboaYxaYxbdabdbaYEaYEaYEaYEaYEaYIaZYaZYaZYaZYaZYaYMbdcbbDbddbbDbdebbFaYNbdfaSjaSkaSkbdgbdhbdiaaibdjbalbdkbbNbbNbbNbdlbdmbdnbdmbdobdpbdqbdmbdrbdsbdtaaibdubdhbdvbdwbdxaZaaSEaSEbauaXqbdyaXqaXqaXqbdzbdAaXqbcbbdBbaCaXqaXtaZfaZfbdCbdDbdEbdFbdGbdHbcjbdIaaqbdJbclaZqaZraZraZqbcnbdKaaqbdLaaqaaqaaJaaqaaqbdMaWobdNbdOaNRbdPbdQaRlbdRabZbdSbdTbdUbdVbdVbdWbdXbdYabZbdZbeaaUQbebaUQaUSaUQaUQbecbedbbcbbdbbdbeeaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcIbcIbcIbcIbcIbcIbcIbcIbcIbcIbcIbcIbcIbefbegbehaERaZKbbjbcLbeibejbcLbekbelbembenbbjbeobepbeqberaYrbesbetbeubevbewbexbeybezbezbezbeAbeBaYrbeCbcUbeDbeEbeFbblbblbeGberbeHaYMbeIbeJbeKbeLbeMbeNaYNbdfaSeaSeaSebeObePbeQbeRbeSbeTbbNbeUbeVbeWbeXbeYbeZbfabfbbfcbfdbfebeSbffbfgbfhbfibfjbfkbflbfmbfnaSEbfoaaqaXqbfpbfqbaCaXqbfrbfsaXqbftbfubaCaXqaXtaZfaZfaZfaZgaZfbfvaZfbdHbcjbfwaaqbfxbclaZqaZraZraZqbcnbfyaaqbfzbfAbfAbfBbfCbfDbfEbfFbfGbfGbfGbfGbfGbfGbfHbfIbfJaZAaZAaZAaZAaZAaZAbfKbfLbfMbaYaUQaUQaUQaUSaUQaUQbfNaWDbfObfObfOaWDaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaKPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/paradise.dme b/paradise.dme
index 9b9c24ac5ad..1e5fe1c92c2 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -772,6 +772,7 @@
#include "code\game\objects\structures\extinguisher.dm"
#include "code\game\objects\structures\false_walls.dm"
#include "code\game\objects\structures\flora.dm"
+#include "code\game\objects\structures\foodcart.dm"
#include "code\game\objects\structures\fullwindow.dm"
#include "code\game\objects\structures\girders.dm"
#include "code\game\objects\structures\grille.dm"
@@ -1340,7 +1341,7 @@
#include "code\modules\mob\living\simple_animal\friendly\corgi.dm"
#include "code\modules\mob\living\simple_animal\friendly\crab.dm"
#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm"
-#include "code\modules\mob\living\simple_animal\friendly\fox.dm"
+#include "code\modules\mob\living\simple_animal\friendly\Fox.dm"
#include "code\modules\mob\living\simple_animal\friendly\lizard.dm"
#include "code\modules\mob\living\simple_animal\friendly\mouse.dm"
#include "code\modules\mob\living\simple_animal\friendly\slime.dm"