/datum/supply_pack var/name = "Crate" var/group = "" var/hidden = FALSE var/contraband = FALSE var/cost = 700 // Minimum cost, or infinite points are possible. var/access = FALSE var/access_any = FALSE var/list/contains = null var/crate_name = "crate" var/desc = ""//no desc by default var/crate_type = /obj/structure/closet/crate var/dangerous = FALSE // Should we message admins? var/special = FALSE //Event/Station Goals/Admin enabled packs var/special_enabled = FALSE var/DropPodOnly = FALSE//only usable by the Bluespace Drop Pod via the express cargo console var/admin_spawned = FALSE /datum/supply_pack/proc/generate(turf/T) var/obj/structure/closet/crate/C = new crate_type(T) C.name = crate_name if(access) C.req_access = list(access) if(access_any) C.req_one_access = access_any fill(C) return C /datum/supply_pack/proc/fill(obj/structure/closet/crate/C) if (admin_spawned) for(var/item in contains) var/atom/A = new item(C) A.admin_spawned = TRUE else for(var/item in contains) new item(C) ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Emergency /////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/emergency group = "Emergency" /datum/supply_pack/emergency/vehicle name = "Biker Gang Kit" //TUNNEL SNAKES OWN THIS TOWN desc = "TUNNEL SNAKES OWN THIS TOWN. Contains an unbranded All Terrain Vehicle, and a complete gang outfit -- consists of black gloves, a menacing skull bandanna, and a SWEET leather overcoat!" cost = 2000 contraband = TRUE contains = list(/obj/vehicle/ridden/atv, /obj/item/key, /obj/item/clothing/suit/jacket/leather/overcoat, /obj/item/clothing/gloves/color/black, /obj/item/clothing/head/soft, /obj/item/clothing/mask/bandana/skull)//so you can properly #cargoniabikergang crate_name = "Biker Kit" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/emergency/droneshells name = "Drone Shell Crate" desc = "The station's little helpers. Contains three Drone Shells." cost = 1000 contains = list(/obj/item/drone_shell, /obj/item/drone_shell, /obj/item/drone_shell) crate_name = "drone shell crate" /datum/supply_pack/emergency/equipment name = "Emergency Bot/Internals Crate" desc = "Explosions got you down? These supplies are guaranteed to patch up holes, in stations and people alike! Comes with two floorbots, two medbots, five oxygen masks and five small oxygen tanks." cost = 3500 contains = list(/mob/living/simple_animal/bot/floorbot, /mob/living/simple_animal/bot/floorbot, /mob/living/simple_animal/bot/medbot, /mob/living/simple_animal/bot/medbot, /obj/item/tank/internals/air, /obj/item/tank/internals/air, /obj/item/tank/internals/air, /obj/item/tank/internals/air, /obj/item/tank/internals/air, /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) crate_name = "emergency crate" crate_type = /obj/structure/closet/crate/internals /datum/supply_pack/emergency/firefighting name = "Firefighting Crate" desc = "Only you can prevent station fires. Partner up with two firefighter suits, gas masks, flashlights, large oxygen tanks, extinguishers, and hardhats!" cost = 1000 contains = list(/obj/item/clothing/suit/fire/firefighter, /obj/item/clothing/suit/fire/firefighter, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/flashlight, /obj/item/flashlight, /obj/item/tank/internals/oxygen/red, /obj/item/tank/internals/oxygen/red, /obj/item/extinguisher, /obj/item/extinguisher, /obj/item/clothing/head/hardhat/red, /obj/item/clothing/head/hardhat/red) crate_name = "firefighting crate" /datum/supply_pack/emergency/atmostank name = "Firefighting Tank Backpack" desc = "Mow down fires with this high-capacity fire fighting tank backpack. Requires Atmospherics access to open." cost = 1000 access = ACCESS_ATMOSPHERICS contains = list(/obj/item/watertank/atmos) crate_name = "firefighting backpack crate" crate_type = /obj/structure/closet/crate/secure /datum/supply_pack/emergency/internals name = "Internals Crate" desc = "Master your life energy and control your breathing with three breath masks, three emergency oxygen tanks and three large air tanks."//IS THAT A cost = 1000 contains = list(/obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/air, /obj/item/tank/internals/air, /obj/item/tank/internals/air) crate_name = "internals crate" crate_type = /obj/structure/closet/crate/internals /datum/supply_pack/emergency/metalfoam name = "Metal Foam Grenade Crate" desc = "Seal up those pesky hull breaches with 7 Metal Foam Grenades." cost = 1000 contains = list(/obj/item/storage/box/metalfoam) crate_name = "metal foam grenade crate" /datum/supply_pack/emergency/syndicate name = "NULL_ENTRY" desc = "(#@&^$THIS PACKAGE CONTAINS 30TC WORTH OF SOME RANDOM SYNDICATE GEAR WE HAD LYING AROUND THE WAREHOUSE. GIVE EM HELL, OPERATIVE@&!*() " hidden = TRUE cost = 20000 contains = list() crate_name = "emergency crate" crate_type = /obj/structure/closet/crate/internals dangerous = TRUE /datum/supply_pack/emergency/syndicate/fill(obj/structure/closet/crate/C) var/crate_value = 30 var/list/uplink_items = get_uplink_items(SSticker.mode) while(crate_value) var/category = pick(uplink_items) var/item = pick(uplink_items[category]) var/datum/uplink_item/I = uplink_items[category][item] if(!I.surplus_nullcrates || prob(100 - I.surplus_nullcrates)) continue if(crate_value < I.cost) continue crate_value -= I.cost new I.item(C) /datum/supply_pack/emergency/plasmaman name = "Plasmaman Supply Kit" desc = "Keep those Plasmamen alive with two sets of Plasmaman outfits. Each set contains a plasmaman jumpsuit, internals tank, and helmet." cost = 2000 contains = list(/obj/item/clothing/under/plasmaman, /obj/item/clothing/under/plasmaman, /obj/item/tank/internals/plasmaman/belt/full, /obj/item/tank/internals/plasmaman/belt/full, /obj/item/clothing/head/helmet/space/plasmaman, /obj/item/clothing/head/helmet/space/plasmaman) crate_name = "plasmaman supply kit" /datum/supply_pack/emergency/radiation name = "Radiation Protection Crate" desc = "Survive the Nuclear Apocalypse and Supermatter Engine alike with two sets of Radiation suits. Each set contains a helmet, suit, and geiger counter. We'll even throw in a bottle of vodka and some glasses too, considering the life-expectancy of people who order this." cost = 1000 contains = list(/obj/item/clothing/head/radiation, /obj/item/clothing/head/radiation, /obj/item/clothing/suit/radiation, /obj/item/clothing/suit/radiation, /obj/item/geiger_counter, /obj/item/geiger_counter, /obj/item/reagent_containers/food/drinks/bottle/vodka, /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass) crate_name = "radiation protection crate" crate_type = /obj/structure/closet/crate/radiation /datum/supply_pack/emergency/spacesuit name = "Space Suit Crate" desc = "Contains two aging suits from Space-Goodwill. Requires EVA access to open." cost = 3000 access = ACCESS_EVA contains = list(/obj/item/clothing/suit/space, /obj/item/clothing/suit/space, /obj/item/clothing/head/helmet/space, /obj/item/clothing/head/helmet/space, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath) crate_name = "space suit crate" crate_type = /obj/structure/closet/crate/secure /datum/supply_pack/emergency/specialops name = "Special Ops Supplies" desc = "(*!&@#TOO CHEAP FOR THAT NULL_ENTRY, HUH OPERATIVE? WELL, THIS LITTLE ORDER CAN STILL HELP YOU OUT IN A PINCH. CONTAINS A BOX OF FIVE EMP GRENADES, THREE SMOKEBOMBS, AN INCENDIARY GRENADE, AND A \"SLEEPY PEN\" FULL OF NICE TOXINS!#@*$" hidden = TRUE cost = 2000 contains = list(/obj/item/storage/box/emps, /obj/item/grenade/smokebomb, /obj/item/grenade/smokebomb, /obj/item/grenade/smokebomb, /obj/item/pen/sleepy, /obj/item/grenade/chem_grenade/incendiary) crate_name = "emergency crate" crate_type = /obj/structure/closet/crate/internals /datum/supply_pack/emergency/weedcontrol name = "Weed Control Crate" desc = "Keep those invasive species OUT. Contains a scythe, gasmask, and two anti-weed chemical grenades. Warrenty void if used on ambrosia. Requires Hydroponics access to open." cost = 1500 access = ACCESS_HYDROPONICS contains = list(/obj/item/scythe, /obj/item/clothing/mask/gas, /obj/item/grenade/chem_grenade/antiweed, /obj/item/grenade/chem_grenade/antiweed) crate_name = "weed control crate" crate_type = /obj/structure/closet/crate/secure/hydroponics ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Security //////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/security group = "Security" access = ACCESS_SECURITY crate_type = /obj/structure/closet/crate/secure/gear /datum/supply_pack/security/armor name = "Armor Crate" desc = "Three vests of well-rounded, decently-protective armor. Requires Security access to open." cost = 1000 contains = list(/obj/item/clothing/suit/armor/vest, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/suit/armor/vest) crate_name = "armor crate" /datum/supply_pack/security/disabler name = "Disabler Crate" desc = "Three stamina-draining disabler weapons. Requires Security access to open." cost = 1500 contains = list(/obj/item/gun/energy/disabler, /obj/item/gun/energy/disabler, /obj/item/gun/energy/disabler) crate_name = "disabler crate" /datum/supply_pack/security/forensics name = "Forensics Crate" desc = "Stay hot on the criminal's heels with Nanotrasen's Detective Essentials(tm). Contains a forensics scanner, six evidence bags, camera, tape recorder, white crayon, and of course, a fedora. Requires Security access to open." cost = 2000 contains = list(/obj/item/detective_scanner, /obj/item/storage/box/evidence, /obj/item/camera, /obj/item/taperecorder, /obj/item/toy/crayon/white, /obj/item/clothing/head/fedora/det_hat) crate_name = "forensics crate" /datum/supply_pack/security/helmets name = "Helmets Crate" desc = "Contains three standard-issue brain buckets. Requires Security access to open." cost = 1000 contains = list(/obj/item/clothing/head/helmet/sec, /obj/item/clothing/head/helmet/sec, /obj/item/clothing/head/helmet/sec) crate_name = "helmet crate" /datum/supply_pack/security/laser name = "Lasers Crate" desc = "Contains three lethal, high-energy laser guns. Requires Security access to open." cost = 2000 contains = list(/obj/item/gun/energy/laser, /obj/item/gun/energy/laser, /obj/item/gun/energy/laser) crate_name = "laser crate" /datum/supply_pack/security/securitybarriers name = "Security Barrier Grenades" desc = "Stem the tide with four Security Barrier grenades. Requires Security access to open." contains = list(/obj/item/grenade/barrier, /obj/item/grenade/barrier, /obj/item/grenade/barrier, /obj/item/grenade/barrier) cost = 2000 crate_name = "security barriers crate" /datum/supply_pack/security/securityclothes name = "Security Clothing Crate" desc = "Contains appropriate outfits for the station's private security force. Contains outfits for the Warden, Head of Security, and two Security Officers. Each outfit comes with a rank-appropriate jumpsuit, suit, and beret. Requires Security access to open." cost = 3000 contains = list(/obj/item/clothing/under/rank/security/navyblue, /obj/item/clothing/under/rank/security/navyblue, /obj/item/clothing/suit/security/officer, /obj/item/clothing/suit/security/officer, /obj/item/clothing/head/beret/sec/navyofficer, /obj/item/clothing/head/beret/sec/navyofficer, /obj/item/clothing/under/rank/warden/navyblue, /obj/item/clothing/suit/security/warden, /obj/item/clothing/head/beret/sec/navywarden, /obj/item/clothing/under/rank/head_of_security/navyblue, /obj/item/clothing/suit/security/hos, /obj/item/clothing/head/beret/sec/navyhos) crate_name = "security clothing crate" /datum/supply_pack/security/supplies name = "Security Supplies Crate" desc = "Contains seven flashbangs, seven teargas grenades, six flashes, and seven handcuffs. Requires Security access to open." cost = 1000 contains = list(/obj/item/storage/box/flashbangs, /obj/item/storage/box/teargas, /obj/item/storage/box/flashes, /obj/item/storage/box/handcuffs) crate_name = "security supply crate" /datum/supply_pack/security/firingpins name = "Standard Firing Pins Crate" desc = "Upgrade your arsenal with 10 standard firing pins. Requires Security access to open." cost = 2000 contains = list(/obj/item/storage/box/firingpins, /obj/item/storage/box/firingpins) crate_name = "firing pins crate" /datum/supply_pack/security/justiceinbound name = "Standard Justice Enforcer Crate" desc = "This is it. The Bee's Knees. The Creme of the Crop. The Pick of the Litter. The best of the best of the best. The Crown Jewel of Nanotrasen. The Alpha and the Omega of security headwear. Guaranteed to strike fear into the hearts of each and every criminal aboard the station. Also comes with a security gasmask. Requires Security access to open." cost = 6000 //justice comes at a price. An expensive, noisy price. contraband = TRUE contains = list(/obj/item/clothing/head/helmet/justice, /obj/item/clothing/mask/gas/sechailer) crate_name = "security clothing crate" /datum/supply_pack/security/baton name = "Stun Batons Crate" desc = "Arm the Civil Protection Forces with three stun batons. Batteries included. Requires Security access to open." cost = 1000 contains = list(/obj/item/melee/baton/loaded, /obj/item/melee/baton/loaded, /obj/item/melee/baton/loaded) crate_name = "stun baton crate" /datum/supply_pack/security/taser name = "Taser Crate" desc = "From the depths of stunbased combat, this order rises above, supreme. Contains three hybrid tasers, capable of firing both electrodes and disabling shots. Requires Security access to open." cost = 3000 contains = list(/obj/item/gun/energy/e_gun/advtaser, /obj/item/gun/energy/e_gun/advtaser, /obj/item/gun/energy/e_gun/advtaser) crate_name = "taser crate" /datum/supply_pack/security/wall_flash name = "Wall-Mounted Flash Crate" desc = "Contains four wall-mounted flashes. Requires Security access to open." cost = 1000 contains = list(/obj/item/storage/box/wall_flash, /obj/item/storage/box/wall_flash, /obj/item/storage/box/wall_flash, /obj/item/storage/box/wall_flash) crate_name = "wall-mounted flash crate" ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Armory ////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/security/armory group = "Armory" access = ACCESS_ARMORY crate_type = /obj/structure/closet/crate/secure/weapon /datum/supply_pack/security/armory/bulletarmor name = "Bulletproof Armor Crate" desc = "Contains three sets of bulletproof armor. Guaranteed to reduce a bullet's stopping power by over half. Requires Armory access to open." cost = 1500 contains = list(/obj/item/clothing/suit/armor/bulletproof, /obj/item/clothing/suit/armor/bulletproof, /obj/item/clothing/suit/armor/bulletproof) crate_name = "bulletproof armor crate" /datum/supply_pack/security/armory/combatknives name = "Combat Knives Crate" desc = "Contains three sharpened combat knives. Each knife guaranteed to fit snugly inside any Nanotrasen-standard boot. Requires Armory access to open." cost = 3000 contains = list(/obj/item/kitchen/knife/combat, /obj/item/kitchen/knife/combat, /obj/item/kitchen/knife/combat) crate_name = "combat knife crate" /datum/supply_pack/security/armory/ballistic name = "Combat Shotguns Crate" desc = "For when the enemy absolutely needs to be replaced with lead. Contains three Aussec-designed Combat Shotguns, and three Shotgun Bandoliers. Requires Armory access to open." cost = 8000 contains = list(/obj/item/gun/ballistic/shotgun/automatic/combat, /obj/item/gun/ballistic/shotgun/automatic/combat, /obj/item/gun/ballistic/shotgun/automatic/combat, /obj/item/storage/belt/bandolier, /obj/item/storage/belt/bandolier, /obj/item/storage/belt/bandolier) crate_name = "combat shotguns crate" /datum/supply_pack/security/armory/energy name = "Energy Guns Crate" desc = "Contains two Energy Guns, capable of firing both nonlethal and lethal blasts of light. Requires Armory access to open." cost = 2500 contains = list(/obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun) crate_name = "energy gun crate" crate_type = /obj/structure/closet/crate/secure/plasma /datum/supply_pack/security/armory/chemimp name = "Chemical Implants Crate" desc = "Contains five Remote Chemical implants. Requires Armory access to open." cost = 2000 contains = list(/obj/item/storage/box/chemimp) crate_name = "chemical implant crate" /datum/supply_pack/security/armory/exileimp name = "Exile Implants Crate" desc = "Contains five Exile implants. Requires Armory access to open." cost = 3000 contains = list(/obj/item/storage/box/exileimp) crate_name = "exile implant crate" /datum/supply_pack/security/armory/mindshield name = "Mindshield Implants Crate" desc = "Prevent against radical thoughts with three Mindshield implants. Requires Armory access to open." cost = 4000 contains = list(/obj/item/storage/lockbox/loyalty) crate_name = "mindshield implant crate" /datum/supply_pack/security/armory/trackingimp name = "Tracking Implants Crate" desc = "Contains four tracking implants. Requires Armory access to open." cost = 2000 contains = list(/obj/item/storage/box/trackimp) crate_name = "tracking implant crate" /datum/supply_pack/security/armory/fire name = "Incendiary Weapons Crate" desc = "Burn, baby burn. Contains three incendiary grenades, three plasma canisters, and a flamethrower. Requires Armory access to open." cost = 1500 access = ACCESS_HEADS contains = list(/obj/item/flamethrower/full, /obj/item/tank/internals/plasma, /obj/item/tank/internals/plasma, /obj/item/tank/internals/plasma, /obj/item/grenade/chem_grenade/incendiary, /obj/item/grenade/chem_grenade/incendiary, /obj/item/grenade/chem_grenade/incendiary) crate_name = "incendiary weapons crate" crate_type = /obj/structure/closet/crate/secure/plasma dangerous = TRUE /datum/supply_pack/security/armory/laserarmor name = "Reflector Vest Crate" desc = "Contains two vests of highly reflective material. Each armor peice diffuses a laser's energy by over half, as well as offering a good chance to reflect the laser entirely. Requires Armory access to open." cost = 2000 contains = list(/obj/item/clothing/suit/armor/laserproof, /obj/item/clothing/suit/armor/laserproof) crate_name = "reflector vest crate" crate_type = /obj/structure/closet/crate/secure/plasma /datum/supply_pack/security/armory/riotarmor name = "Riot Armor Crate" desc = "Contains three sets of heavy body armor. Advanced padding protects against close-ranged weaponry, making melee attacks feel only half as potent to the user. Requires Armory access to open." cost = 1500 contains = list(/obj/item/clothing/suit/armor/riot, /obj/item/clothing/suit/armor/riot, /obj/item/clothing/suit/armor/riot) crate_name = "riot armor crate" /datum/supply_pack/security/armory/riothelmets name = "Riot Helmets Crate" desc = "Contains three riot helmets. Requires Armory access to open." cost = 1500 contains = list(/obj/item/clothing/head/helmet/riot, /obj/item/clothing/head/helmet/riot, /obj/item/clothing/head/helmet/riot) crate_name = "riot helmets crate" /datum/supply_pack/security/armory/riotshields name = "Riot Shields Crate" desc = "For when the greytide gets really uppity. Contains three riot shields. Requires Armory access to open." cost = 2000 contains = list(/obj/item/shield/riot, /obj/item/shield/riot, /obj/item/shield/riot) crate_name = "riot shields crate" /datum/supply_pack/security/armory/swat name = "SWAT Crate" desc = "Contains two fullbody sets of tough, fireproof, pressurized suits designed in a joint effort by IS-ERI and Nanotrasen. Each set contains a suit, helmet, mask, combat belt, and combat gloves. Requires Armory access to open." cost = 6000 contains = list(/obj/item/clothing/head/helmet/swat/nanotrasen, /obj/item/clothing/head/helmet/swat/nanotrasen, /obj/item/clothing/suit/space/swat, /obj/item/clothing/suit/space/swat, /obj/item/clothing/mask/gas/sechailer/swat, /obj/item/clothing/mask/gas/sechailer/swat, /obj/item/storage/belt/military/assault, /obj/item/storage/belt/military/assault, /obj/item/clothing/gloves/combat, /obj/item/clothing/gloves/combat) crate_name = "swat crate" /datum/supply_pack/security/armory/wt550 name = "WT-550 Auto Rifle Crate" desc = "Contains two high-powered, semiautomatic rifles chambered in 4.6x30mm. Requires Armory access to open." cost = 3500 contains = list(/obj/item/gun/ballistic/automatic/wt550, /obj/item/gun/ballistic/automatic/wt550) crate_name = "auto rifle crate" /datum/supply_pack/security/armory/wt550ammo name = "WT-550 Auto Rifle Ammo Crate" desc = "Contains four 20-round magazines for the WT-550 Auto Rifle. Each magazine is designed to facilitate rapid tactical reloads. Requires Armory access to open." cost = 3000 contains = list(/obj/item/ammo_box/magazine/wt550m9, /obj/item/ammo_box/magazine/wt550m9, /obj/item/ammo_box/magazine/wt550m9, /obj/item/ammo_box/magazine/wt550m9) crate_name = "auto rifle ammo crate" ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Engineering ///////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/engineering group = "Engineering" crate_type = /obj/structure/closet/crate/engineering /datum/supply_pack/engineering/shieldgen name = "Anti-breach Shield Projector Crate" desc = "Hull breaches again? Say no more with the Nanotrasen Anti-Breach Shield Projector! Uses forcefield technology to keep the air in, and the space out. Contains two shield projectors." cost = 2500 contains = list(/obj/machinery/shieldgen, /obj/machinery/shieldgen) crate_name = "anti-breach shield projector crate" /datum/supply_pack/engineering/engiequipment name = "Engineering Gear Crate" desc = "Gear up with three toolbelts, high-visibility vests, welding helmets, hardhats, and two pairs of meson goggles!" cost = 1300 contains = list(/obj/item/storage/belt/utility, /obj/item/storage/belt/utility, /obj/item/storage/belt/utility, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/head/welding, /obj/item/clothing/head/welding, /obj/item/clothing/head/welding, /obj/item/clothing/head/hardhat, /obj/item/clothing/head/hardhat, /obj/item/clothing/head/hardhat, /obj/item/clothing/glasses/meson/engine, /obj/item/clothing/glasses/meson/engine) crate_name = "engineering gear crate" /datum/supply_pack/engineering/powergamermitts name = "Insulated Gloves Crate" desc = "The backbone of modern society. Barely ever ordered for actual engineering. Contains three insulated gloves." cost = 2000 //Made of pure-grade bullshittinium contains = list(/obj/item/clothing/gloves/color/yellow, /obj/item/clothing/gloves/color/yellow, /obj/item/clothing/gloves/color/yellow) crate_name = "insulated gloves crate" /obj/item/stock_parts/cell/inducer_supply//what is this doing here maxcharge = 5000 charge = 5000 /datum/supply_pack/engineering/inducers name = "NT-75 Electromagnetic Power Inducers Crate" desc = "No rechargers? No problem, with the NT-75 EPI, you can recharge any standard cell-based equipment anytime, anywhere. Contains two Inducers." cost = 2000 contains = list(/obj/item/inducer/sci {cell_type = /obj/item/stock_parts/cell/inducer_supply; opened = 0}, /obj/item/inducer/sci {cell_type = /obj/item/stock_parts/cell/inducer_supply; opened = 0}) //FALSE doesn't work in modified type paths apparently. crate_name = "inducer crate" crate_type = /obj/structure/closet/crate/engineering/electrical /datum/supply_pack/engineering/pacman name = "P.A.C.M.A.N Generator Crate" desc = "Engineers can't set up the engine? Not an issue for you, once you get your hands on this P.A.C.M.A.N. Generator! Takes in plasma and spits out sweet sweet energy." cost = 2500 contains = list(/obj/machinery/power/port_gen/pacman) crate_name = "PACMAN generator crate" crate_type = /obj/structure/closet/crate/engineering/electrical /datum/supply_pack/engineering/power name = "Power Cell Crate" desc = "Looking for power overwhelming? Look no further. Contains three high-voltage power cells." cost = 1000 contains = list(/obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high) crate_name = "power cell crate" crate_type = /obj/structure/closet/crate/engineering/electrical /datum/supply_pack/engineering/shuttle_engine name = "Shuttle Engine Crate" desc = "Through advanced bluespace-shenanigins, our engineers have managed to fit an entire shuttle engine into one tiny little crate. Requires CE access to open." cost = 5000 access = ACCESS_CE contains = list(/obj/structure/shuttle/engine/propulsion/burst/cargo) crate_name = "shuttle engine crate" crate_type = /obj/structure/closet/crate/secure/engineering special = TRUE /datum/supply_pack/engineering/tools name = "Toolbox Crate" desc = "Any robust spaceman is never far from their trusty toolbox. Contains three electrical toolboxes and three mechanical toolboxes." contains = list(/obj/item/storage/toolbox/electrical, /obj/item/storage/toolbox/electrical, /obj/item/storage/toolbox/electrical, /obj/item/storage/toolbox/mechanical, /obj/item/storage/toolbox/mechanical, /obj/item/storage/toolbox/mechanical) cost = 1000 crate_name = "toolbox crate" /datum/supply_pack/engineering/engine/am_jar name = "Antimatter Containment Jar Crate" desc = "Two Antimatter containment jars stuffed into a single crate." cost = 2000 contains = list(/obj/item/am_containment, /obj/item/am_containment) crate_name = "antimatter jar crate" /datum/supply_pack/engineering/engine/am_core name = "Antimatter Control Crate" desc = "The brains of the Antimatter engine, this device is sure to teach the station's powergrid the true meaning of real power." cost = 5000 contains = list(/obj/machinery/power/am_control_unit) crate_name = "antimatter control crate" /datum/supply_pack/engineering/engine/am_shielding name = "Antimatter Shielding Crate" desc = "Contains ten Antimatter shields, somehow crammed into a crate." cost = 2000 contains = list(/obj/item/am_shielding_container, /obj/item/am_shielding_container, /obj/item/am_shielding_container, /obj/item/am_shielding_container, /obj/item/am_shielding_container, /obj/item/am_shielding_container, /obj/item/am_shielding_container, /obj/item/am_shielding_container, /obj/item/am_shielding_container, /obj/item/am_shielding_container) //10 shields: 3x3 containment and a core crate_name = "antimatter shielding crate" /datum/supply_pack/engineering/engine name = "Emitter Crate" desc = "Useful for powering forcefield generators while destroying locked crates and intruders alike. Contains two high-powered energy emitters. Requires CE access to open." cost = 1500 access = ACCESS_CE contains = list(/obj/machinery/power/emitter, /obj/machinery/power/emitter) crate_name = "emitter crate" crate_type = /obj/structure/closet/crate/secure/engineering dangerous = TRUE /datum/supply_pack/engineering/engine/field_gen name = "Field Generator Crate" desc = "Typically the only thing standing between the station and a messy death. Powered by emitters. Contains two field generators." cost = 1500 contains = list(/obj/machinery/field/generator, /obj/machinery/field/generator) crate_name = "field generator crate" /datum/supply_pack/engineering/grounding_rods name = "Grounding Rod Crate" desc = "Four grounding rods guaranteed to keep any uppity tesla's lightning under control." cost = 1700 contains = list(/obj/machinery/power/grounding_rod, /obj/machinery/power/grounding_rod, /obj/machinery/power/grounding_rod, /obj/machinery/power/grounding_rod) crate_name = "grounding rod crate" crate_type = /obj/structure/closet/crate/engineering/electrical /datum/supply_pack/engineering/engine/PA name = "Particle Accelerator Crate" desc = "A supermassive black hole or hyper-powered teslaball are the perfect way to spice up any party! This \"My First Apocalypse\" kit contains everything you need to build your own Particle Accelerator! Ages 10 and up." cost = 3000 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) crate_name = "particle accelerator crate" /datum/supply_pack/engineering/engine/collector name = "Radiation Collector Crate" desc = "Contains three radiation collectors. Useful for collecting energy off nearby Supermatter Crystals, Singularities or Teslas!" cost = 2500 contains = list(/obj/machinery/power/rad_collector, /obj/machinery/power/rad_collector, /obj/machinery/power/rad_collector) crate_name = "collector crate" /datum/supply_pack/engineering/engine/sing_gen name = "Singularity Generator Crate" desc = "The key to unlocking the power of Lord Singuloth. Particle Accelerator not included." cost = 5000 contains = list(/obj/machinery/the_singularitygen) crate_name = "singularity generator crate" /datum/supply_pack/engineering/solar name = "Solar Panel Crate" desc = "Go green with this DIY advanced solar array. Contains twenty one solar assemblies, a solar-control circuit board, and tracker. If you have any questions, please check out the enclosed instruction book." cost = 2000 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, /obj/item/circuitboard/computer/solar_control, /obj/item/electronics/tracker, /obj/item/paper/guides/jobs/engi/solars) crate_name = "solar panel crate" crate_type = /obj/structure/closet/crate/engineering/electrical /datum/supply_pack/engineering/engine/supermatter_crystal name = "Supermatter Shard Crate" desc = "The power of the heavens condensed into a single crystal. Requires CE access to open." cost = 10000 access = ACCESS_CE contains = list(/obj/machinery/power/supermatter_crystal/shard) crate_name = "supermatter shard crate" crate_type = /obj/structure/closet/crate/secure/engineering dangerous = TRUE /datum/supply_pack/engineering/engine/tesla_coils name = "Tesla Coil Crate" desc = "Whether it's high-voltage executions, creating research points, or just plain old power generation: This pack of four Tesla coils can do it all!" cost = 2500 contains = list(/obj/machinery/power/tesla_coil, /obj/machinery/power/tesla_coil, /obj/machinery/power/tesla_coil, /obj/machinery/power/tesla_coil) crate_name = "tesla coil crate" crate_type = /obj/structure/closet/crate/engineering/electrical /datum/supply_pack/engineering/engine/tesla_gen name = "Tesla Generator Crate" desc = "The key to unlocking the power of the Tesla energy ball. Particle Accelerator not included." cost = 5000 contains = list(/obj/machinery/the_singularitygen/tesla) crate_name = "tesla generator crate" /datum/supply_pack/engineering/bsa name = "Bluespace Artillery Parts" desc = "The pride of Nanotrasen Naval Command. The legendary Bluespace Artillery Cannon is a devastating feat of human engineering and testament to wartime determination. Highly advanced research is required for proper construction. " cost = 15000 special = TRUE contains = list(/obj/item/circuitboard/machine/bsa/front, /obj/item/circuitboard/machine/bsa/middle, /obj/item/circuitboard/machine/bsa/back, /obj/item/circuitboard/computer/bsa_control ) crate_name= "bluespace artillery parts crate" /datum/supply_pack/engineering/dna_vault name = "DNA Vault Parts" desc = "Secure the longevity of the current state of humanity within this massive library of scientific knowledge, capable of granting superhuman powers and abilities. Highly advanced research is required for proper construction. Also contains five DNA probes." cost = 12000 special = TRUE contains = list( /obj/item/circuitboard/machine/dna_vault, /obj/item/dna_probe, /obj/item/dna_probe, /obj/item/dna_probe, /obj/item/dna_probe, /obj/item/dna_probe ) crate_name= "dna vault parts crate" /datum/supply_pack/engineering/dna_probes name = "DNA Vault Samplers" desc = "Contains five DNA probes for use in the DNA vault." cost = 3000 special = TRUE contains = list(/obj/item/dna_probe, /obj/item/dna_probe, /obj/item/dna_probe, /obj/item/dna_probe, /obj/item/dna_probe ) crate_name= "dna samplers crate" /datum/supply_pack/engineering/shield_sat name = "Shield Generator Satellite" desc = "Protect the very existence of this station with these Anti-Meteor defenses. Contains three Shield Generator Satellites." cost = 3000 special = TRUE contains = list( /obj/machinery/satellite/meteor_shield, /obj/machinery/satellite/meteor_shield, /obj/machinery/satellite/meteor_shield ) crate_name= "shield sat crate" /datum/supply_pack/engineering/shield_sat_control name = "Shield System Control Board" desc = "A control system for the Shield Generator Satellite system." cost = 5000 special = TRUE contains = list(/obj/item/circuitboard/computer/sat_control) crate_name= "shield control board crate" ////////////////////////////////////////////////////////////////////////////// //////////////////////// Canisters & Materials//////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/materials group = "Canisters & Materials" /datum/supply_pack/materials/cardboard50 name = "50 Cardboard Sheets" desc = "Create a bunch of boxes." cost = 1000 contains = list(/obj/item/stack/sheet/cardboard/fifty) crate_name = "cardboard sheets crate" /datum/supply_pack/materials/glass50 name = "50 Glass Sheets" desc = "Let some nice light in with fifty glass sheets!" cost = 1000 contains = list(/obj/item/stack/sheet/glass/fifty) crate_name = "glass sheets crate" /datum/supply_pack/materials/metal50 name = "50 Metal Sheets" desc = "Any construction project begins with a good stack of fifty metal sheets!" cost = 1000 contains = list(/obj/item/stack/sheet/metal/fifty) crate_name = "metal sheets crate" /datum/supply_pack/materials/plasteel20 name = "20 Plasteel Sheets" desc = "Reinforce the station's integrity with twenty plasteel sheets!" cost = 7500 contains = list(/obj/item/stack/sheet/plasteel/twenty) crate_name = "plasteel sheets crate" /datum/supply_pack/materials/plasteel50 name = "50 Plasteel Sheets" desc = "For when you REALLY have to reinforce something." cost = 16500 contains = list(/obj/item/stack/sheet/plasteel/fifty) crate_name = "plasteel sheets crate" /datum/supply_pack/materials/plastic50 name = "50 Plastic Sheets" desc = "Build a limitless amount of toys with fifty plastic sheets!" cost = 1000 contains = list(/obj/item/stack/sheet/plastic/fifty) crate_name = "plastic sheets crate" /datum/supply_pack/materials/sandstone30 name = "30 Sandstone Blocks" desc = "Neither sandy nor stoney, these thirty blocks will still get the job done." cost = 1000 contains = list(/obj/item/stack/sheet/mineral/sandstone/thirty) crate_name = "sandstone blocks crate" /datum/supply_pack/materials/wood50 name = "50 Wood Planks" desc = "Turn cargo's boring metal groundwork into beautiful panelled flooring and much more with fifty wooden planks!" cost = 2000 contains = list(/obj/item/stack/sheet/mineral/wood/fifty) crate_name = "wood planks crate" /datum/supply_pack/materials/bz name = "BZ Canister Crate" desc = "Contains a canister of BZ. Requires Toxins access to open." cost = 4000 access = ACCESS_TOX_STORAGE contains = list(/obj/machinery/portable_atmospherics/canister/bz) crate_name = "BZ canister crate" crate_type = /obj/structure/closet/crate/secure/science /datum/supply_pack/materials/carbon_dio name = "Carbon Dioxide Canister" desc = "Contains a canister of Carbon Dioxide." cost = 3000 contains = list(/obj/machinery/portable_atmospherics/canister/carbon_dioxide) crate_name = "carbon dioxide canister crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/materials/nitrogen name = "Nitrogen Canister" desc = "Contains a canister of Nitrogen." cost = 2000 contains = list(/obj/machinery/portable_atmospherics/canister/nitrogen) crate_name = "nitrogen canister crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/materials/nitrous_oxide_canister name = "Nitrous Oxide Canister" desc = "Contains a canister of Nitrous Oxide. Requires Atmospherics access to open." cost = 3000 access = ACCESS_ATMOSPHERICS contains = list(/obj/machinery/portable_atmospherics/canister/nitrous_oxide) crate_name = "nitrous oxide canister crate" crate_type = /obj/structure/closet/crate/secure /datum/supply_pack/materials/oxygen name = "Oxygen Canister" desc = "Contains a canister of Oxygen. Canned in Druidia." cost = 1500 contains = list(/obj/machinery/portable_atmospherics/canister/oxygen) crate_name = "oxygen canister crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/materials/water_vapor name = "Water Vapor Canister" desc = "Contains a canister of Water Vapor. I swear to god if you open this in the halls..." cost = 2500 contains = list(/obj/machinery/portable_atmospherics/canister/water_vapor) crate_name = "water vapor canister crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/materials/fueltank name = "Fuel Tank Crate" desc = "Contains a welding fuel tank. Caution, highly flammable." cost = 800 contains = list(/obj/structure/reagent_dispensers/fueltank) crate_name = "fuel tank crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/materials/watertank name = "Water Tank Crate" desc = "Contains a tank of dihydrogen monoxide... sounds dangerous." cost = 600 contains = list(/obj/structure/reagent_dispensers/watertank) crate_name = "water tank crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/materials/hightank name = "Large Water Tank Crate" desc = "Contains a high-capacity water tank. Useful for botany or other service jobs." cost = 1200 contains = list(/obj/structure/reagent_dispensers/watertank/high) crate_name = "high-capacity water tank crate" crate_type = /obj/structure/closet/crate/large ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Medical ///////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/medical group = "Medical" crate_type = /obj/structure/closet/crate/medical /datum/supply_pack/medical/firstaidbruises name = "Bruise Treatment Kit Crate" desc = "Contains three first aid kits focused on healing bruises and broken bones." cost = 1000 contains = list(/obj/item/storage/firstaid/brute, /obj/item/storage/firstaid/brute, /obj/item/storage/firstaid/brute) crate_name = "brute treatment kit crate" /datum/supply_pack/medical/firstaidburns name = "Burn Treatment Kit Crate" desc = "Contains three first aid kits focused on healing severe burns." cost = 1000 contains = list(/obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/fire) crate_name = "burn treatment kit crate" /datum/supply_pack/medical/firstaid name = "First Aid Kit Crate" desc = "Contains four first aid kits for healing most types of wounds." cost = 1000 contains = list(/obj/item/storage/firstaid/regular, /obj/item/storage/firstaid/regular, /obj/item/storage/firstaid/regular, /obj/item/storage/firstaid/regular) crate_name = "first aid kit crate" /datum/supply_pack/medical/firstaidoxygen name = "Oxygen Deprivation Kit Crate" desc = "Contains three first aid kits focused on helping oxygen deprivation victims." cost = 1000 contains = list(/obj/item/storage/firstaid/o2, /obj/item/storage/firstaid/o2, /obj/item/storage/firstaid/o2) crate_name = "oxygen deprivation kit crate" /datum/supply_pack/medical/firstaidtoxins name = "Toxin Treatment Kit Crate" desc = "Contains three first aid kits focused on healing damage dealt by heavy toxins." cost = 1000 contains = list(/obj/item/storage/firstaid/toxin, /obj/item/storage/firstaid/toxin, /obj/item/storage/firstaid/toxin) crate_name = "toxin treatment kit crate" /datum/supply_pack/medical/bloodpacks name = "Blood Pack Variety Crate" desc = "Contains eight different blood packs for reintroducing blood to patients." cost = 3500 contains = list(/obj/item/reagent_containers/blood, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/blood/APlus, /obj/item/reagent_containers/blood/AMinus, /obj/item/reagent_containers/blood/BPlus, /obj/item/reagent_containers/blood/BMinus, /obj/item/reagent_containers/blood/OPlus, /obj/item/reagent_containers/blood/OMinus) crate_name = "blood freezer" crate_type = /obj/structure/closet/crate/freezer /datum/supply_pack/medical/defibs name = "Defibrillator Crate" desc = "Contains two defibrillators for bringing the recently-deceased back to life." cost = 2500 contains = list(/obj/item/defibrillator/loaded, /obj/item/defibrillator/loaded) crate_name = "defibrillator crate" /datum/supply_pack/medical/iv_drip name = "IV Drip Crate" desc = "Contains a single IV drip for administering blood to patients." cost = 1000 contains = list(/obj/machinery/iv_drip) crate_name = "iv drip crate" /datum/supply_pack/medical/supplies name = "Medical Supplies Crate" desc = "Contains seven beakers, syringes, and bodybags. Six morphine bottles, four insulin pills. Two charcoal bottles, epinephrine bottles, antitoxin bottles, and large beakers. Finally, a single roll of medical gauze. German doctor not included." cost = 2000 contains = list(/obj/item/reagent_containers/glass/bottle/charcoal, /obj/item/reagent_containers/glass/bottle/charcoal, /obj/item/reagent_containers/glass/bottle/epinephrine, /obj/item/reagent_containers/glass/bottle/epinephrine, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/toxin, /obj/item/reagent_containers/glass/bottle/toxin, /obj/item/reagent_containers/glass/beaker/large, /obj/item/reagent_containers/glass/beaker/large, /obj/item/reagent_containers/pill/insulin, /obj/item/reagent_containers/pill/insulin, /obj/item/reagent_containers/pill/insulin, /obj/item/reagent_containers/pill/insulin, /obj/item/stack/medical/gauze, /obj/item/storage/box/beakers, /obj/item/storage/box/medsprays, /obj/item/storage/box/syringes, /obj/item/storage/box/bodybags) crate_name = "medical supplies crate" /datum/supply_pack/medical/vending name = "Medical Vending Crate" desc = "Contains refills for medical vending machines." cost = 2000 contains = list(/obj/item/vending_refill/medical, /obj/item/vending_refill/medical, /obj/item/vending_refill/medical) crate_name = "medical vending crate" /datum/supply_pack/medical/virus name = "Virus Crate" desc = "Contains twelve different bottles, each filled with a different chemical compound, each useful for virology. Also includes seven beakers and syringes. Balled-up jeans not included. Requires CMO access to open." cost = 2500 access = ACCESS_CMO contains = list(/obj/item/reagent_containers/glass/bottle/flu_virion, /obj/item/reagent_containers/glass/bottle/cold, /obj/item/reagent_containers/glass/bottle/epiglottis_virion, /obj/item/reagent_containers/glass/bottle/liver_enhance_virion, /obj/item/reagent_containers/glass/bottle/fake_gbs, /obj/item/reagent_containers/glass/bottle/magnitis, /obj/item/reagent_containers/glass/bottle/pierrot_throat, /obj/item/reagent_containers/glass/bottle/brainrot, /obj/item/reagent_containers/glass/bottle/hallucigen_virion, /obj/item/reagent_containers/glass/bottle/anxiety, /obj/item/reagent_containers/glass/bottle/beesease, /obj/item/storage/box/syringes, /obj/item/storage/box/beakers, /obj/item/reagent_containers/glass/bottle/mutagen) crate_name = "virus crate" crate_type = /obj/structure/closet/crate/secure/plasma dangerous = TRUE ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Science ///////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/science group = "Science" crate_type = /obj/structure/closet/crate/science /datum/supply_pack/science/robotics/mecha_odysseus name = "Circuit Crate (Odysseus)" desc = "Ever wanted to build your own giant medical robot? Well now you can! Contains the Odysseus main control board and Odysseus peripherals board. Requires Robotics access to open." cost = 2500 access = ACCESS_ROBOTICS contains = list(/obj/item/circuitboard/mecha/odysseus/peripherals, /obj/item/circuitboard/mecha/odysseus/main) crate_name = "\improper Odysseus circuit crate" crate_type = /obj/structure/closet/crate/secure/science /datum/supply_pack/science/robotics/mecha_ripley name = "Circuit Crate (Ripley APLU)" desc = "Rip apart rocks and xenomorphs alike with the Ripley APLU. Contains the Main Ripley control board, as well as the Ripley Peripherals board. Requires Robotics access to open." cost = 3000 access = ACCESS_ROBOTICS contains = list(/obj/item/book/manual/ripley_build_and_repair, /obj/item/circuitboard/mecha/ripley/main, /obj/item/circuitboard/mecha/ripley/peripherals) crate_name = "\improper APLU Ripley circuit crate" crate_type = /obj/structure/closet/crate/secure/science /datum/supply_pack/science/plasma name = "Plasma Assembly Crate" desc = "Everything you need to burn something to the ground, this contains three plasma assembly sets. Each set contains a plasma tank, igniter, proximity sensor, and timer! Warranty void if exposed to high temperatures. Requires Toxins access to open." cost = 1000 access = ACCESS_TOX_STORAGE contains = list(/obj/item/tank/internals/plasma, /obj/item/tank/internals/plasma, /obj/item/tank/internals/plasma, /obj/item/assembly/igniter, /obj/item/assembly/igniter, /obj/item/assembly/igniter, /obj/item/assembly/prox_sensor, /obj/item/assembly/prox_sensor, /obj/item/assembly/prox_sensor, /obj/item/assembly/timer, /obj/item/assembly/timer, /obj/item/assembly/timer) crate_name = "plasma assembly crate" crate_type = /obj/structure/closet/crate/secure/plasma /datum/supply_pack/science/robotics name = "Robotics Assembly Crate" desc = "The tools you need to replace those finicky humans with a loyal robot army! Contains three proximity sensors, two high-powered cells, six flashes, and an electrical toolbox. Requires Robotics access to open." cost = 1000 access = ACCESS_ROBOTICS contains = list(/obj/item/assembly/prox_sensor, /obj/item/assembly/prox_sensor, /obj/item/assembly/prox_sensor, /obj/item/storage/toolbox/electrical, /obj/item/storage/box/flashes, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high) crate_name = "robotics assembly crate" crate_type = /obj/structure/closet/crate/secure/science /datum/supply_pack/science/shieldwalls name = "Shield Generator Crate" desc = "These high powered Shield Wall Generators are guaranteed to keep any unwanted lifeforms on the outside, where they belong! Contains four shield wall generators. Requires Teleporter access to open." cost = 2000 access = ACCESS_TELEPORTER contains = list(/obj/machinery/shieldwallgen, /obj/machinery/shieldwallgen, /obj/machinery/shieldwallgen, /obj/machinery/shieldwallgen) crate_name = "shield generators crate" crate_type = /obj/structure/closet/crate/secure/science /datum/supply_pack/science/tablets name = "Tablet Crate" desc = "What's a computer? Contains five cargo tablets." cost = 5000 contains = list(/obj/item/modular_computer/tablet/preset/cargo, /obj/item/modular_computer/tablet/preset/cargo, /obj/item/modular_computer/tablet/preset/cargo, /obj/item/modular_computer/tablet/preset/cargo, /obj/item/modular_computer/tablet/preset/cargo) crate_name = "tablet crate" /datum/supply_pack/science/transfer_valves name = "Tank Transfer Valves Crate" desc = "The key ingredient for making a lot of people very angry very fast. Contains two tank transfer valves. Requires RD access to open." cost = 6000 access = ACCESS_RD contains = list(/obj/item/transfer_valve, /obj/item/transfer_valve) crate_name = "tank transfer valves crate" crate_type = /obj/structure/closet/crate/secure/science dangerous = TRUE ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Organic ///////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/organic group = "Food & Livestock" crate_type = /obj/structure/closet/crate/freezer /datum/supply_pack/organic/hydroponics/beekeeping_suits name = "Beekeeper Suit Crate" desc = "Bee business booming? Better be benevolent and boost botany by bestowing bi-Beekeeper-suits! Contains two beekeeper suits and matching headwear." cost = 1000 contains = list(/obj/item/clothing/head/beekeeper_head, /obj/item/clothing/suit/beekeeper_suit, /obj/item/clothing/head/beekeeper_head, /obj/item/clothing/suit/beekeeper_suit) crate_name = "beekeeper suits" /datum/supply_pack/organic/food name = "Food Crate" desc = "Get things cooking with this crate full of useful ingredients! Contains a dozen eggs, three bananas, and some flour, rice, milk, soymilk, salt, pepper, enzyme, sugar, and monkeymeat." cost = 1000 contains = list(/obj/item/reagent_containers/food/condiment/flour, /obj/item/reagent_containers/food/condiment/rice, /obj/item/reagent_containers/food/condiment/milk, /obj/item/reagent_containers/food/condiment/soymilk, /obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/reagent_containers/food/condiment/peppermill, /obj/item/storage/fancy/egg_box, /obj/item/reagent_containers/food/condiment/enzyme, /obj/item/reagent_containers/food/condiment/sugar, /obj/item/reagent_containers/food/snacks/meat/slab/monkey, /obj/item/reagent_containers/food/snacks/grown/banana, /obj/item/reagent_containers/food/snacks/grown/banana, /obj/item/reagent_containers/food/snacks/grown/banana) crate_name = "food crate" /datum/supply_pack/organic/hydroponics/beekeeping_fullkit name = "Beekeeping Starter Crate" desc = "BEES BEES BEES. Contains three honey frames, a beekeeper suit and helmet, flyswatter, bee house, and, of course, a pure-bred Nanotrasen-Standardized Queen Bee!" cost = 1500 contains = list(/obj/structure/beebox, /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/honey_frame, /obj/item/queen_bee/bought, /obj/item/clothing/head/beekeeper_head, /obj/item/clothing/suit/beekeeper_suit, /obj/item/melee/flyswatter) crate_name = "beekeeping starter crate" /datum/supply_pack/organic/cream_piee name = "High-yield Clown-grade Cream Pie Crate" desc = "Designed by Aussec's Advanced Warfare Research Division, these high-yield, Clown-grade cream pies are powered by a synergy of performance and efficiency. Guaranteed to provide maximum results." cost = 6000 contains = list(/obj/item/storage/backpack/duffelbag/clown/cream_pie) crate_name = "party equipment crate" contraband = TRUE access = ACCESS_THEATRE crate_type = /obj/structure/closet/crate/secure /datum/supply_pack/organic/hydroponics name = "Hydroponics Crate" desc = "Supplies for growing a great garden! Contains two bottles of ammonia, two Plant-B-Gone spray bottles, a hatchet, cultivator, plant analyzer, as well as a pair of leather gloves and a botanist's apron." cost = 1500 contains = list(/obj/item/reagent_containers/spray/plantbgone, /obj/item/reagent_containers/spray/plantbgone, /obj/item/reagent_containers/glass/bottle/ammonia, /obj/item/reagent_containers/glass/bottle/ammonia, /obj/item/hatchet, /obj/item/cultivator, /obj/item/plant_analyzer, /obj/item/clothing/gloves/botanic_leather, /obj/item/clothing/suit/apron) crate_name = "hydroponics crate" crate_type = /obj/structure/closet/crate/hydroponics /datum/supply_pack/organic/hydroponics/hydrotank name = "Hydroponics Backpack Crate" desc = "Bring on the flood with this high-capacity backpack crate. Contains 500 units of life-giving H2O. Requires hydroponics access to open." cost = 1000 access = ACCESS_HYDROPONICS contains = list(/obj/item/watertank) crate_name = "hydroponics backpack crate" crate_type = /obj/structure/closet/crate/secure /datum/supply_pack/organic/monkey name = "Monkey Cube Crate" desc = "Stop monkeying around! Contains seven monkey cubes. Just add water!" cost = 2000 contains = list (/obj/item/storage/box/monkeycubes) crate_name = "monkey cube crate" /datum/supply_pack/organic/party name = "Party Equipment" desc = "Celebrate both life and death on the station with Nanotrasen's Party Essentials(tm)! Contains seven colored glowsticks, four beers, two ales, and a bottle of patron, goldschlager, and shaker!" cost = 2000 contains = list(/obj/item/storage/box/drinkingglasses, /obj/item/reagent_containers/food/drinks/shaker, /obj/item/reagent_containers/food/drinks/bottle/patron, /obj/item/reagent_containers/food/drinks/bottle/goldschlager, /obj/item/reagent_containers/food/drinks/ale, /obj/item/reagent_containers/food/drinks/ale, /obj/item/reagent_containers/food/drinks/beer, /obj/item/reagent_containers/food/drinks/beer, /obj/item/reagent_containers/food/drinks/beer, /obj/item/reagent_containers/food/drinks/beer, /obj/item/flashlight/glowstick, /obj/item/flashlight/glowstick/red, /obj/item/flashlight/glowstick/blue, /obj/item/flashlight/glowstick/cyan, /obj/item/flashlight/glowstick/orange, /obj/item/flashlight/glowstick/yellow, /obj/item/flashlight/glowstick/pink) crate_name = "party equipment crate" /datum/supply_pack/organic/pizza name = "Pizza Crate" desc = "Best prices on this side of the galaxy. All deliveries are guaranteed to be 99% anomaly-free!" cost = 6000 // Best prices this side of the galaxy. contains = list(/obj/item/pizzabox/margherita, /obj/item/pizzabox/mushroom, /obj/item/pizzabox/meat, /obj/item/pizzabox/vegetable, /obj/item/pizzabox/pineapple) crate_name = "pizza crate" var/static/anomalous_box_provided = FALSE /datum/supply_pack/organic/pizza/fill(obj/structure/closet/crate/C) . = ..() if(!anomalous_box_provided) for(var/obj/item/pizzabox/P in C) if(prob(1)) //1% chance for each box, so 4% total chance per order var/obj/item/pizzabox/infinite/fourfiveeight = new(C) fourfiveeight.boxtag = P.boxtag qdel(P) anomalous_box_provided = TRUE log_game("An anomalous pizza box was provided in a pizza crate at during cargo delivery") if(prob(50)) addtimer(CALLBACK(src, .proc/anomalous_pizza_report), rand(300, 1800)) else message_admins("An anomalous pizza box was silently created with no command report in a pizza crate delivery.") break /datum/supply_pack/organic/pizza/proc/anomalous_pizza_report() print_command_report("[station_name()], our anomalous materials divison has reported a missing object that is highly likely to have been sent to your station during a routine cargo \ delivery. Please search all crates and manifests provided with the delivery and return the object if is located. The object resembles a standard \[DATA EXPUNGED\] and is to be \ considered \[REDACTED\] and returned at your leisure. Note that objects the anomaly produces are specifically attuned exactly to the individual opening the anomaly; regardless \ of species, the individual will find the object edible and it will taste great according to their personal definitions, which vary significantly based on person and species.") /datum/supply_pack/organic/potted_plants name = "Potted Plants Crate" desc = "Spruce up the station with these lovely plants! Contains a random assortment of five potted plants from Nanotrasen's potted plant research division. Warranty void if thrown." cost = 700 contains = list(/obj/item/twohanded/required/kirbyplants/random, /obj/item/twohanded/required/kirbyplants/random, /obj/item/twohanded/required/kirbyplants/random, /obj/item/twohanded/required/kirbyplants/random, /obj/item/twohanded/required/kirbyplants/random) crate_name = "potted plants crate" crate_type = /obj/structure/closet/crate/hydroponics /datum/supply_pack/organic/hydroponics/seeds name = "Seeds Crate" desc = "Big things have small beginnings. Contains thirteen different seeds." cost = 1000 contains = list(/obj/item/seeds/chili, /obj/item/seeds/berry, /obj/item/seeds/corn, /obj/item/seeds/eggplant, /obj/item/seeds/tomato, /obj/item/seeds/soya, /obj/item/seeds/wheat, /obj/item/seeds/wheat/rice, /obj/item/seeds/carrot, /obj/item/seeds/sunflower, /obj/item/seeds/chanter, /obj/item/seeds/potato, /obj/item/seeds/sugarcane) crate_name = "seeds crate" /datum/supply_pack/organic/hydroponics/exoticseeds name = "Exotic Seeds Crate" desc = "Any entrepreneuring botanist's dream. Contains twelve different seeds, including three replica-pod seeds and two mystery seeds!" cost = 1500 contains = list(/obj/item/seeds/nettle, /obj/item/seeds/replicapod, /obj/item/seeds/replicapod, /obj/item/seeds/replicapod, /obj/item/seeds/plump, /obj/item/seeds/liberty, /obj/item/seeds/amanita, /obj/item/seeds/reishi, /obj/item/seeds/banana, /obj/item/seeds/eggplant/eggy, /obj/item/seeds/random, /obj/item/seeds/random) crate_name = "exotic seeds crate" /datum/supply_pack/organic/critter crate_type = /obj/structure/closet/crate/critter /datum/supply_pack/organic/critter/butterfly name = "Butterflies Crate" desc = "Not a very dangerous insect, but they do give off a better image than, say, flies or cockroaches."//is that a motherfucking worm reference contraband = TRUE cost = 5000 contains = list(/mob/living/simple_animal/butterfly) crate_name = "entomology samples crate" /datum/supply_pack/organic/critter/butterfly/generate() . = ..() for(var/i in 1 to 49) new /mob/living/simple_animal/butterfly(.) /datum/supply_pack/organic/critter/cat name = "Cat Crate" desc = "The cat goes meow! Comes with a collar and a nice cat toy! Cheeseburger not included."//i can't believe im making this reference cost = 5000 //Cats are worth as much as corgis. contains = list(/mob/living/simple_animal/pet/cat, /obj/item/clothing/neck/petcollar, /obj/item/toy/cattoy) crate_name = "cat crate" /datum/supply_pack/organic/critter/cat/generate() . = ..() if(prob(50)) var/mob/living/simple_animal/pet/cat/C = locate() in . qdel(C) new /mob/living/simple_animal/pet/cat/Proc(.) /datum/supply_pack/organic/critter/chick name = "Chicken Crate" desc = "The chicken goes bwaak!" cost = 2000 contains = list( /mob/living/simple_animal/chick) crate_name = "chicken crate" /datum/supply_pack/organic/critter/crab name = "Crab Rocket" desc = "CRAAAAAAB ROCKET. CRAB ROCKET. CRAB ROCKET. CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB ROCKET. CRAFT. ROCKET. BUY. CRAFT ROCKET. CRAB ROOOCKET. CRAB ROOOOCKET. CRAB CRAB CRAB CRAB CRAB CRAB CRAB CRAB ROOOOOOOOOOOOOOOOOOOOOOCK EEEEEEEEEEEEEEEEEEEEEEEEE EEEETTTTTTTTTTTTAAAAAAAAA AAAHHHHHHHHHHHHH. CRAB ROCKET. CRAAAB ROCKEEEEEEEEEGGGGHHHHTT CRAB CRAB CRAABROCKET CRAB ROCKEEEET."//fun fact: i actually spent like 10 minutes and transcribed the entire video. cost = 5000 contains = list(/mob/living/simple_animal/crab) crate_name = "look sir free crabs" DropPodOnly = TRUE /datum/supply_pack/organic/critter/crab/generate() . = ..() for(var/i in 1 to 49) new /mob/living/simple_animal/crab(.) /datum/supply_pack/organic/critter/corgi name = "Corgi Crate" desc = "Considered the optimal dog breed by thousands of research scientists, this Corgi is but one dog from the millions of Ian's noble bloodline. Comes with a cute collar!" cost = 5000 contains = list(/mob/living/simple_animal/pet/dog/corgi, /obj/item/clothing/neck/petcollar) crate_name = "corgi crate" /datum/supply_pack/organic/critter/corgi/generate() . = ..() if(prob(50)) var/mob/living/simple_animal/pet/dog/corgi/D = locate() in . qdel(D) new /mob/living/simple_animal/pet/dog/corgi/Lisa(.) /datum/supply_pack/organic/critter/cow name = "Cow Crate" desc = "The cow goes moo!" cost = 3000 contains = list(/mob/living/simple_animal/cow) crate_name = "cow crate" /datum/supply_pack/organic/critter/fox name = "Fox Crate" desc = "The fox goes...? Comes with a collar!"//what does the fox say cost = 5000 contains = list(/mob/living/simple_animal/pet/fox, /obj/item/clothing/neck/petcollar) crate_name = "fox crate" /datum/supply_pack/organic/critter/goat name = "Goat Crate" desc = "The goat goes baa! Warranty void if used as a replacement for Pete." cost = 2500 contains = list(/mob/living/simple_animal/hostile/retaliate/goat) crate_name = "goat crate" /datum/supply_pack/organic/critter/pug name = "Pug Crate" desc = "Like a normal dog, but... squished. Comes with a nice collar!" cost = 5000 contains = list(/mob/living/simple_animal/pet/dog/pug, /obj/item/clothing/neck/petcollar) crate_name = "pug crate" /datum/supply_pack/organic/critter/snake name = "Snake Crate" desc = "Tired of these MOTHER FUCKING snakes on this MOTHER FUCKING space station? Then this isn't the crate for you. Contains three poisonous snakes." cost = 3000 contains = list(/mob/living/simple_animal/hostile/retaliate/poison/snake, /mob/living/simple_animal/hostile/retaliate/poison/snake, /mob/living/simple_animal/hostile/retaliate/poison/snake) crate_name = "snake crate" /datum/supply_pack/organic/vending name = "Bartending Supply Crate" desc = "Bring on the booze with six vending machine refills, as well as a free book containing the well-kept secrets to the bartending trade!" cost = 2000 contains = list(/obj/item/vending_refill/boozeomat, /obj/item/vending_refill/boozeomat, /obj/item/vending_refill/boozeomat, /obj/item/vending_refill/coffee, /obj/item/vending_refill/coffee, /obj/item/vending_refill/coffee, /obj/item/book/granter/action/drink_fling) crate_name = "bartending supply crate" /datum/supply_pack/organic/vending/cigarette name = "Cigarette Supply Crate" desc = "Don't believe the reports - smoke today! Contains cigarette vending machine refills." cost = 1500 contains = list(/obj/item/vending_refill/cigarette, /obj/item/vending_refill/cigarette, /obj/item/vending_refill/cigarette) crate_name = "cigarette supply crate" /datum/supply_pack/organic/vending/games name = "Games Supply Crate" desc = "Get your game on with these three game vending machine refills." cost = 1000 contains = list(/obj/item/vending_refill/games, /obj/item/vending_refill/games, /obj/item/vending_refill/games) crate_name = "games supply crate" /datum/supply_pack/organic/vending/snack name = "Snack Supply Crate" desc = "Three vending machine refills of cavity-bringin' goodness! The number one dentist recommended order!" cost = 1500 contains = list(/obj/item/vending_refill/snack, /obj/item/vending_refill/snack, /obj/item/vending_refill/snack) crate_name = "snacks supply crate" /datum/supply_pack/organic/vending/cola name = "Softdrinks Supply Crate" desc = "Got whacked by a toolbox, but you still have those pesky teeth? Get rid of those pearly whites with these three soda machine refills, today!" cost = 1500 contains = list(/obj/item/vending_refill/cola, /obj/item/vending_refill/cola, /obj/item/vending_refill/cola) crate_name = "soft drinks supply crate" ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Miscellaneous /////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// /datum/supply_pack/misc group = "Miscellaneous Supplies" /datum/supply_pack/misc/artsupply name = "Art Supplies" desc = "Make some happy little accidents with six canvasses, two easels, and two rainbow crayons!" cost = 800 contains = list(/obj/structure/easel, /obj/structure/easel, /obj/item/canvas/nineteenXnineteen, /obj/item/canvas/nineteenXnineteen, /obj/item/canvas/twentythreeXnineteen, /obj/item/canvas/twentythreeXnineteen, /obj/item/canvas/twentythreeXtwentythree, /obj/item/canvas/twentythreeXtwentythree, /obj/item/toy/crayon/rainbow, /obj/item/toy/crayon/rainbow) crate_name = "art supply crate" /datum/supply_pack/misc/bicycle name = "Bicycle" desc = "Nanotrasen reminds all employees to never toy with powers outside their control." cost = 1000000 contains = list(/obj/vehicle/ridden/bicycle) crate_name = "Bicycle Crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/misc/bigband name = "Big Band Instrument Collection" desc = "Get your sad station movin' and groovin' with this fine collection! Contains nine different instruments!" cost = 5000 crate_name = "Big band musical instruments collection" contains = list(/obj/item/instrument/violin, /obj/item/instrument/guitar, /obj/item/instrument/glockenspiel, /obj/item/instrument/accordion, /obj/item/instrument/saxophone, /obj/item/instrument/trombone, /obj/item/instrument/recorder, /obj/item/instrument/harmonica, /obj/structure/piano/unanchored) /datum/supply_pack/misc/book_crate name = "Book Crate" desc = "Surplus from the Nanotrasen Archives, these five books are sure to be good reads." cost = 1500 contains = list(/obj/item/book/codex_gigas, /obj/item/book/manual/random/, /obj/item/book/manual/random/, /obj/item/book/manual/random/, /obj/item/book/random/triple) /datum/supply_pack/misc/paper name = "Bureaucracy Crate" desc = "High stacks of papers on your desk Are a big problem - make it Pea-sized with these bureacratic supplies! Contains six pens, some camera film, hand labeler supplies, a paper bin, three folders, two clipboards and two stamps."//that was too forced cost = 1500 contains = list(/obj/structure/filingcabinet/chestdrawer/wheeled, /obj/item/camera_film, /obj/item/hand_labeler, /obj/item/hand_labeler_refill, /obj/item/hand_labeler_refill, /obj/item/paper_bin, /obj/item/pen/fourcolor, /obj/item/pen/fourcolor, /obj/item/pen, /obj/item/pen/fountain, /obj/item/pen/blue, /obj/item/pen/red, /obj/item/folder/blue, /obj/item/folder/red, /obj/item/folder/yellow, /obj/item/clipboard, /obj/item/clipboard, /obj/item/stamp, /obj/item/stamp/denied) crate_name = "bureaucracy crate" /datum/supply_pack/misc/fountainpens name = "Calligraphy Crate" desc = "Sign death warrents in style with these seven executive fountain pens." cost = 700 contains = list(/obj/item/storage/box/fountainpens) crate_type = /obj/structure/closet/crate/wooden /datum/supply_pack/misc/randomised/contraband name = "Contraband Crate" desc = "Psst.. bud... want some contraband? I can get you a poster, some nice cigs, bling, even some ambrosia deus...you know, the good stuff. Just keep it away from the cops, kay?" contraband = TRUE cost = 3000 num_contained = 5 contains = list(/obj/item/poster/random_contraband, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims, /obj/item/storage/fancy/cigarettes/cigpack_midori, /obj/item/seeds/ambrosia/deus, /obj/item/clothing/neck/necklace/dope) crate_name = "crate" /datum/supply_pack/misc/conveyor name = "Conveyor Assembly Crate" desc = "Keep production moving along with six conveyor belts. Conveyor switch included. If you have any questions, check out the enclosed instruction book." cost = 1500 contains = list(/obj/item/conveyor_construct, /obj/item/conveyor_construct, /obj/item/conveyor_construct, /obj/item/conveyor_construct, /obj/item/conveyor_construct, /obj/item/conveyor_construct, /obj/item/conveyor_switch_construct, /obj/item/paper/guides/conveyor) crate_name = "conveyor assembly crate" /datum/supply_pack/misc/foamforce name = "Foam Force Crate" desc = "Break out the big guns with eight Foam Force shotguns!" cost = 1000 contains = list(/obj/item/gun/ballistic/shotgun/toy, /obj/item/gun/ballistic/shotgun/toy, /obj/item/gun/ballistic/shotgun/toy, /obj/item/gun/ballistic/shotgun/toy, /obj/item/gun/ballistic/shotgun/toy, /obj/item/gun/ballistic/shotgun/toy, /obj/item/gun/ballistic/shotgun/toy, /obj/item/gun/ballistic/shotgun/toy) crate_name = "foam force crate" /datum/supply_pack/misc/foamforce/bonus name = "Foam Force Pistols Crate" desc = "Psst.. hey bud... remember those old foam force pistols that got discontinued for being too cool? Well I got two of those right here with your name on em. I'll even throw in a spare mag for each, waddya say?" contraband = TRUE cost = 4000 contains = list(/obj/item/gun/ballistic/automatic/toy/pistol, /obj/item/gun/ballistic/automatic/toy/pistol, /obj/item/ammo_box/magazine/toy/pistol, /obj/item/ammo_box/magazine/toy/pistol) crate_name = "foam force crate" /datum/supply_pack/misc/noslipfloor name = "High-traction Floor Tiles" desc = "Make slipping a thing of the past with thirty industrial-grade anti-slip floortiles!" cost = 2000 contains = list(/obj/item/stack/tile/noslip/thirty) crate_name = "high-traction floor tiles crate" /datum/supply_pack/misc/clownpin name = "Hilarious Firing Pin Crate" desc = "i uh... im not really sure what this does. wanna buy it?" cost = 5000 contraband = TRUE contains = list(/obj/item/firing_pin/clown) // It's /technically/ a toy. For the clown, at least. crate_name = "toy crate" /datum/supply_pack/misc/janitor name = "Janitorial Supplies Crate" desc = "Fight back against dirt and grime with Nanotrasen's Janitorial Essentials(tm)! Contains three buckets, caution signs, and cleaner grenades. Also has a single mop, spray cleaner, rag, and trash bag." cost = 1000 contains = list(/obj/item/reagent_containers/glass/bucket, /obj/item/reagent_containers/glass/bucket, /obj/item/reagent_containers/glass/bucket, /obj/item/mop, /obj/item/caution, /obj/item/caution, /obj/item/caution, /obj/item/storage/bag/trash, /obj/item/reagent_containers/spray/cleaner, /obj/item/reagent_containers/glass/rag, /obj/item/grenade/chem_grenade/cleaner, /obj/item/grenade/chem_grenade/cleaner, /obj/item/grenade/chem_grenade/cleaner) crate_name = "janitorial supplies crate" /datum/supply_pack/misc/janitor/janicart name = "Janitorial Cart and Galoshes Crate" desc = "The keystone to any successful janitor. As long as you have feet, this pair of galoshes will keep them firmly planted on the ground. Also contains a janitorial cart." cost = 2000 contains = list(/obj/structure/janitorialcart, /obj/item/clothing/shoes/galoshes) crate_name = "janitorial cart crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/misc/janitor/janitank name = "Janitor Backpack Crate" desc = "Call forth divine judgement upon dirt and grime with this high capacity janitor backpack. Contains 500 units of station-cleansing cleaner. Requires janitor access to open." cost = 1000 access = ACCESS_JANITOR contains = list(/obj/item/watertank/janitor) crate_name = "janitor backpack crate" crate_type = /obj/structure/closet/crate/secure /datum/supply_pack/misc/lasertag name = "Laser Tag Crate" desc = "Foam Force is for boys. Laser Tag is for men. Contains three sets of red suits, blue suits, matching helmets, and matching laser tag guns." cost = 1500 contains = list(/obj/item/gun/energy/laser/redtag, /obj/item/gun/energy/laser/redtag, /obj/item/gun/energy/laser/redtag, /obj/item/gun/energy/laser/bluetag, /obj/item/gun/energy/laser/bluetag, /obj/item/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/redtaghelm, /obj/item/clothing/head/helmet/redtaghelm, /obj/item/clothing/head/helmet/bluetaghelm, /obj/item/clothing/head/helmet/bluetaghelm, /obj/item/clothing/head/helmet/bluetaghelm) crate_name = "laser tag crate" /datum/supply_pack/misc/lasertag/pins name = "Laser Tag Firing Pins Crate" desc = "Three laser tag firing pins used in laser-tag units to ensure users are wearing their vests." cost = 3000 contraband = TRUE contains = list(/obj/item/storage/box/lasertagpins) crate_name = "laser tag crate" /datum/supply_pack/misc/mule name = "MULEbot Crate" desc = "Pink-haired Quartermaster not doing her job? Replace her with this tireless worker, today!" cost = 2000 contains = list(/mob/living/simple_animal/bot/mulebot) crate_name = "\improper MULEbot Crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/misc/religious_supplies name = "Religious Supplies Crate" desc = "Keep your local chaplain happy and well-supplied, lest they call down judgement upon your cargo bay. Contains two bottles of holywater, bibles, chaplain robes, and burial garmets." cost = 4000 // it costs so much because the Space Church is ran by Space Jews contains = list(/obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/book/bible/booze, /obj/item/storage/book/bible/booze, /obj/item/clothing/suit/hooded/chaplain_hoodie, /obj/item/clothing/suit/hooded/chaplain_hoodie, /obj/item/clothing/under/burial, /obj/item/clothing/under/burial) crate_name = "religious supplies crate" /datum/supply_pack/misc/janitor/lightbulbs name = "Replacement Lights" desc = "May the light of Aether shine upon this station! Or at least, the light of forty two light tubes and twenty one light bulbs." cost = 1000 contains = list(/obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed) crate_name = "replacement lights" /datum/supply_pack/misc/minerkit name = "Shaft Miner Starter Kit" desc = "All the miners died too fast? Assistant wants to get a taste of life off-station? Either way, this kit is the best way to turn a regular crewman into an ore-producing, monster-slaying machine. Contains meson goggles, a pickaxe, advanced mining scanner, cargo headset, ore bag, gasmask, and explorer suit. Requires QM access to open." cost = 2500 access = ACCESS_QM contains = list(/obj/item/pickaxe/mini, /obj/item/clothing/glasses/meson, /obj/item/t_scanner/adv_mining_scanner/lesser, /obj/item/radio/headset/headset_cargo/mining, /obj/item/storage/bag/ore, /obj/item/clothing/suit/hooded/explorer, /obj/item/clothing/mask/gas/explorer) crate_name = "shaft miner starter kit" crate_type = /obj/structure/closet/crate/secure /datum/supply_pack/misc/toner name = "Toner Crate" desc = "Spent too much ink printing butt pictures? Fret not, with these six toner refills, you'll be printing butts 'till the cows come home!'" cost = 1000 contains = list(/obj/item/toner, /obj/item/toner, /obj/item/toner, /obj/item/toner, /obj/item/toner, /obj/item/toner) crate_name = "toner crate" /datum/supply_pack/misc/autodrobe name = "Autodrobe Supply Crate" desc = "Autodrobe missing your favorite dress? Solve that issue today with these two autodrobe refills." cost = 1500 contains = list(/obj/item/vending_refill/autodrobe, /obj/item/vending_refill/autodrobe) crate_name = "autodrobe supply crate" /datum/supply_pack/misc/costume name = "Standard Costume Crate" desc = "Supply the station's entertainers with the equipment of their trade with these Nanotrasen-approved costumes! Contains a full clown and mime outfit, along with a bike horn and a bottle of nothing." cost = 1000 access = ACCESS_THEATRE contains = list(/obj/item/storage/backpack/clown, /obj/item/clothing/shoes/clown_shoes, /obj/item/clothing/mask/gas/clown_hat, /obj/item/clothing/under/rank/clown, /obj/item/bikehorn, /obj/item/clothing/under/rank/mime, /obj/item/clothing/shoes/sneakers/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/reagent_containers/food/drinks/bottle/bottleofnothing, /obj/item/storage/backpack/mime) crate_name = "standard costume crate" crate_type = /obj/structure/closet/crate/secure /datum/supply_pack/misc/costume_original name = "Original Costume Crate" desc = "Reenact Shakespearean plays with this assortment of outfits. Contains eight different costumes!" cost = 1000 contains = list(/obj/item/clothing/head/snowman, /obj/item/clothing/suit/snowman, /obj/item/clothing/head/chicken, /obj/item/clothing/suit/chickensuit, /obj/item/clothing/mask/gas/monkeymask, /obj/item/clothing/suit/monkeysuit, /obj/item/clothing/head/cardborg, /obj/item/clothing/suit/cardborg, /obj/item/clothing/head/xenos, /obj/item/clothing/suit/xenos, /obj/item/clothing/suit/hooded/ian_costume, /obj/item/clothing/suit/hooded/carp_costume, /obj/item/clothing/suit/hooded/bee_costume) crate_name = "original costume crate" /datum/supply_pack/misc/formalwear name = "Formalwear Crate" desc = "You're gonna like the way you look, I guaranteed it. Contains an asston of fancy clothing." cost = 3000 //Lots of very expensive items. You gotta pay up to look good! contains = list(/obj/item/clothing/under/blacktango, /obj/item/clothing/under/assistantformal, /obj/item/clothing/under/assistantformal, /obj/item/clothing/under/lawyer/bluesuit, /obj/item/clothing/suit/toggle/lawyer, /obj/item/clothing/under/lawyer/purpsuit, /obj/item/clothing/suit/toggle/lawyer/purple, /obj/item/clothing/under/lawyer/blacksuit, /obj/item/clothing/suit/toggle/lawyer/black, /obj/item/clothing/accessory/waistcoat, /obj/item/clothing/neck/tie/blue, /obj/item/clothing/neck/tie/red, /obj/item/clothing/neck/tie/black, /obj/item/clothing/head/bowler, /obj/item/clothing/head/fedora, /obj/item/clothing/head/flatcap, /obj/item/clothing/head/beret, /obj/item/clothing/head/that, /obj/item/clothing/shoes/laceup, /obj/item/clothing/shoes/laceup, /obj/item/clothing/shoes/laceup, /obj/item/clothing/under/suit_jacket/charcoal, /obj/item/clothing/under/suit_jacket/navy, /obj/item/clothing/under/suit_jacket/burgundy, /obj/item/clothing/under/suit_jacket/checkered, /obj/item/clothing/under/suit_jacket/tan, /obj/item/lipstick/random) crate_name = "formalwear crate" /datum/supply_pack/misc/wizard name = "Wizard Costume Crate" desc = "Pretend to join the Wizard Federation with this full wizard outfit! Nanotrasen would like to remind its employees that actually joining the Wizard Federation is subject to termination of job and life." cost = 2000 contains = list(/obj/item/staff, /obj/item/clothing/suit/wizrobe/fake, /obj/item/clothing/shoes/sandal, /obj/item/clothing/head/wizard/fake) crate_name = "wizard costume crate" /datum/supply_pack/misc/randomised/fill(obj/structure/closet/crate/C) var/list/L = contains.Copy() for(var/i in 1 to num_contained) var/item = pick_n_take(L) new item(C) /datum/supply_pack/misc/randomised name = "Collectable Hats Crate" desc = "Flaunt your status with three unique, highly-collectable hats!" cost = 20000 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/HoP, /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) crate_name = "collectable hats crate" /datum/supply_pack/misc/randomised/toys name = "Toy Crate" desc = "Who cares about pride and accomplishment? Skip the gaming and get straight to the sweet rewards with this product! Contains five random toys. Warranty void if used to prank research directors." cost = 5000 // or play the arcade machines ya lazy bum // TODO make this actually just use the arcade machine loot list num_contained = 5 contains = list(/obj/item/toy/spinningtoy, /obj/item/toy/sword, /obj/item/toy/foamblade, /obj/item/toy/talking/AI, /obj/item/toy/talking/owl, /obj/item/toy/talking/griffin, /obj/item/toy/nuke, /obj/item/toy/minimeteor, /obj/item/toy/plush/carpplushie, /obj/item/toy/plush/lizardplushie, /obj/item/toy/plush/snakeplushie, /obj/item/toy/plush/nukeplushie, /obj/item/toy/plush/slimeplushie, /obj/item/coin/antagtoken, /obj/item/stack/tile/fakespace/loaded, /obj/item/gun/ballistic/shotgun/toy/crossbow, /obj/item/toy/redbutton, /obj/item/toy/eightball, /obj/item/vending_refill/donksoft) crate_name = "toy crate"