RnD Rearrangement (#8494)

This commit is contained in:
Geeves
2020-03-28 10:30:46 +02:00
committed by GitHub
parent cd5af8f60d
commit 2a8564e7d4
40 changed files with 1619 additions and 2319 deletions
+23 -10
View File
@@ -2402,7 +2402,6 @@
#include "code\modules\recycling\disposal.dm"
#include "code\modules\recycling\sortingmachinery.dm"
#include "code\modules\research\circuitprinter.dm"
#include "code\modules\research\designs.dm"
#include "code\modules\research\destructive_analyzer.dm"
#include "code\modules\research\message_server.dm"
#include "code\modules\research\protolathe.dm"
@@ -2412,15 +2411,16 @@
#include "code\modules\research\research.dm"
#include "code\modules\research\server.dm"
#include "code\modules\research\stockparts.dm"
#include "code\modules\research\designs\AI_modules_designs.dm"
#include "code\modules\research\designs\circuit_designs.dm"
#include "code\modules\research\designs\medical_designs.dm"
#include "code\modules\research\designs\mining_designs.dm"
#include "code\modules\research\designs\modular_computer_designs.dm"
#include "code\modules\research\designs\power_designs.dm"
#include "code\modules\research\designs\stock_parts_designs.dm"
#include "code\modules\research\designs\tcom_designs.dm"
#include "code\modules\research\designs\weapon_designs.dm"
#include "code\modules\research\designs\designs.dm"
#include "code\modules\research\designs\circuit\AI_law_boards.dm"
#include "code\modules\research\designs\circuit\circuits.dm"
#include "code\modules\research\designs\circuit\computer_circuits.dm"
#include "code\modules\research\designs\circuit\exosuit_circuits.dm"
#include "code\modules\research\designs\circuit\hardsuit_circuits.dm"
#include "code\modules\research\designs\circuit\machine_circuits.dm"
#include "code\modules\research\designs\circuit\misc_electronics.dm"
#include "code\modules\research\designs\circuit\shield_designs.dm"
#include "code\modules\research\designs\circuit\tcom_designs.dm"
#include "code\modules\research\designs\mechfab\hardsuit\modules.dm"
#include "code\modules\research\designs\mechfab\hardsuit\rigs.dm"
#include "code\modules\research\designs\mechfab\mechs\designs_exosuits.dm"
@@ -2428,6 +2428,19 @@
#include "code\modules\research\designs\mechfab\prosthetics\internal.dm"
#include "code\modules\research\designs\mechfab\robot\robot.dm"
#include "code\modules\research\designs\mechfab\robot\robot_upgrades.dm"
#include "code\modules\research\designs\protolathe\disk_designs.dm"
#include "code\modules\research\designs\protolathe\hud_glasses_designs.dm"
#include "code\modules\research\designs\protolathe\implant_designs.dm"
#include "code\modules\research\designs\protolathe\integrated_electronics_designs.dm"
#include "code\modules\research\designs\protolathe\medical_designs.dm"
#include "code\modules\research\designs\protolathe\mining_designs.dm"
#include "code\modules\research\designs\protolathe\modular_computer_designs.dm"
#include "code\modules\research\designs\protolathe\modular_gun_designs.dm"
#include "code\modules\research\designs\protolathe\pda_designs.dm"
#include "code\modules\research\designs\protolathe\power_designs.dm"
#include "code\modules\research\designs\protolathe\stock_parts_designs.dm"
#include "code\modules\research\designs\protolathe\tool_designs.dm"
#include "code\modules\research\designs\protolathe\weapon_designs.dm"
#include "code\modules\research\xenoarchaeology\chemistry.dm"
#include "code\modules\research\xenoarchaeology\geosample.dm"
#include "code\modules\research\xenoarchaeology\manuals.dm"
-462
View File
@@ -1,462 +0,0 @@
/***************************************************************
** Design Datums **
** All the data for building stuff and tracking reliability. **
***************************************************************/
/*
For the materials datum, it assumes you need reagents unless specified otherwise. To designate a material that isn't a reagent,
you use one of the material IDs below. These are NOT ids in the usual sense (they aren't defined in the object or part of a datum),
they are simply references used as part of a "has materials?" type proc. They all start with a to denote that they aren't reagents.
The currently supporting non-reagent materials:
Don't add new keyword/IDs if they are made from an existing one (such as rods which are made from metal). Only add raw materials.
Design Guidlines
- When adding new designs, check rdreadme.dm to see what kind of things have already been made and where new stuff is needed.
- A single sheet of anything is 2000 units of material. Materials besides metal/glass require help from other jobs (mining for
other types of metals and chemistry for reagents).
*/
//Note: More then one of these can be added to a design.
// #TODO-MERGE: Go over this file and make sure everything's fine. We might have missing vars.
/datum/design //Datum for object designs, used in construction
var/name = null //Name of the created object. If null it will be 'guessed' from build_path if possible.
var/desc = null //Description of the created object. If null it will use group_desc and name where applicable.
var/item_name = null //An item name before it is modified by various name-modifying procs
var/id = "id" //ID of the created object for easy refernece. Alphanumeric, lower-case, no symbols.
var/list/req_tech = list() //IDs of that techs the object originated from and the minimum level requirements.
var/build_type = null //Flag as to what kind machine the design is built in. See defines.
var/list/materials = list() //List of materials. Format: "id" = amount.
var/list/chemicals = list() //List of chemicals.
var/build_path = null //The path of the object that gets created.
var/time = 10 //How many ticks it requires to build
var/category = null //Primarily used for Mech Fabricators, but can be used for anything.
var/sort_string = "ZZZZZ" // How things are sorted
/datum/design/New()
..()
item_name = name
AssembleDesignInfo()
//These procs are used in subtypes for assigning names and descriptions dynamically
/datum/design/proc/AssembleDesignInfo()
AssembleDesignName()
AssembleDesignDesc()
return
/datum/design/proc/AssembleDesignName()
if(!name && build_path) //Get name from build path if posible
var/atom/movable/A = build_path
name = initial(A.name)
item_name = name
return
/datum/design/proc/AssembleDesignDesc()
if(!desc) //Try to make up a nice description if we don't have one
desc = "Allows for the construction of \a [item_name]."
return
//Returns a new instance of the item for this design
//This is to allow additional initialization to be performed, including possibly additional contructor arguments.
/datum/design/proc/Fabricate(var/newloc, var/fabricator)
return new build_path(newloc)
/datum/design/item
build_type = PROTOLATHE
/datum/design/item/design_disk
name = "Design Storage Disk"
desc = "Produce additional disks for storing device designs."
id = "design_disk"
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/design_disk
sort_string = "GAAAA"
/datum/design/item/tech_disk
name = "Technology Data Storage Disk"
desc = "Produce additional disks for storing technology data."
id = "tech_disk"
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/tech_disk
sort_string = "GAAAB"
/datum/design/item/flora_disk
name = "Flora Data Storage Disk"
desc = "Produce additional disks for storing flora data."
id = "flora_disk"
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/botany
sort_string = "GAAAC"
/datum/design/item/hud
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
/datum/design/item/hud/AssembleDesignName()
..()
name = "HUD glasses prototype ([item_name])"
/datum/design/item/hud/AssembleDesignDesc()
desc = "Allows for the construction of \a [item_name] HUD glasses."
/datum/design/item/hud/health
name = "health scanner"
id = "health_hud"
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 3)
build_path = /obj/item/clothing/glasses/hud/health
sort_string = "GAAAA"
/datum/design/item/hud/security
name = "security records"
id = "security_hud"
req_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 2)
build_path = /obj/item/clothing/glasses/hud/security
sort_string = "GAAAB"
/datum/design/item/mesons
name = "Optical meson scanners design"
desc = "Using the meson-scanning technology those glasses allow you to see through walls, floor or anything else."
id = "mesons"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
build_path = /obj/item/clothing/glasses/meson
sort_string = "GAAAC"
/datum/design/item/powerdrill
name = "power drill"
desc = "An advanced drill designed to be faster than other drills."
id = "powerdrill"
req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 60, MATERIAL_GLASS = 50)
build_path = /obj/item/powerdrill
sort_string = "GAAAD"
///////////////////////////////////
/////////Shield Generators/////////
///////////////////////////////////
/datum/design/circuit/shield
req_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
materials = list(MATERIAL_GLASS = 2000, "sacid" = 20, MATERIAL_PHORON = 10000, MATERIAL_DIAMOND = 5000, MATERIAL_GOLD = 10000)
/datum/design/item/implant
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
/datum/design/item/implant/AssembleDesignName()
..()
name = "Implantable biocircuit design ([item_name])"
/datum/design/item/implant/chemical
name = "chemical"
id = "implant_chem"
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3)
build_path = /obj/item/implantcase/chem
sort_string = "MFAAA"
/datum/design/item/implant/freedom
name = "freedom"
id = "implant_free"
req_tech = list(TECH_ILLEGAL = 2, TECH_BIO = 3)
build_path = /obj/item/implantcase/freedom
sort_string = "MFAAB"
/datum/design/item/advanced_light_replacer
name = "Advanced Light Replacer"
desc = "A specialised light replacer which stores more lights, refills faster from boxes, and sucks up broken bulbs."
id = "advanced_light_replacer"
req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 500)
build_path =/obj/item/device/lightreplacer/advanced
sort_string = "VAAAH"
/datum/design/advmop
name = "Advanced Mop"
desc = "The most advanced tool in a custodian's arsenal, complete with a condenser for self-wetting! Just think of all the viscera you will clean up with this!"
id = "advmop"
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 200)
build_path = /obj/item/mop/advanced
sort_string = "VAAAI"
/datum/design/blutrash
name = "Trashbag of Holding"
desc = "An advanced trash bag with bluespace properties; capable of holding a plethora of garbage."
id = "blutrash"
build_type = PROTOLATHE
materials = list(MATERIAL_GOLD = 1500, MATERIAL_URANIUM = 250, MATERIAL_PHORON = 1500)
build_path = /obj/item/storage/bag/trash/bluespace
sort_string = "VAAAJ"
/datum/design/item/experimental_welder
name = "Experimental Welding Tool"
desc = "A scientifically-enhanced welding tool that uses fuel-producing microbes to gradually replenish its fuel supply"
id = "experimental_welder"
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 500)
build_path =/obj/item/weldingtool/experimental
sort_string = "VABAJ"
/datum/design/item/mmi
name = "Man-machine interface"
id = "mmi"
req_tech = list(TECH_DATA = 2, TECH_BIO = 3)
build_type = PROTOLATHE | MECHFAB
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 500)
build_path = /obj/item/device/mmi
category = "Misc"
sort_string = "VACBA"
/datum/design/item/mmi_radio
name = "Radio-enabled man-machine interface"
id = "mmi_radio"
req_tech = list(TECH_DATA = 2, TECH_BIO = 4)
build_type = PROTOLATHE | MECHFAB
materials = list(DEFAULT_WALL_MATERIAL = 1200, MATERIAL_GLASS = 500)
build_path = /obj/item/device/mmi/radio_enabled
category = "Misc"
sort_string = "VACBB"
/datum/design/item/beacon
name = "Bluespace tracking beacon design"
id = "beacon"
req_tech = list(TECH_BLUESPACE = 1)
materials = list (DEFAULT_WALL_MATERIAL = 20, MATERIAL_GLASS = 10)
build_path = /obj/item/device/radio/beacon
sort_string = "VADAA"
/datum/design/item/bag_holding
name = "'Bag of Holding', an infinite capacity bag prototype"
desc = "Using localized pockets of bluespace this bag prototype offers incredible storage capacity with the contents weighting nothing. It's a shame the bag itself is pretty heavy."
id = "bag_holding"
req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6)
materials = list(MATERIAL_GOLD = 3000, MATERIAL_DIAMOND = 1500, MATERIAL_URANIUM = 250)
build_path = /obj/item/storage/backpack/holding
sort_string = "VAEAA"
/datum/design/item/bluespace_crystal
name = "Artificial Bluespace Crystal"
desc = "An artificially made bluespace crystal."
id = "bluespace_crystal"
req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6)
materials = list(MATERIAL_GOLD = 1500, MATERIAL_DIAMOND = 1500, MATERIAL_PHORON = 1500)
build_path = /obj/item/bluespace_crystal/artificial
sort_string = "VAFAA"
/datum/design/item/binaryencrypt
name = "Binary encryption key"
desc = "Allows for deciphering the binary channel on-the-fly."
id = "binaryencrypt"
req_tech = list(TECH_ILLEGAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 300, MATERIAL_GLASS = 300)
build_path = /obj/item/device/encryptionkey/binary
sort_string = "VASAA"
/datum/design/item/pda
name = "PDA design"
desc = "Cheaper than whiny non-digital assistants."
id = "pda"
req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
build_path = /obj/item/device/pda
sort_string = "VAAAA"
// Cartridges
/datum/design/item/pda_cartridge
req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
/datum/design/item/pda_cartridge/AssembleDesignName()
..()
name = "PDA accessory ([item_name])"
/datum/design/item/pda_cartridge/cart_basic
id = "cart_basic"
build_path = /obj/item/cartridge
sort_string = "VBAAA"
/datum/design/item/pda_cartridge/engineering
id = "cart_engineering"
build_path = /obj/item/cartridge/engineering
sort_string = "VBAAB"
/datum/design/item/pda_cartridge/atmos
id = "cart_atmos"
build_path = /obj/item/cartridge/atmos
sort_string = "VBAAC"
/datum/design/item/pda_cartridge/medical
id = "cart_medical"
build_path = /obj/item/cartridge/medical
sort_string = "VBAAD"
/datum/design/item/pda_cartridge/chemistry
id = "cart_chemistry"
build_path = /obj/item/cartridge/chemistry
sort_string = "VBAAE"
/datum/design/item/pda_cartridge/security
id = "cart_security"
build_path = /obj/item/cartridge/security
sort_string = "VBAAF"
/datum/design/item/pda_cartridge/janitor
id = "cart_janitor"
build_path = /obj/item/cartridge/janitor
sort_string = "VBAAG"
/datum/design/item/pda_cartridge/science
id = "cart_science"
build_path = /obj/item/cartridge/signal/science
sort_string = "VBAAH"
/datum/design/item/pda_cartridge/quartermaster
id = "cart_quartermaster"
build_path = /obj/item/cartridge/quartermaster
sort_string = "VBAAI"
/datum/design/item/pda_cartridge/hop
id = "cart_hop"
build_path = /obj/item/cartridge/hop
sort_string = "VBAAJ"
/datum/design/item/pda_cartridge/hos
id = "cart_hos"
build_path = /obj/item/cartridge/hos
sort_string = "VBAAK"
/datum/design/item/pda_cartridge/ce
id = "cart_ce"
build_path = /obj/item/cartridge/ce
sort_string = "VBAAL"
/datum/design/item/pda_cartridge/cmo
id = "cart_cmo"
build_path = /obj/item/cartridge/cmo
sort_string = "VBAAM"
/datum/design/item/pda_cartridge/rd
id = "cart_rd"
build_path = /obj/item/cartridge/rd
sort_string = "VBAAN"
/datum/design/item/pda_cartridge/captain
id = "cart_captain"
build_path = /obj/item/cartridge/captain
sort_string = "VBAAO"
// Integrated Electronics stuff.
/datum/design/item/wirer
name = "Custom wirer tool"
id = "wirer"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/integrated_electronics/wirer
sort_string = "VBVAA"
/datum/design/item/debugger
name = "Custom circuit debugger tool"
id = "debugger"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/integrated_electronics/debugger
sort_string = "VBVAB"
/datum/design/item/custom_circuit_assembly
name = "Small custom assembly"
desc = "A customizable assembly for simple, small devices."
id = "assembly-small"
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/device/electronic_assembly
sort_string = "VCAAA"
/datum/design/item/custom_circuit_assembly/medium
name = "Medium custom assembly"
desc = "A customizable assembly suited for more ambitious mechanisms."
id = "assembly-medium"
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 20000)
build_path = /obj/item/device/electronic_assembly/medium
sort_string = "VCAAB"
/datum/design/item/custom_circuit_assembly/drone
name = "Drone custom assembly"
desc = "A customizable assembly optimized for autonomous devices."
id = "assembly-drone"
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 4, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 30000)
build_path = /obj/item/device/electronic_assembly/drone
sort_string = "VCAAC"
/datum/design/item/custom_circuit_assembly/large
name = "Large custom assembly"
desc = "A customizable assembly for large machines."
id = "assembly-large"
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 40000)
build_path = /obj/item/device/electronic_assembly/large
sort_string = "VCAAD"
/datum/design/item/custom_circuit_assembly/implant
name = "Implant custom assembly"
desc = "An customizable assembly for very small devices, implanted into living entities."
id = "assembly-implant"
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 3, TECH_BIO = 5)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/implant/integrated_circuit
sort_string = "VCAAE"
/datum/design/item/custom_circuit_assembly/device
name = "Device custom assembly"
desc = "An customizable assembly designed to interface with other devices."
id = "assembly-device"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000)
build_path = /obj/item/device/assembly/electronic_assembly
sort_string = "VCAAF"
/datum/design/item/custom_circuit_printer
name = "Portable integrated circuit printer"
desc = "A portable(ish) printer for modular machines."
id = "ic_printer"
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_DATA = 5)
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/device/integrated_circuit_printer
sort_string = "VCAAG"
/datum/design/item/custom_circuit_printer_upgrade
name = "Integrated circuit printer upgrade - advanced designs"
desc = "Allows the integrated circuit printer to create advanced circuits"
id = "ic_printer_upgrade_adv"
req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/disk/integrated_circuit/upgrade/advanced
sort_string = "VCAAH"
/datum/design/item/pin_extractor
name = "Pin extraction device"
id = "pin_extractor"
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/pin_extractor
sort_string = "VCBAA"
/datum/design/item/plant_analyzer
name = "plant analyzer"
desc = "A hand-held plant scanner for hydroponicists and xenobotanists."
id = "plant_analyzer"
req_tech = list(TECH_MAGNET = 2, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 80, MATERIAL_GLASS = 20)
build_path = /obj/item/device/analyzer/plant_analyzer
sort_string = "VCBAB"
/datum/design/item/implanter
name = "implanter"
desc = "A specialized syringe for inserting implants to subjects."
req_tech = list(TECH_BIO = 5)
materials = list(DEFAULT_WALL_MATERIAL = 320, MATERIAL_GLASS = 800)
build_path = /obj/item/implanter
sort_string = "VCBAC"
@@ -1,128 +0,0 @@
////////////////////////////////////////
//////////////////AI boards/AI stuff/////////////////
////////////////////////////////////////
/datum/design/aimodule
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 2000, MATERIAL_GOLD = 100)
/datum/design/aimodule/AssembleDesignName()
name = "AI module design ([name])"
/datum/design/aimodule/AssembleDesignDesc()
desc = "Allows for the construction of \a '[name]' AI module."
/datum/design/aimodule/safeguard
name = "Safeguard"
id = "safeguard"
req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
build_path = /obj/item/aiModule/safeguard
sort_string = "XABAA"
/datum/design/aimodule/onehuman
name = "OneCrewMember"
id = "onehuman"
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/oneHuman
sort_string = "XABAB"
/datum/design/aimodule/protectstation
name = "ProtectStation"
id = "protectstation"
req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/protectStation
sort_string = "XABAC"
/datum/design/aimodule/notele
name = "TeleporterOffline"
id = "notele"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/aiModule/teleporterOffline
sort_string = "XABAD"
/datum/design/aimodule/quarantine
name = "Quarantine"
id = "quarantine"
req_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4)
build_path = /obj/item/aiModule/quarantine
sort_string = "XABAE"
/datum/design/aimodule/oxygen
name = "OxygenIsToxicToHumans"
id = "oxygen"
req_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4)
build_path = /obj/item/aiModule/oxygen
sort_string = "XABAF"
/datum/design/aimodule/freeform
name = "Freeform"
id = "freeform"
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
build_path = /obj/item/aiModule/freeform
sort_string = "XABAG"
/datum/design/aimodule/reset
name = "Reset"
id = "reset"
req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/reset
sort_string = "XAAAA"
/datum/design/aimodule/purge
name = "Purge"
id = "purge"
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/purge
sort_string = "XAAAB"
// Core modules
/datum/design/aimodule/core
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6)
/datum/design/aimodule/core/AssembleDesignName()
name = "AI core module design ([name])"
/datum/design/aimodule/core/AssembleDesignDesc()
desc = "Allows for the construction of \a '[name]' AI core module."
/datum/design/aimodule/core/freeformcore
name = "Freeform"
id = "freeformcore"
build_path = /obj/item/aiModule/freeformcore
sort_string = "XACAA"
/datum/design/aimodule/core/asimov
name = "Asimov"
id = "asimov"
build_path = /obj/item/aiModule/asimov
sort_string = "XACAB"
/datum/design/aimodule/core/paladin
name = "P.A.L.A.D.I.N."
id = "paladin"
build_path = /obj/item/aiModule/paladin
sort_string = "XACAC"
/datum/design/aimodule/core/tyrant
name = "T.Y.R.A.N.T."
id = "tyrant"
req_tech = list(TECH_DATA = 4, TECH_ILLEGAL = 2, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/tyrant
sort_string = "XACAD"
/datum/design/item/paicard
name = "'pAI', personal artificial intelligence device"
id = "paicard"
req_tech = list(TECH_DATA = 2)
materials = list(MATERIAL_GLASS = 500, DEFAULT_WALL_MATERIAL = 500)
build_path = /obj/item/device/paicard
sort_string = "VABAI"
/datum/design/item/intellicard
name = "'intelliCard', AI preservation and transportation system"
desc = "Allows for the construction of an intelliCard."
id = "intellicard"
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
materials = list(MATERIAL_GLASS = 1000, MATERIAL_GOLD = 200)
build_path = /obj/item/aicard
sort_string = "VACAA"
@@ -0,0 +1,81 @@
/datum/design/circuit/aimodule
materials = list(MATERIAL_GLASS = 2000, MATERIAL_GOLD = 100)
design_order = 0
/datum/design/circuit/aimodule/AssembleDesignName()
name = "AI Law Board Design ([name])"
/datum/design/circuit/aimodule/AssembleDesignDesc()
desc = "Allows for the construction of \a '[name]' AI law boards."
/datum/design/circuit/aimodule/safeguard
name = "Safeguard"
req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 4)
build_path = /obj/item/aiModule/safeguard
/datum/design/circuit/aimodule/onehuman
name = "OneCrewMember"
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/oneHuman
/datum/design/circuit/aimodule/protectstation
name = "ProtectStation"
req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/protectStation
/datum/design/circuit/aimodule/notele
name = "TeleporterOffline"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/aiModule/teleporterOffline
/datum/design/circuit/aimodule/quarantine
name = "Quarantine"
req_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4)
build_path = /obj/item/aiModule/quarantine
/datum/design/circuit/aimodule/oxygen
name = "OxygenIsToxicToHumans"
req_tech = list(TECH_DATA = 3, TECH_BIO = 2, TECH_MATERIAL = 4)
build_path = /obj/item/aiModule/oxygen
/datum/design/circuit/aimodule/freeform
name = "Freeform"
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
build_path = /obj/item/aiModule/freeform
/datum/design/circuit/aimodule/reset
name = "Reset"
req_tech = list(TECH_DATA = 3, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/reset
/datum/design/circuit/aimodule/purge
name = "Purge"
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/purge
// Core modules
/datum/design/circuit/aimodule/core
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 6)
/datum/design/circuit/aimodule/core/AssembleDesignName()
name = "AI Standard Law Board Design ([name])"
/datum/design/circuit/aimodule/core/AssembleDesignDesc()
desc = "Allows for the construction of \a '[name]' AI standard law board."
/datum/design/circuit/aimodule/core/freeformcore
name = "Freeform"
build_path = /obj/item/aiModule/freeformcore
/datum/design/circuit/aimodule/core/asimov
name = "Asimov"
build_path = /obj/item/aiModule/asimov
/datum/design/circuit/aimodule/core/paladin
name = "P.A.L.A.D.I.N."
build_path = /obj/item/aiModule/paladin
/datum/design/circuit/aimodule/core/tyrant
name = "T.Y.R.A.N.T."
req_tech = list(TECH_DATA = 4, TECH_ILLEGAL = 2, TECH_MATERIAL = 6)
build_path = /obj/item/aiModule/tyrant
@@ -0,0 +1,14 @@
/datum/design/circuit
build_type = IMPRINTER
req_tech = list(TECH_DATA = 2)
materials = list(MATERIAL_GLASS = 2000)
chemicals = list("sacid" = 20)
design_order = 0
/datum/design/circuit/AssembleDesignName()
..()
name = "Circuit Design ([item_name])"
/datum/design/circuit/AssembleDesignDesc()
if(!desc)
desc = "Allows for the construction of \a [item_name] circuit board."
@@ -0,0 +1,96 @@
/datum/design/circuit/computer
design_order = 1
/datum/design/circuit/computer/AssembleDesignName()
..()
name = "Computer Circuit Design ([item_name])"
/datum/design/circuit/computer/seccamera
name = "Security Camera Monitor"
build_path = /obj/item/circuitboard/security
/datum/design/circuit/computer/prisonmanage
name = "Prisoner Management Console"
build_path = /obj/item/circuitboard/prisoner
/datum/design/circuit/computer/sentencing
name = "Criminal Sentencing Console"
build_path = /obj/item/circuitboard/sentencing
/datum/design/circuit/computer/operating
name = "Patient Monitoring Console"
build_path = /obj/item/circuitboard/operating
/datum/design/circuit/computer/pandemic
name = "PanD.E.M.I.C. 2200"
build_path = /obj/item/circuitboard/pandemic
/datum/design/circuit/computer/teleconsole
name = "Teleporter Control Console"
req_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 2)
build_path = /obj/item/circuitboard/teleporter
/datum/design/circuit/computer/robocontrol
name = "Robotics Control Console"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/robotics
/datum/design/circuit/computer/rdconsole
name = "R&D Control Console"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/rdconsole
/datum/design/circuit/computer/comm_monitor
name = "Telecommunications Monitoring Console"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/comm_monitor
/datum/design/circuit/computer/comm_server
name = "Telecommunications Server Monitoring Console"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/comm_server
/datum/design/circuit/computer/message_monitor
name = "Messaging Monitor Console"
req_tech = list(TECH_DATA = 5)
build_path = /obj/item/circuitboard/message_monitor
/datum/design/circuit/computer/aiupload
name = "AI Upload Console"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/aiupload
/datum/design/circuit/computer/borgupload
name = "Cyborg Upload Console"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/borgupload
/datum/design/circuit/computer/atmosalerts
name = "Atmosphere Alert Console"
build_path = /obj/item/circuitboard/atmos_alert
/datum/design/circuit/computer/air_management
name = "Atmosphere Monitoring Console"
build_path = /obj/item/circuitboard/air_management
/datum/design/circuit/computer/rcon_console
name = "RCON Remote Control Console"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_POWER = 5)
build_path = /obj/item/circuitboard/rcon_console
/datum/design/circuit/computer/dronecontrol
name = "Drone Control Console"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/drone_control
/datum/design/circuit/computer/powermonitor
name = "Power Monitoring Console"
build_path = /obj/item/circuitboard/powermonitor
/datum/design/circuit/computer/solarcontrol
name = "Solar Control Console"
build_path = /obj/item/circuitboard/solar_control
/datum/design/circuit/computer/telesci_console
name = "Telepad Control Console"
build_path = /obj/item/circuitboard/telesci_console
@@ -0,0 +1,33 @@
/datum/design/circuit/exosuit
design_order = 2.5
/datum/design/circuit/exosuit/AssembleDesignName()
name = "Exosuit Software Design ([name])"
/datum/design/circuit/exosuit/AssembleDesignDesc()
desc = "Allows for the construction of \a [name] module."
/datum/design/circuit/exosuit/engineering
name = "Engineering System Control"
req_tech = list(TECH_DATA = 1)
build_path = /obj/item/circuitboard/exosystem/engineering
/datum/design/circuit/exosuit/utility
name = "Utility System Control"
req_tech = list(TECH_DATA = 1)
build_path = /obj/item/circuitboard/exosystem/utility
/datum/design/circuit/exosuit/medical
name = "Medical System Control"
req_tech = list(TECH_DATA = 3,TECH_BIO = 2)
build_path = /obj/item/circuitboard/exosystem/medical
/datum/design/circuit/exosuit/weapons
name = "Basic Weapon Control"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/exosystem/weapons
/datum/design/circuit/exosuit/advweapons
name = "Advanced Weapon Control"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/exosystem/advweapons
@@ -0,0 +1,61 @@
/datum/design/circuit/hardsuit
design_order = 2
/datum/design/circuit/hardsuit/AssembleDesignName()
..()
name = "Hardsuit Circuit Design ([item_name])"
/datum/design/circuit/hardsuit/industrial
name = "Industrial Suit Central Circuit Board"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rig_assembly/civilian/industrial
/datum/design/circuit/hardsuit/eva
name = "EVA suit central circuit Board"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rig_assembly/civilian/eva
/datum/design/circuit/hardsuit/ce
name = "Advanced Voidsuit Central Circuit Board"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/rig_assembly/civilian/ce
/datum/design/circuit/hardsuit/hazmat
name = "AMI Suit Central Circuit Board"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rig_assembly/civilian/hazmat
/datum/design/circuit/hardsuit/medical
name = "Rescue Suit Central Circuit Board"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rig_assembly/civilian/medical
/datum/design/circuit/hardsuit/hazard
name = "Hazard Hardsuit Central Circuit Board"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/rig_assembly/combat/hazard
/datum/design/circuit/hardsuit/hazard_target
name = "Hazard Hardsuit Control And Targeting Board"
req_tech = list(TECH_DATA = 4, TECH_COMBAT = 3)
build_path = /obj/item/circuitboard/rig_assembly/combat/targeting/hazard
/datum/design/circuit/hardsuit/combat
name = "Combat Hardsuit Central Circuit Board"
req_tech = list(TECH_DATA = 6)
build_path = /obj/item/circuitboard/rig_assembly/combat/combat
/datum/design/circuit/hardsuit/combat_target
name = "Combat Hardsuit Control And Targeting Board"
req_tech = list(TECH_DATA = 6, TECH_COMBAT = 5)
build_path = /obj/item/circuitboard/rig_assembly/combat/targeting/combat
/datum/design/circuit/hardsuit/hacker
name = "Cybersuit Hardsuit Central Circuit Board"
req_tech = list(TECH_DATA = 6, TECH_ILLEGAL = 3)
build_path = /obj/item/circuitboard/rig_assembly/illegal/hacker
/datum/design/circuit/hardsuit/hacker_target
name = "Cybersuit Hardsuit Control And Targeting Board"
req_tech = list(TECH_DATA = 6, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
build_path = /obj/item/circuitboard/rig_assembly/illegal/targeting/hacker
@@ -0,0 +1,222 @@
/datum/design/circuit/machine
design_order = 3
/datum/design/circuit/machine/AssembleDesignName()
..()
name = "Machine Circuit Design ([item_name])"
/datum/design/circuit/machine/arcademachine
name = "Battle Arcade Machine"
req_tech = list(TECH_DATA = 1)
build_path = /obj/item/circuitboard/arcade/battle
/datum/design/circuit/machine/oriontrail
name = "Orion Trail Arcade Machine"
req_tech = list(TECH_DATA = 1)
build_path = /obj/item/circuitboard/arcade/orion_trail
/datum/design/circuit/machine/destructive_analyzer
name = "Destructive Analyzer"
req_tech = list(TECH_DATA = 2, TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/destructive_analyzer
/datum/design/circuit/machine/protolathe
name = "Protolathe"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/protolathe
/datum/design/circuit/machine/circuit_imprinter
name = "Circuit Imprinter"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/circuit_imprinter
/datum/design/circuit/machine/autolathe
name = "Autolathe"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/autolathe
/datum/design/circuit/machine/chem_heater
name = "Chemistry Heater"
req_tech = list(TECH_BIO = 2)
build_path = /obj/item/circuitboard/chem_heater
/datum/design/circuit/machine/rdservercontrol
name = "R&D Server Control Console"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rdservercontrol
/datum/design/circuit/machine/rdserver
name = "R&D Server"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rdserver
/datum/design/circuit/machine/mechfab
name = "Exosuit Fabricator"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
build_path = /obj/item/circuitboard/mechfab
/datum/design/circuit/machine/mech_recharger
name = "Mech Recharger"
req_tech = list(TECH_DATA = 2, TECH_POWER = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/mech_recharger
/datum/design/circuit/machine/recharge_station
name = "Cyborg Recharge Station"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/recharge_station
/datum/design/circuit/machine/holopadboard
name = "Holopad"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/holopad
/datum/design/circuit/machine/sleeper
name = "Sleeper"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/sleeper
/datum/design/circuit/machine/bodyscannerm
name = "Body Scanner"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/bodyscanner
/datum/design/circuit/machine/bodyscannerc
name = "Body Scanner Console"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/bodyscannerconsole
/datum/design/circuit/machine/optable
name = "Operation Table Scanning"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/optable
/datum/design/circuit/machine/smartfridge
name = "Smartfridge"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/smartfridge
/datum/design/circuit/machine/requestconsole
name = "Request Console"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/requestconsole
/datum/design/circuit/machine/cryopod
name = "Cryo Cell"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/cryotube
/datum/design/circuit/machine/crystelpod
name = "Crystal Therapy Pod"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/crystelpod
/datum/design/circuit/machine/crystelpodconsole
name = "Crystal Therapy Pod"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/crystelpodconsole
/datum/design/circuit/machine/microwave
name = "Microwave"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/microwave
/datum/design/circuit/machine/oven
name = "Oven"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/oven
/datum/design/circuit/machine/fryer
name = "Deep Fryer"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/fryer
/datum/design/circuit/machine/cerealmaker
name = "Cereal Maker"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/cerealmaker
/datum/design/circuit/machine/candymaker
name = "Candy Machine"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/candymachine
/datum/design/circuit/machine/pacman
name = "PACMAN-type Generator"
req_tech = list(TECH_DATA = 3, TECH_PHORON = 3, TECH_POWER = 3, TECH_ENGINEERING = 3)
build_path = /obj/item/circuitboard/pacman
/datum/design/circuit/machine/superpacman
name = "SUPERPACMAN-type generator"
req_tech = list(TECH_DATA = 3, TECH_POWER = 4, TECH_ENGINEERING = 4)
build_path = /obj/item/circuitboard/pacman/super
/datum/design/circuit/machine/mrspacman
name = "MRSPACMAN-type generator"
req_tech = list(TECH_DATA = 3, TECH_POWER = 5, TECH_ENGINEERING = 5)
build_path = /obj/item/circuitboard/pacman/mrs
/datum/design/circuit/machine/batteryrack
name = "Cell Rack PSU"
req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/batteryrack
/datum/design/circuit/machine/smes_cell
name = "'SMES' Superconductive Magnetic Energy Storage"
desc = "Allows for the construction of circuits used to build a SMES."
req_tech = list(TECH_POWER = 7, TECH_ENGINEERING = 5)
build_path = /obj/item/circuitboard/smes
/datum/design/circuit/machine/gas_heater
name = "Gas Heating System"
req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 1)
build_path = /obj/item/circuitboard/unary_atmos/heater
/datum/design/circuit/machine/gas_cooler
name = "Gas Cooling System"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/unary_atmos/cooler
/datum/design/circuit/machine/biogenerator
name = "Biogenerator"
req_tech = list(TECH_DATA = 2)
build_path = /obj/item/circuitboard/biogenerator
/datum/design/circuit/machine/crusher_base
name = "Trash Compactor"
req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 1, TECH_MAGNET = 1, TECH_MATERIAL = 3)
build_path = /obj/item/circuitboard/crusher
/datum/design/circuit/machine/aicore
name = "AI Core"
req_tech = list(TECH_DATA = 4, TECH_BIO = 3)
build_path = /obj/item/circuitboard/aicore
/datum/design/circuit/machine/rtg
name = "Radioisotope Thermoelectric Generator"
req_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 1, TECH_POWER = 3, TECH_MATERIAL = 2)
build_path = /obj/item/circuitboard/rtg
/datum/design/circuit/machine/advanced_rtg
name = "Advanced Radioisotope Thermoelectric Generator"
req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_POWER = 3, TECH_MATERIAL = 4, TECH_PHORON = 2)
build_path = /obj/item/circuitboard/rtg/advanced
/datum/design/circuit/machine/slot_machine
name = "Slot Machine"
req_tech = list(TECH_DATA = 2)
build_path = /obj/item/circuitboard/slot_machine
/datum/design/circuit/machine/telepad
name = "Telepad"
req_tech = list(TECH_DATA = 4, TECH_BLUESPACE = 4, TECH_MATERIAL = 3, TECH_ENGINEERING = 3)
build_path = /obj/item/circuitboard/telesci_pad
/datum/design/circuit/machine/miningdrill
name = "Mining Drill Head"
req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
build_path = /obj/item/circuitboard/miningdrill
/datum/design/circuit/machine/miningdrillbrace
name = "Mining Drill Brace"
req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
build_path = /obj/item/circuitboard/miningdrillbrace
@@ -0,0 +1,12 @@
/datum/design/circuit/electronics
design_order = 4
/datum/design/circuit/electronics/AssembleDesignName()
..()
name = "Electronics Design ([item_name])"
/datum/design/circuit/electronics/secure_airlock
name = "Secure Airlock Electronics"
desc = "Allows for the construction of a tamper-resistant airlock electronics."
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/airlock_electronics/secure
@@ -0,0 +1,25 @@
/datum/design/circuit/shield
req_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
materials = list(MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
design_order = 5
/datum/design/circuit/shield/AssembleDesignName()
name = "Shield Generator Circuit Design ([name])"
/datum/design/circuit/shield/AssembleDesignDesc()
if(!desc)
desc = "Allows for the construction of \a [name] shield generator."
/datum/design/circuit/shield/bubble
name = "Bubble"
build_path = /obj/item/circuitboard/shield_gen
/datum/design/circuit/shield/hull
name = "Hull"
build_path = /obj/item/circuitboard/shield_gen_ex
/datum/design/circuit/shield/capacitor
name = "Capacitor"
desc = "Allows for the construction of a shield capacitor circuit board."
req_tech = list(TECH_MAGNET = 3, TECH_POWER = 4)
build_path = /obj/item/circuitboard/shield_cap
@@ -1,56 +1,45 @@
////////////////////////////////////////////
///////////Modular Computer Parts///////////
////////////////////////////////////////////
/datum/design/circuit/tcom
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4)
design_order = 6
/datum/design/circuit/tcom/AssembleDesignName()
name = "Telecommunications machinery circuit design ([name])"
name = "Telecommunications Machinery Circuit Design ([name])"
/datum/design/circuit/tcom/AssembleDesignDesc()
desc = "Allows for the construction of a telecommunications [name] circuit board."
/datum/design/circuit/tcom/server
name = "server mainframe"
id = "tcom-server"
name = "Server Mainframe"
build_path = /obj/item/circuitboard/telecomms/server
sort_string = "PAAAA"
/datum/design/circuit/tcom/processor
name = "processor unit"
id = "tcom-processor"
name = "Processor Unit"
build_path = /obj/item/circuitboard/telecomms/processor
sort_string = "PAAAB"
/datum/design/circuit/tcom/bus
name = "bus mainframe"
id = "tcom-bus"
name = "Bus Mainframe"
build_path = /obj/item/circuitboard/telecomms/bus
sort_string = "PAAAC"
/datum/design/circuit/tcom/hub
name = "hub mainframe"
id = "tcom-hub"
name = "Hub Mainframe"
build_path = /obj/item/circuitboard/telecomms/hub
sort_string = "PAAAD"
/datum/design/circuit/tcom/relay
name = "relay mainframe"
id = "tcom-relay"
name = "Relay Mainframe"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 3)
build_path = /obj/item/circuitboard/telecomms/relay
sort_string = "PAAAE"
/datum/design/circuit/tcom/broadcaster
name = "subspace broadcaster"
id = "tcom-broadcaster"
name = "Subspace Broadcaster"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4, TECH_BLUESPACE = 2)
build_path = /obj/item/circuitboard/telecomms/broadcaster
sort_string = "PAAAF"
/datum/design/circuit/tcom/receiver
name = "subspace receiver"
id = "tcom-receiver"
name = "Subspace Receiver"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_BLUESPACE = 2)
build_path = /obj/item/circuitboard/telecomms/receiver
sort_string = "PAAAG"
/datum/design/circuit/tcom/ntnet_relay
name = "NTNet Quantum Relay"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/ntnet_relay
@@ -1,554 +0,0 @@
////////////////////////////////////////////
///////////Circuit Designs/////////////////
////////////////////////////////////////////
/datum/design/circuit
build_type = IMPRINTER
req_tech = list(TECH_DATA = 2)
materials = list(MATERIAL_GLASS = 2000)
chemicals = list("sacid" = 20)
/datum/design/circuit/AssembleDesignName()
..()
if(build_path)
var/obj/item/circuitboard/C = build_path
if(initial(C.board_type) == "machine")
name = "Machine circuit design ([item_name])"
else if(initial(C.board_type) == "computer")
name = "Computer circuit design ([item_name])"
else
name = "Circuit design ([item_name])"
/datum/design/circuit/AssembleDesignDesc()
if(!desc)
desc = "Allows for the construction of \a [item_name] circuit board."
/datum/design/circuit/arcademachine
name = "battle arcade machine"
id = "arcademachine"
req_tech = list(TECH_DATA = 1)
build_path = /obj/item/circuitboard/arcade/battle
sort_string = "MAAAA"
/datum/design/circuit/oriontrail
name = "orion trail arcade machine"
id = "oriontrail"
req_tech = list(TECH_DATA = 1)
build_path = /obj/item/circuitboard/arcade/orion_trail
sort_string = "MABAA"
/datum/design/circuit/seccamera
name = "security camera monitor"
id = "seccamera"
build_path = /obj/item/circuitboard/security
sort_string = "DAAAA"
/datum/design/circuit/prisonmanage
name = "prisoner management console"
id = "prisonmanage"
build_path = /obj/item/circuitboard/prisoner
sort_string = "DACAA"
/datum/design/circuit/sentencing
name = "criminal sentencing console"
id = "sentencing"
build_path = /obj/item/circuitboard/sentencing
sort_string = "DADAA"
/datum/design/circuit/operating
name = "patient monitoring console"
id = "operating"
build_path = /obj/item/circuitboard/operating
sort_string = "FACAA"
/datum/design/circuit/pandemic
name = "PanD.E.M.I.C. 2200"
id = "pandemic"
build_path = /obj/item/circuitboard/pandemic
sort_string = "FAEAA"
/datum/design/circuit/teleconsole
name = "teleporter control console"
id = "teleconsole"
req_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 2)
build_path = /obj/item/circuitboard/teleporter
sort_string = "HAAAA"
/datum/design/circuit/robocontrol
name = "robotics control console"
id = "robocontrol"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/robotics
sort_string = "HAAAB"
/datum/design/circuit/rdconsole
name = "R&D control console"
id = "rdconsole"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/rdconsole
sort_string = "HAAAE"
/datum/design/circuit/comm_monitor
name = "telecommunications monitoring console"
id = "comm_monitor"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/comm_monitor
sort_string = "HAACA"
/datum/design/circuit/comm_server
name = "telecommunications server monitoring console"
id = "comm_server"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/comm_server
sort_string = "HAACB"
/datum/design/circuit/message_monitor
name = "messaging monitor console"
id = "message_monitor"
req_tech = list(TECH_DATA = 5)
build_path = /obj/item/circuitboard/message_monitor
sort_string = "HAACC"
/datum/design/circuit/aiupload
name = "AI upload console"
id = "aiupload"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/aiupload
sort_string = "HAABA"
/datum/design/circuit/borgupload
name = "cyborg upload console"
id = "borgupload"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/borgupload
sort_string = "HAABB"
/datum/design/circuit/destructive_analyzer
name = "destructive analyzer"
id = "destructive_analyzer"
req_tech = list(TECH_DATA = 2, TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/destructive_analyzer
sort_string = "HABAA"
/datum/design/circuit/protolathe
name = "protolathe"
id = "protolathe"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/protolathe
sort_string = "HABAB"
/datum/design/circuit/circuit_imprinter
name = "circuit imprinter"
id = "circuit_imprinter"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/circuit_imprinter
sort_string = "HABAC"
/datum/design/circuit/autolathe
name = "autolathe board"
id = "autolathe"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/autolathe
sort_string = "HABAD"
/datum/design/circuit/chem_heater
name = "chemistry heater"
id = "chem_heater"
req_tech = list(TECH_BIO = 2)
build_path = /obj/item/circuitboard/chem_heater
sort_string = "HABAF"
/datum/design/circuit/rdservercontrol
name = "R&D server control console"
id = "rdservercontrol"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rdservercontrol
sort_string = "HABBA"
/datum/design/circuit/rdserver
name = "R&D server"
id = "rdserver"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rdserver
sort_string = "HABBB"
/datum/design/circuit/mechfab
name = "exosuit fabricator"
id = "mechfab"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
build_path = /obj/item/circuitboard/mechfab
sort_string = "HABAE"
/datum/design/circuit/mech_recharger
name = "mech recharger"
id = "mech_recharger"
req_tech = list(TECH_DATA = 2, TECH_POWER = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/mech_recharger
sort_string = "HACAA"
/datum/design/circuit/recharge_station
name = "cyborg recharge station"
id = "recharge_station"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/recharge_station
sort_string = "HACAC"
/datum/design/circuit/holopadboard
name = "holopad board"
id = "holo_board"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/holopad
sort_string = "HACAD"
/datum/design/circuit/sleeper
name = "sleeper board"
id = "sleeper_board"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/sleeper
sort_string = "HACAE"
/datum/design/circuit/bodyscannerm
name = "body Scanner board"
id = "bodyscanm_board"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/bodyscanner
sort_string = "HACAF"
/datum/design/circuit/bodyscannerc
name = "body Scanner console board"
id = "bodyscanc_board"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/bodyscannerconsole
sort_string = "HACAG"
/datum/design/circuit/optable
name = "operation table scanning board"
id = "optable_board"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/optable
sort_string = "HACAH"
/datum/design/circuit/smartfridge
name = "smart fridge board"
id = "fridge_board"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/smartfridge
sort_string = "HACAJ"
/datum/design/circuit/requestconsole
name = "request console board"
id = "requestconsole_board"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/requestconsole
sort_string = "HACAI"
/datum/design/circuit/cryopod
name = "cryo cellboard"
id = "cryocell_board"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/cryotube
sort_string = "HACAJ"
/datum/design/circuit/crystelpod
name = "crystel therapy pod"
id = "therapypod"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/crystelpod
sort_string = "HACAK"
/datum/design/circuit/crystelpodconsole
name = "crystel therapy pod"
id = "therapypodconsole"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/crystelpodconsole
sort_string = "HACAL"
/datum/design/circuit/microwave
name = "microwave board"
id = "microwave_board"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/microwave
sort_string = "HACAM"
/datum/design/circuit/oven
name = "oven board"
id = "oven_board"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/oven
sort_string = "HACAN"
/datum/design/circuit/fryer
name = "deep fryer board"
id = "fryer_board"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/fryer
sort_string = "HACAO"
/datum/design/circuit/cerealmaker
name = "cereal maker board"
id = "cerealmaker_board"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/cerealmaker
sort_string = "HACAP"
/datum/design/circuit/candymaker
name = "candy machine board"
id = "candymachine_board"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/candymachine
sort_string = "HACAQ"
/datum/design/circuit/atmosalerts
name = "atmosphere alert console"
id = "atmosalerts"
build_path = /obj/item/circuitboard/atmos_alert
sort_string = "JAAAA"
/datum/design/circuit/air_management
name = "atmosphere monitoring console"
id = "air_management"
build_path = /obj/item/circuitboard/air_management
sort_string = "JAAAB"
/datum/design/circuit/rcon_console
name = "RCON remote control console"
id = "rcon_console"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_POWER = 5)
build_path = /obj/item/circuitboard/rcon_console
sort_string = "JAAAC"
/datum/design/circuit/dronecontrol
name = "drone control console"
id = "dronecontrol"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/drone_control
sort_string = "JAAAD"
/datum/design/circuit/powermonitor
name = "power monitoring console"
id = "powermonitor"
build_path = /obj/item/circuitboard/powermonitor
sort_string = "JAAAE"
/datum/design/circuit/solarcontrol
name = "solar control console"
id = "solarcontrol"
build_path = /obj/item/circuitboard/solar_control
sort_string = "JAAAF"
/datum/design/circuit/pacman
name = "PACMAN-type generator"
id = "pacman"
req_tech = list(TECH_DATA = 3, TECH_PHORON = 3, TECH_POWER = 3, TECH_ENGINEERING = 3)
build_path = /obj/item/circuitboard/pacman
sort_string = "JBAAA"
/datum/design/circuit/superpacman
name = "SUPERPACMAN-type generator"
id = "superpacman"
req_tech = list(TECH_DATA = 3, TECH_POWER = 4, TECH_ENGINEERING = 4)
build_path = /obj/item/circuitboard/pacman/super
sort_string = "JBAAB"
/datum/design/circuit/mrspacman
name = "MRSPACMAN-type generator"
id = "mrspacman"
req_tech = list(TECH_DATA = 3, TECH_POWER = 5, TECH_ENGINEERING = 5)
build_path = /obj/item/circuitboard/pacman/mrs
sort_string = "JBAAC"
/datum/design/circuit/batteryrack
name = "cell rack PSU"
id = "batteryrack"
req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/batteryrack
sort_string = "JBABA"
/datum/design/circuit/smes_cell
name = "'SMES' superconductive magnetic energy storage"
desc = "Allows for the construction of circuit boards used to build a SMES."
id = "smes_cell"
req_tech = list(TECH_POWER = 7, TECH_ENGINEERING = 5)
build_path = /obj/item/circuitboard/smes
sort_string = "JBABB"
/datum/design/circuit/gas_heater
name = "gas heating system"
id = "gasheater"
req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 1)
build_path = /obj/item/circuitboard/unary_atmos/heater
sort_string = "JCAAA"
/datum/design/circuit/gas_cooler
name = "gas cooling system"
id = "gascooler"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/circuitboard/unary_atmos/cooler
sort_string = "JCAAB"
/datum/design/circuit/secure_airlock
name = "secure airlock electronics"
desc = "Allows for the construction of a tamper-resistant airlock electronics."
id = "securedoor"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/airlock_electronics/secure
sort_string = "JDAAA"
/datum/design/circuit/biogenerator
name = "biogenerator"
id = "biogenerator"
req_tech = list(TECH_DATA = 2)
build_path = /obj/item/circuitboard/biogenerator
sort_string = "KBAAA"
/datum/design/circuit/shield
req_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
materials = list(MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
/datum/design/circuit/shield/AssembleDesignName()
name = "Shield generator circuit design ([name])"
/datum/design/circuit/shield/AssembleDesignDesc()
if(!desc)
desc = "Allows for the construction of \a [name] shield generator."
/datum/design/circuit/shield/bubble
name = "bubble"
id = "shield_gen"
build_path = /obj/item/circuitboard/shield_gen
sort_string = "VAAAA"
/datum/design/circuit/shield/hull
name = "hull"
id = "shield_gen_ex"
build_path = /obj/item/circuitboard/shield_gen_ex
sort_string = "VAAAB"
/datum/design/circuit/shield/capacitor
name = "capacitor"
desc = "Allows for the construction of a shield capacitor circuit board."
id = "shield_cap"
req_tech = list(TECH_MAGNET = 3, TECH_POWER = 4)
build_path = /obj/item/circuitboard/shield_cap
sort_string = "VAAAC"
/datum/design/circuit/ntnet_relay
name = "NTNet Quantum Relay"
id = "ntnet_relay"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/ntnet_relay
sort_string = "WAAAA"
/datum/design/circuit/crusher_base
name = "trash compactor"
id = "crusher_base"
req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 1, TECH_MAGNET = 1, TECH_MATERIAL = 3)
build_path = /obj/item/circuitboard/crusher
sort_string = "WAAAB"
/datum/design/circuit/aicore
name = "AI core"
id = "aicore"
req_tech = list(TECH_DATA = 4, TECH_BIO = 3)
build_path = /obj/item/circuitboard/aicore
sort_string = "XAAAA"
/datum/design/circuit/rtg
name = "radioisotope thermoelectric generator"
id = "rtg"
req_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 1, TECH_POWER = 3, TECH_MATERIAL = 2)
build_path = /obj/item/circuitboard/rtg
sort_string = "WAAAC"
/datum/design/circuit/advanced_rtg
name = "advanced radioisotope thermoelectric generator"
id = "advanced_rtg"
req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_POWER = 3, TECH_MATERIAL = 4, TECH_PHORON = 2)
build_path = /obj/item/circuitboard/rtg/advanced
sort_string = "WAAAD"
/datum/design/circuit/slot_machine
name = "slot machine"
id = "slot_machine"
req_tech = list(TECH_DATA = 2)
build_path = /obj/item/circuitboard/slot_machine
sort_string = "WAAAE"
/datum/design/circuit/industrial
name = "industrial suit central circuit board"
id = "industrial_rig"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rig_assembly/civilian/industrial
sort_string = "WAAAF"
/datum/design/circuit/eva
name = "EVA suit central circuit board"
id = "eva_rig"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rig_assembly/civilian/eva
sort_string = "WAAAG"
/datum/design/circuit/ce
name = "advanced void suit central circuit board"
id = "ce_rig"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/rig_assembly/civilian/ce
sort_string = "WAAAH"
/datum/design/circuit/hazmat
name = "AMI suit central circuit board"
id = "hazmat_rig"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rig_assembly/civilian/hazmat
sort_string = "WAAAI"
/datum/design/circuit/medical
name = "rescue suit central circuit board"
id = "medical_rig"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/circuitboard/rig_assembly/civilian/medical
sort_string = "WAAAJ"
/datum/design/circuit/hazard
name = "hazard hardsuit central circuit board"
id = "hazard_rig"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/rig_assembly/combat/hazard
sort_string = "WAAAK"
/datum/design/circuit/hazard_target
name = "hazard hardsuit control and targeting board"
id = "hazard_rig_target"
req_tech = list(TECH_DATA = 4, TECH_COMBAT = 3)
build_path = /obj/item/circuitboard/rig_assembly/combat/targeting/hazard
sort_string = "WAAAL"
/datum/design/circuit/combat
name = "combat hardsuit central circuit board"
id = "combat_rig"
req_tech = list(TECH_DATA = 6)
build_path = /obj/item/circuitboard/rig_assembly/combat/combat
sort_string = "WAAAM"
/datum/design/circuit/combat_target
name = "combat hardsuit control and targeting board"
id = "combat_rig_target"
req_tech = list(TECH_DATA = 6, TECH_COMBAT = 5)
build_path = /obj/item/circuitboard/rig_assembly/combat/targeting/combat
sort_string = "WAAAN"
/datum/design/circuit/hacker
name = "cybersuit hardsuit central circuit board"
id = "hacker_rig"
req_tech = list(TECH_DATA = 6, TECH_ILLEGAL = 3)
build_path = /obj/item/circuitboard/rig_assembly/illegal/hacker
sort_string = "WAAAO"
/datum/design/circuit/hacker_target
name = "cybersuit hardsuit control and targeting board"
id = "hacker_rig_target"
req_tech = list(TECH_DATA = 6, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
build_path = /obj/item/circuitboard/rig_assembly/illegal/targeting/hacker
sort_string = "WAAAP"
+65
View File
@@ -0,0 +1,65 @@
/***************************************************************
** Design Datums **
** All the data for building stuff and tracking reliability. **
***************************************************************/
/*
For the materials datum, it assumes you need reagents unless specified otherwise. To designate a material that isn't a reagent,
you use one of the material IDs below. These are NOT ids in the usual sense (they aren't defined in the object or part of a datum),
they are simply references used as part of a "has materials?" type proc. They all start with a to denote that they aren't reagents.
The currently supporting non-reagent materials:
Don't add new keyword/IDs if they are made from an existing one (such as rods which are made from metal). Only add raw materials.
Design Guidlines // you fucking misspelled guidelines, you cow
- When adding new designs, check rdreadme.dm to see what kind of things have already been made and where new stuff is needed.
- A single sheet of anything is 2000 units of material. Materials besides metal/glass require help from other jobs (mining for
other types of metals and chemistry for reagents).
*/
//Note: More then one of these can be added to a design.
// #TODO-MERGE: Go over this file and make sure everything's fine. We might have missing vars.
/datum/design //Datum for object designs, used in construction
var/name //Name of the created object. If null it will be 'guessed' from build_path if possible.
var/desc //Description of the created object. If null it will use group_desc and name where applicable.
var/item_name //An item name before it is modified by various name-modifying procs
var/list/req_tech = list() //IDs of that techs the object originated from and the minimum level requirements.
var/build_type //Flag as to what kind machine the design is built in. See defines.
var/list/materials = list() //List of materials. Format: "id" = amount.
var/list/chemicals = list() //List of chemicals.
var/build_path //The path of the object that gets created.
var/time = 10 //How many ticks it requires to build
var/category //Primarily used for Mech Fabricators, but can be used for anything.
var/design_order = 0 // How things are sorted, lower things are higher up
/datum/design/New()
..()
item_name = name
AssembleDesignInfo()
//These procs are used in subtypes for assigning names and descriptions dynamically
/datum/design/proc/AssembleDesignInfo()
AssembleDesignName()
AssembleDesignDesc()
return
/datum/design/proc/AssembleDesignName()
if(!name && build_path) //Get name from build path if posible
var/atom/movable/A = build_path
name = initial(A.name)
item_name = name
return
/datum/design/proc/AssembleDesignDesc()
if(!desc) //Try to make up a nice description if we don't have one
desc = "Allows for the construction of \a [item_name]."
return
//Returns a new instance of the item for this design
//This is to allow additional initialization to be performed, including possibly additional contructor arguments.
/datum/design/proc/Fabricate(var/newloc, var/fabricator)
return new build_path(newloc)
/datum/design/item
build_type = PROTOLATHE
@@ -4,129 +4,113 @@
time = 10
/datum/design/hardsuitmodules/iss_module
name = "IIS module"
name = "IIS Module"
desc = "An integrated intelligence system module suitable for most hardsuits."
id = "iis_module"
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 7500)
build_path = /obj/item/rig_module/ai_container
/datum/design/hardsuitmodules/sink_module
name = "hardsuit power sink"
name = "Hardsuit Powersink"
desc = "An heavy-duty power sink suitable for hardsuits."
id = "power_sink_module"
req_tech = list(TECH_POWER = 4, TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_ILLEGAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GOLD = 2000, MATERIAL_SILVER = 3000, MATERIAL_GLASS = 2000)
build_path = /obj/item/rig_module/power_sink
/datum/design/hardsuitmodules/meson_module
name = "hardsuit meson scanner"
name = "Hardsuit Meson Scanner"
desc = "A layered, translucent visor system for a hardsuit."
id = "meson_module"
req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 2, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1500, MATERIAL_GLASS = 5000)
build_path = /obj/item/rig_module/vision/meson
/datum/design/hardsuitmodules/sechud_module
name = "hardsuit security hud"
name = "Hardsuit Security HUD"
desc = "A simple tactical information system for a hardsuit."
id = "sechud_module"
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 2, TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1500, MATERIAL_GLASS = 5000)
build_path = /obj/item/rig_module/vision/sechud
/datum/design/hardsuitmodules/medhud_module
name = "hardsuit medical hud"
name = "Hardsuit Medical HUD"
desc = "A simple medical status indicator for a hardsuit."
id = "medhu_module"
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 2, TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1500, MATERIAL_GLASS = 5000)
build_path = /obj/item/rig_module/vision/medhud
/datum/design/hardsuitmodules/nvg_module
name = "hardsuit night vision interface"
name = "Hardsuit Nightvision Interface"
desc = "A multi input night vision system for a hardsuit."
id = "nvg_module"
req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 3, TECH_MAGNET = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1500, MATERIAL_GLASS = 5000, MATERIAL_URANIUM = 5000)
build_path = /obj/item/rig_module/vision/nvg
/datum/design/hardsuitmodules/healthscanner_module
name = "hardsuit health scanner"
name = "Hardsuit Health Scanner"
desc = "A hardsuit-mounted health scanner."
id = "healthscanner_module"
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 3, TECH_MAGNET = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 5250)
build_path = /obj/item/rig_module/device/healthscanner
/datum/design/hardsuitmodules/chem_module
name = "mounted chemical injector"
name = "Mounted Chemical Injector"
desc = "A complex web of tubing and a large needle suitable for hardsuit use."
id = "chem_module"
req_tech = list(TECH_BIO = 5, TECH_MATERIAL = 4, TECH_DATA = 3, TECH_PHORON = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GLASS = 9250, MATERIAL_GOLD = 2500, MATERIAL_SILVER = 4250, MATERIAL_PHORON = 5500)
build_path = /obj/item/rig_module/chem_dispenser/injector
/datum/design/hardsuitmodules/plasmacutter_module
name = "hardsuit plasma cutter"
name = "Hardsuit Plasma Cutter"
desc = "A self-sustaining plasma arc capable of cutting through walls."
id = "plasmacutter_module"
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_PHORON = 4)
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_GLASS = 5250, MATERIAL_SILVER = 5250, MATERIAL_PHORON = 7250)
build_path = /obj/item/rig_module/mounted/plasmacutter
/datum/design/hardsuitmodules/jet_module
name = "hardsuit maneuvering jets"
name = "Hardsuit Maneuvering Jets"
desc = "A compact gas thruster system for a hardsuit."
id = "jet_module"
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GLASS = 4250, MATERIAL_SILVER = 4250, MATERIAL_URANIUM = 5250)
build_path = /obj/item/rig_module/maneuvering_jets
/datum/design/hardsuitmodules/drill_module
name = "hardsuit drill mount"
name = "Hardsuit Drill Mount"
desc = "A very heavy diamond-tipped drill."
id = "drill_module"
req_tech = list(TECH_ENGINEERING = 5, TECH_MATERIAL = 5, TECH_POWER = 4, TECH_MAGNET = 4)
materials = list(DEFAULT_WALL_MATERIAL = 55000, MATERIAL_GLASS = 2250, MATERIAL_SILVER = 5250, MATERIAL_DIAMOND = 3750)
build_path = /obj/item/rig_module/device/drill
/datum/design/hardsuitmodules/rfd_c_module
name = "RFD-C mount"
name = "RFD-C Mount"
desc = "A cell-powered Rapid-Fabrication-Device C-Class for a hardsuit."
id = "rcd_module"
req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 5, TECH_POWER = 5, TECH_BLUESPACE = 4)
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_PHORON = 12500, MATERIAL_SILVER = 10000, MATERIAL_GOLD = 10000)
build_path = /obj/item/rig_module/device/rfd_c
/datum/design/hardsuitmodules/actuators_module
name = "leg actuators"
name = "Leg Actuators"
desc = "A set of electromechanical actuators, for safe traversal of multilevelled areas."
id = "actuators_module"
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 85000, MATERIAL_GLASS = 1250, MATERIAL_SILVER = 5250, MATERIAL_GOLD = 2750)
build_path = /obj/item/rig_module/actuators
/datum/design/hardsuitmodules/taser_module
name = "mounted taser"
desc = "A palm-mounted nonlethal energy projector."
id = "taser_module"
name = "Mounted Taser"
desc = "A palm-mounted non-lethal energy projector."
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_MAGNET = 2)
materials = list(DEFAULT_WALL_MATERIAL = 7000, MATERIAL_GLASS = 5250)
build_path = /obj/item/rig_module/mounted/taser
/datum/design/hardsuitmodules/egun_module
name = "mounted energy gun"
name = "Mounted Energy Gun"
desc = "A forearm-mounted energy projector."
id = "egun_module"
req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 4, TECH_COMBAT = 4, TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 7000, MATERIAL_GLASS = 2250, MATERIAL_URANIUM = 3250, MATERIAL_GOLD = 2500)
build_path = /obj/item/rig_module/mounted/egun
/datum/design/hardsuitmodules/cooling_module
name = "mounted cooling unit"
name = "Mounted Cooling Unit"
desc = "A heat sink with liquid cooled radiator."
id = "cooling_module"
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 7000, MATERIAL_GLASS = 5500)
build_path = /obj/item/rig_module/cooling_unit
build_path = /obj/item/rig_module/cooling_unit
@@ -6,59 +6,51 @@
time = 20
/datum/design/rig/ce
name = "advanced voidsuit control module assembly"
name = "Advanced Voidsuit Control Module Assembly"
desc = "An assembly frame for an advanced voidsuit that protects against hazardous, low pressure environments."
id = "rig_ce"
build_path = /obj/item/rig_assembly/ce
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 25000, MATERIAL_GLASS = 12500, MATERIAL_SILVER = 5500, MATERIAL_GOLD = 5500, MATERIAL_PHORON = 7550)
/datum/design/rig/eva
name = "EVA suit control module assembly"
name = "EVA Suit Control Module Assembly"
desc = "An assembly for light rig that is desiged for repairs and maintenance to the outside of habitats and vessels."
id = "rig_eva"
build_path = /obj/item/rig_assembly/eva
/datum/design/rig/industrial
name = "industrial suit control module assembly"
name = "Industrial Suit Control Module Assembly"
desc = "An assembly for a heavy, powerful rig used by construction crews and mining corporations."
id = "rig_industrial"
build_path = /obj/item/rig_assembly/industrial
/datum/design/rig/hazmat
name = "AMI control module assembly"
name = "AMI Control Module Assembly"
desc = "An assembly for Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it."
id = "rig_hazmat"
build_path = /obj/item/rig_assembly/hazmat
materials = list(DEFAULT_WALL_MATERIAL = 25000, MATERIAL_GLASS = 25000, MATERIAL_SILVER = 5500, MATERIAL_GOLD = 5500, MATERIAL_PHORON = 7550)
/datum/design/rig/medical
name = "rescue suit control module assembly"
name = "Rescue Suit Control Module Assembly"
desc = "An assembly for a durable suit designed for medical rescue in high risk areas."
id = "rig_medical"
build_path = /obj/item/rig_assembly/medical
materials = list(DEFAULT_WALL_MATERIAL = 25000, MATERIAL_GLASS = 12500, MATERIAL_SILVER = 5500, MATERIAL_GOLD = 3500, MATERIAL_PHORON = 7550)
/datum/design/rig/hazard
name = "hazard hardsuit control module"
name = "Hazard Hardsuit Control Module"
desc = "An assembly for a security hardsuit designed for prolonged EVA in dangerous environments."
id = "rig_hazard"
build_path = /obj/item/rig_assembly/combat/hazard
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 3)
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_GLASS = 12500, MATERIAL_SILVER = 3500, MATERIAL_GOLD = 5500)
/datum/design/rig/combat
name = "combat hardsuit control module assembly"
name = "Combat Hardsuit Control Module Assembly"
desc = "An assembly frame for a sleek and dangerous hardsuit for active combat."
id = "rig_combat"
build_path = /obj/item/rig_assembly/combat/combat
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 5)
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_GLASS = 12500, MATERIAL_SILVER = 3500, MATERIAL_GOLD = 3500, MATERIAL_URANIUM = 5550, MATERIAL_DIAMOND = 7500)
/datum/design/rig/hacker
name = "cybersuit control module assembly"
name = "Cybersuit Control Module Assembly"
desc = "An assembly for an advanced powered armour suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
id = "rig_hacker"
build_path = /obj/item/rig_assembly/combat/illegal/hacker
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 25000, MATERIAL_GLASS = 12500, MATERIAL_GOLD = 2500, MATERIAL_SILVER = 3500, MATERIAL_URANIUM = 5550)
@@ -1,354 +1,270 @@
/datum/design/circuit/exosuit/AssembleDesignName()
name = "Exosuit software design ([name])"
/datum/design/circuit/exosuit/AssembleDesignDesc()
desc = "Allows for the construction of \a [name] module."
/datum/design/circuit/exosuit/engineering
name = "engineering system control"
id = "mech_software_engineering"
req_tech = list(TECH_DATA = 1)
build_path = /obj/item/circuitboard/exosystem/engineering
sort_string = "NAAAA"
/datum/design/circuit/exosuit/utility
name = "utility system control"
id = "mech_software_utility"
req_tech = list(TECH_DATA = 1)
build_path = /obj/item/circuitboard/exosystem/utility
sort_string = "NAAAB"
/datum/design/circuit/exosuit/medical
name = "medical system control"
id = "mech_software_medical"
req_tech = list(TECH_DATA = 3,TECH_BIO = 2)
build_path = /obj/item/circuitboard/exosystem/medical
sort_string = "NAABA"
/datum/design/circuit/exosuit/weapons
name = "basic weapon control"
id = "mech_software_weapons"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/exosystem/weapons
sort_string = "NAACA"
/datum/design/circuit/exosuit/advweapons
name = "advanced weapon control"
id = "mech_software_advweapons"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/exosystem/advweapons
sort_string = "NAACB"
/datum/design/item/mechfab/exosuit
name = "exosuit frame"
id = "mech_frame"
name = "Exosuit Frame"
build_path = /obj/structure/heavy_vehicle_frame
time = 70
materials = list(DEFAULT_WALL_MATERIAL = 20000)
category = "Exosuits"
/datum/design/item/mechfab/exosuit/basic_armour
name = "basic exosuit armour"
id = "mech_armour_basic"
name = "Basic Exosuit Armor"
build_path = /obj/item/robot_parts/robot_component/armor/mech
time = 30
materials = list(DEFAULT_WALL_MATERIAL = 7500)
/datum/design/item/mechfab/exosuit/radproof_armour
name = "radiation-proof exosuit armour"
id = "mech_armour_radproof"
name = "Radiation-proof Exosuit Armor"
build_path = /obj/item/robot_parts/robot_component/armor/mech/radproof
time = 50
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 12500)
/datum/design/item/mechfab/exosuit/em_armour
name = "EM-shielded exosuit armour"
id = "mech_armour_em"
name = "EM-shielded Exosuit Armor"
build_path = /obj/item/robot_parts/robot_component/armor/mech/em
time = 50
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 12500, MATERIAL_SILVER = 1000)
/datum/design/item/mechfab/exosuit/combat_armour
name = "combat exosuit armor"
id = "mech_armour_combat"
name = "Combat Exosuit Armor"
build_path = /obj/item/robot_parts/robot_component/armor/mech/combat
time = 50
req_tech = list(TECH_MATERIAL = 4, TECH_COMBAT = 3)
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_DIAMOND = 5000)
/datum/design/item/mechfab/exosuit/control_module
name = "exosuit control module"
id = "mech_control_module"
name = "Exosuit Control Module"
build_path = /obj/item/mech_component/control_module
time = 15
materials = list(DEFAULT_WALL_MATERIAL = 5000)
/datum/design/item/mechfab/exosuit/combat_head
name = "combat exosuit sensors"
id = "combat_head"
name = "Combat Exosuit Sensors"
time = 30
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mech_component/sensors/combat
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 3)
/datum/design/item/mechfab/exosuit/combat_torso
name = "combat exosuit chassis"
id = "combat_body"
name = "Combat Exosuit Chassis"
time = 60
materials = list(DEFAULT_WALL_MATERIAL = 45000)
build_path = /obj/item/mech_component/chassis/combat
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 3)
/datum/design/item/mechfab/exosuit/combat_arms
name = "combat exosuit manipulators"
id = "combat_arms"
name = "Combat Exosuit Manipulators"
time = 30
materials = list(DEFAULT_WALL_MATERIAL = 15000)
build_path = /obj/item/mech_component/manipulators/combat
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 3)
/datum/design/item/mechfab/exosuit/combat_legs
name = "combat exosuit motivators"
id = "combat_legs"
name = "Combat Exosuit Motivators"
time = 30
materials = list(DEFAULT_WALL_MATERIAL = 15000)
build_path = /obj/item/mech_component/propulsion/combat
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 3)
/datum/design/item/mechfab/exosuit/ripley_head
name = "power loader sensors"
id = "ripley_head"
name = "Powerloader Sensors"
build_path = /obj/item/mech_component/sensors/ripley
time = 15
materials = list(DEFAULT_WALL_MATERIAL = 5000)
/datum/design/item/mechfab/exosuit/ripley_torso
name = "power loader chassis"
id = "ripley_body"
name = "Powerloader Chassis"
build_path = /obj/item/mech_component/chassis/ripley
time = 50
materials = list(DEFAULT_WALL_MATERIAL = 20000)
/datum/design/item/mechfab/exosuit/ripley_arms
name = "power loader manipulators"
id = "ripley_arms"
name = "Powerloader Manipulators"
build_path = /obj/item/mech_component/manipulators/ripley
time = 30
materials = list(DEFAULT_WALL_MATERIAL = 6000)
/datum/design/item/mechfab/exosuit/ripley_legs
name = "power loader motivators"
id = "ripley_legs"
name = "Powerloader Motivators"
build_path = /obj/item/mech_component/propulsion/ripley
time = 30
materials = list(DEFAULT_WALL_MATERIAL = 6000)
/datum/design/item/mechfab/exosuit/light_head
name = "light exosuit sensors"
id = "light_head"
name = "Light Exosuit Sensors"
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 8000)
build_path = /obj/item/mech_component/sensors/light
req_tech = list(TECH_MATERIAL = 1)
/datum/design/item/mechfab/exosuit/light_torso
name = "light exosuit chassis"
id = "light_body"
name = "Light Exosuit Chassis"
time = 40
materials = list(DEFAULT_WALL_MATERIAL = 30000)
build_path = /obj/item/mech_component/chassis/light
req_tech = list(TECH_MATERIAL = 1)
/datum/design/item/mechfab/exosuit/light_arms
name = "light exosuit manipulators"
id = "light_arms"
name = "Light Exosuit Manipulators"
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mech_component/manipulators/light
req_tech = list(TECH_MATERIAL = 1)
/datum/design/item/mechfab/exosuit/light_legs
name = "light exosuit motivators"
id = "light_legs"
name = "Light Exosuit Motivators"
time = 25
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mech_component/propulsion/light
req_tech = list(TECH_MATERIAL = 1)
/datum/design/item/mechfab/exosuit/heavy_head
name = "heavy exosuit sensors"
id = "heavy_head"
name = "Heavy Exosuit Sensors"
time = 35
materials = list(DEFAULT_WALL_MATERIAL = 16000)
build_path = /obj/item/mech_component/sensors/heavy
req_tech = list(TECH_COMBAT = 2)
/datum/design/item/mechfab/exosuit/heavy_torso
name = "heavy exosuit chassis"
id = "heavy_body"
name = "Heavy Exosuit Chassis"
time = 75
materials = list(DEFAULT_WALL_MATERIAL = 70000, MATERIAL_URANIUM = 10000)
build_path = /obj/item/mech_component/chassis/heavy
/datum/design/item/mechfab/exosuit/heavy_arms
name = "heavy exosuit manipulators"
id = "heavy_arms"
name = "Heavy Exosuit Manipulators"
time = 35
materials = list(DEFAULT_WALL_MATERIAL = 20000)
build_path = /obj/item/mech_component/manipulators/heavy
/datum/design/item/mechfab/exosuit/heavy_legs
name = "heavy exosuit motivators"
id = "heavy_legs"
name = "Heavy Exosuit Motivators"
time = 35
materials = list(DEFAULT_WALL_MATERIAL = 20000)
build_path = /obj/item/mech_component/propulsion/heavy
/datum/design/item/mechfab/exosuit/spider
name = "quadruped motivators"
id = "quad_legs"
name = "Quadruped Motivators"
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 12000)
build_path = /obj/item/mech_component/propulsion/spider
req_tech = list(TECH_ENGINEERING = 2)
/datum/design/item/mechfab/exosuit/hover_torso
name = "hoverpod torso"
id = "hoverpod_body"
name = "Hoverpod Torso"
time = 40
materials = list(DEFAULT_WALL_MATERIAL = 22000)
build_path = /obj/item/mech_component/chassis/pod
/datum/design/item/mechfab/exosuit/hover_legs
name = "hover thrusters"
id = "hover_thrusters"
name = "Hoverthrusters"
time = 35
materials = list(DEFAULT_WALL_MATERIAL = 14000)
build_path = /obj/item/mech_component/propulsion/hover
/datum/design/item/mechfab/exosuit/track
name = "armored treads"
id = "treads"
name = "Armored Treads"
time = 35
materials = list(DEFAULT_WALL_MATERIAL = 25000)
build_path = /obj/item/mech_component/propulsion/tracks
req_tech = list(TECH_MATERIAL = 4)
/datum/design/item/mechfab/exosuit/hydraulic_clamp
name = "hydraulic clamp"
id = "hydraulic_clamp"
name = "Hydraulic Clamp"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/clamp
/datum/design/item/mechfab/exosuit/gravity_catapult
name = "gravity catapult"
id = "gravity_catapult"
name = "Gravity Catapult"
build_path = /obj/item/mecha_equipment/catapult
/datum/design/item/mechfab/exosuit/drill
name = "drill"
id = "mech_drill"
name = "Drill"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/drill
/datum/design/item/mechfab/exosuit/taser
name = "mounted electrolaser"
id = "mech_taser"
name = "Mounted Taser"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 1)
build_path = /obj/item/mecha_equipment/mounted_system/taser
/datum/design/item/mechfab/exosuit/uac
name = "mounted automatic weapon"
id = "mech_uac"
name = "Mounted Automatic Weapon"
req_tech = list(TECH_COMBAT = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/smg
/datum/design/item/mechfab/exosuit/plasma
name = "mounted plasma cutter"
id = "mech_plasma"
name = "Mounted Plasma Cutter"
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000, MATERIAL_GOLD = 1000, MATERIAL_PHORON = 1000)
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
build_path = /obj/item/mecha_equipment/mounted_system/plasmacutter
/datum/design/item/mechfab/exosuit/ion
name = "mounted ion rifle"
id = "mech_ion"
name = "Mounted Ion Rifle"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/ion
/datum/design/item/mechfab/exosuit/laser
name = "mounted laser gun"
id = "mech_laser"
name = "Mounted Laser Gun"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/laser
/datum/design/item/mechfab/exosuit/rcd
name = "RFD-C"
id = "mech_rcd"
name = "Mounted RFD-C"
time = 90
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_PHORON = 25000, DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GOLD = 15000)
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4, TECH_ENGINEERING = 4)
build_path = /obj/item/mecha_equipment/mounted_system/rfd
/datum/design/item/mechfab/exosuit/floodlight
name = "floodlight"
id = "mech_floodlight"
name = "Mounted Floodlight"
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 5000)
req_tech = list(TECH_ENGINEERING = 1)
build_path = /obj/item/mecha_equipment/light
/datum/design/item/mechfab/exosuit/sleeper
name = "mounted sleeper"
id = "mech_sleeper"
name = "Mounted Sleeper"
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 10000)
build_path = /obj/item/mecha_equipment/sleeper
/datum/design/item/mechfab/exosuit/extinguisher
name = "mounted extinguisher"
id = "mecha_extinguisher"
name = "Mounted Extinguisher"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/mounted_system/extinguisher
/datum/design/item/mechfab/exosuit/xray
name = "xray gun"
id = "xray_gun"
name = "Mounted X-Ray Gun"
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4, TECH_MATERIAL = 5, TECH_ILLEGAL = 3)
build_path = /obj/item/mecha_equipment/mounted_system/xray
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GOLD = 6000, MATERIAL_PHORON = 6000)
/datum/design/item/mechfab/exosuit/flashbang
name = "flashbang launcher"
id = "flashbang_launcher"
name = "Mounted Flashbang Launcher"
req_tech = list(TECH_COMBAT = 3)
build_path = /obj/item/mecha_equipment/mounted_system/grenadeflash
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GOLD = 6000, MATERIAL_PHORON = 6000)
/datum/design/item/mechfab/exosuit/crisisdrone
name = "crisis drone"
id = "crisis_drone"
name = "Mounted Crisis Drone"
build_path = /obj/item/mecha_equipment/crisis_drone
req_tech = list(TECH_MAGNET = 3, TECH_DATA = 3, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GOLD = 1000, MATERIAL_SILVER = 2000, MATERIAL_GLASS = 5000)
/datum/design/item/mechfab/exosuit/analyzer
name = "mounted health analyzer"
id = "mech_analyzer"
name = "Mounted Health Analyzer"
req_tech = list(TECH_MAGNET = 2, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 5000)
build_path = /obj/item/mecha_equipment/mounted_system/medanalyzer
/datum/design/item/mechfab/exosuit/flaregun
name = "mounted flare launcher"
id = "mech_flare"
name = "Mounted Flare Launcher"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/mounted_system/flarelauncher
/datum/design/item/mechfab/exosuit/passenger_compartment
name = "mounted passenger compartment"
id = "mech_pass_comp"
name = "Mounted Passenger Compartment"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/sleeper/passenger_compartment
@@ -15,57 +15,49 @@
return ..()
/datum/design/item/mechfab/prosthetic/l_arm
name = "Prosthetic left arm"
id = "prosthetic_l_arm"
name = "Prosthetic Left Arm"
build_path = /obj/item/organ/external/arm/industrial
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 18000)
/datum/design/item/mechfab/prosthetic/r_arm
name = "Prosthetic right arm"
id = "prosthetic_r_arm"
name = "Prosthetic Right Arm"
build_path = /obj/item/organ/external/arm/right/industrial
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 18000)
/datum/design/item/mechfab/prosthetic/l_leg
name = "Prosthetic left leg"
id = "prosthetic_l_leg"
name = "Prosthetic Left Leg"
build_path = /obj/item/organ/external/leg/industrial
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 15000)
/datum/design/item/mechfab/prosthetic/r_leg
name = "Prosthetic right leg"
id = "prosthetic_r_leg"
name = "Prosthetic Right Leg"
build_path = /obj/item/organ/external/leg/right/industrial
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 15000)
/datum/design/item/mechfab/prosthetic/l_hand
name = "Prosthetic left hand"
id = "prosthetic_l_hand"
name = "Prosthetic Left Hand"
build_path = /obj/item/organ/external/hand/industrial
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 8000)
/datum/design/item/mechfab/prosthetic/r_hand
name = "Prosthetic right hand"
id = "prosthetic_r_hand"
name = "Prosthetic Right Hand"
build_path = /obj/item/organ/external/hand/right/industrial
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 8000)
/datum/design/item/mechfab/prosthetic/l_foot
name = "Prosthetic left foot"
id = "prosthetic_l_foot"
name = "Prosthetic Left Foot"
build_path = /obj/item/organ/external/foot/industrial
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 8000)
/datum/design/item/mechfab/prosthetic/r_foot
name = "Prosthetic right foot"
id = "prosthetic_r_foot"
name = "Prosthetic Right Foot"
build_path = /obj/item/organ/external/foot/right/industrial
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 8000)
@@ -11,25 +11,20 @@
/datum/design/item/mechfab/prosthetic/internal/heart
name = "Prosthetic Heart"
id = "robotic_heart"
build_path = /obj/item/organ/internal/heart
/datum/design/item/mechfab/prosthetic/internal/lungs
name = "Prosthetic Lungs"
id = "robotic_lungs"
build_path = /obj/item/organ/internal/lungs
/datum/design/item/mechfab/prosthetic/internal/kidneys
name = "Prosthetic Kidneys"
id = "robotic_kidneys"
build_path = /obj/item/organ/internal/kidneys
/datum/design/item/mechfab/prosthetic/internal/eyes
name = "Prosthetic Eyes"
id = "robotic_eyes"
build_path = /obj/item/organ/internal/eyes
/datum/design/item/mechfab/prosthetic/internal/liver
name = "Prosthetic Liver"
id = "robotic_liver"
build_path = /obj/item/organ/internal/liver
@@ -13,50 +13,43 @@
return ..()
/datum/design/item/mechfab/robot/exoskeleton
name = "Robot exoskeleton"
id = "robot_exoskeleton"
name = "Robot Exoskeleton"
build_path = /obj/item/robot_parts/robot_suit
time = 50
materials = list(DEFAULT_WALL_MATERIAL = 50000)
/datum/design/item/mechfab/robot/torso
name = "Robot torso"
id = "robot_torso"
name = "Robot Torso"
build_path = /obj/item/robot_parts/chest
time = 35
materials = list(DEFAULT_WALL_MATERIAL = 40000)
/datum/design/item/mechfab/robot/head
name = "Robot head"
id = "robot_head"
name = "Robot Head"
build_path = /obj/item/robot_parts/head
time = 35
materials = list(DEFAULT_WALL_MATERIAL = 25000)
/datum/design/item/mechfab/robot/l_arm
name = "Robot left arm"
id = "robot_l_arm"
name = "Robot Left Arm"
build_path = /obj/item/robot_parts/l_arm
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 18000)
/datum/design/item/mechfab/robot/r_arm
name = "Robot right arm"
id = "robot_r_arm"
name = "Robot Right Arm"
build_path = /obj/item/robot_parts/r_arm
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 18000)
/datum/design/item/mechfab/robot/l_leg
name = "Robot left leg"
id = "robot_l_leg"
name = "Robot Left Leg"
build_path = /obj/item/robot_parts/l_leg
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 15000)
/datum/design/item/mechfab/robot/r_leg
name = "Robot right leg"
id = "robot_r_leg"
name = "Robot Right Leg"
build_path = /obj/item/robot_parts/r_leg
time = 20
materials = list(DEFAULT_WALL_MATERIAL = 15000)
@@ -66,46 +59,38 @@
materials = list(DEFAULT_WALL_MATERIAL = 5000)
/datum/design/item/mechfab/robot/component/synthetic_flash
name = "Synthetic flash"
id = "sflash"
name = "Synthetic Flash"
req_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 2)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 750)
build_path = /obj/item/device/flash/synthetic
/datum/design/item/mechfab/robot/component/binary_communication_device
name = "Binary communication device"
id = "binary_communication_device"
name = "Binary Communication Device"
build_path = /obj/item/robot_parts/robot_component/binary_communication_device
/datum/design/item/mechfab/robot/component/radio
name = "Radio"
id = "radio"
build_path = /obj/item/robot_parts/robot_component/radio
/datum/design/item/mechfab/robot/component/actuator
name = "Actuator"
id = "actuator"
build_path = /obj/item/robot_parts/robot_component/actuator
/datum/design/item/mechfab/robot/component/diagnosis_unit
name = "Diagnosis unit"
id = "diagnosis_unit"
build_path = /obj/item/robot_parts/robot_component/diagnosis_unit
/datum/design/item/mechfab/robot/component/camera
name = "Camera"
id = "camera"
build_path = /obj/item/robot_parts/robot_component/camera
/datum/design/item/mechfab/robot/component/armor
name = "Armor plating"
id = "armor"
name = "Armor Plating"
build_path = /obj/item/robot_parts/robot_component/armor
/datum/design/item/mechfab/robot/component/surge
name = "Heavy surge prevention module"
name = "Heavy Surge Prevention Module"
desc = "Used to boost prevent damage from EMP. Has limited surge preventions."
id = "borg_surge_module"
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GLASS = 6000, MATERIAL_GOLD = 5000, MATERIAL_SILVER = 7500) // Should be expensive
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 2, TECH_MAGNET = 5, TECH_POWER = 5, TECH_ENGINEERING = 4, TECH_COMBAT = 3)
build_path = /obj/item/robot_parts/robot_component/surge
@@ -5,48 +5,41 @@
category = "Cyborg Upgrade Modules"
/datum/design/item/robot_upgrade/rename
name = "Rename module"
name = "Rename Module"
desc = "Used to rename a cyborg."
id = "borg_rename_module"
build_path = /obj/item/borg/upgrade/rename
/datum/design/item/robot_upgrade/reset
name = "Reset module"
name = "Reset Module"
desc = "Used to reset a cyborg's module. Destroys any other upgrades applied to the robot."
id = "borg_reset_module"
build_path = /obj/item/borg/upgrade/reset
/datum/design/item/robot_upgrade/floodlight
name = "Floodlight module"
desc = "Used to boost cyborg's integrated light intensity."
id = "borg_floodlight_module"
name = "Floodlight Module"
desc = "Used to boost a cyborg's integrated light intensity."
build_path = /obj/item/borg/upgrade/floodlight
/datum/design/item/robot_upgrade/restart
name = "Emergency restart module"
name = "Emergency Restart Module"
desc = "Used to force a restart of a disabled-but-repaired robot, bringing it back online."
id = "borg_restart_module"
materials = list(DEFAULT_WALL_MATERIAL = 60000, MATERIAL_GLASS = 5000)
build_path = /obj/item/borg/upgrade/restart
/datum/design/item/robot_upgrade/vtec
name = "VTEC module"
name = "VTEC Module"
desc = "Used to kick in a robot's VTEC systems, increasing their speed."
id = "borg_vtec_module"
materials = list(DEFAULT_WALL_MATERIAL = 80000, MATERIAL_GLASS = 6000, MATERIAL_GOLD = 5000)
build_path = /obj/item/borg/upgrade/vtec
/datum/design/item/robot_upgrade/jetpack
name = "Jetpack module"
name = "Jetpack Module"
desc = "A carbon dioxide jetpack suitable for low-gravity mining operations."
id = "borg_jetpack_module"
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_PHORON = 15000, MATERIAL_URANIUM = 20000)
build_path = /obj/item/robot_parts/robot_component/jetpack
/datum/design/item/robot_upgrade/syndicate
name = "Illegal upgrade"
name = "Illegal Upgrade"
desc = "Allows for the construction of lethal upgrades for cyborgs."
id = "borg_syndicate_module"
req_tech = list(TECH_COMBAT = 4, TECH_ILLEGAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GLASS = 15000, MATERIAL_DIAMOND = 10000)
build_path = /obj/item/borg/upgrade/syndicate
@@ -1,75 +0,0 @@
////////////////////////////////////////
//////////////////Mining/////////////////
////////////////////////////////////////
/datum/design/item/weapon/mining/AssembleDesignName()
..()
name = "Mining equipment design ([item_name])"
/datum/design/item/analyzer
desc = "A hand-held environmental scanner which reports current gas levels."
id = "analyzer"
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 20)
build_path = /obj/item/device/analyzer
sort_string = "KCAAC"
/datum/design/item/weapon/mining/jackhammer
id = "jackhammer"
req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 500, MATERIAL_SILVER = 500)
build_path = /obj/item/pickaxe/jackhammer
sort_string = "KAAAA"
/datum/design/item/weapon/mining/drill
id = "drill"
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 6000, MATERIAL_GLASS = 1000) //expensive, but no need for miners.
build_path = /obj/item/pickaxe/drill
sort_string = "KAAAB"
/datum/design/item/weapon/mining/plasmacutter
id = "plasmacutter"
req_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1500, MATERIAL_GLASS = 500, MATERIAL_GOLD = 500, MATERIAL_PHORON = 500)
build_path = /obj/item/gun/energy/plasmacutter
sort_string = "KAAAC"
/datum/design/item/weapon/mining/pick_diamond
id = "pick_diamond"
req_tech = list(TECH_MATERIAL = 6)
materials = list(MATERIAL_DIAMOND = 3000)
build_path = /obj/item/pickaxe/diamond
sort_string = "KAAAD"
datum/design/circuit/telesci_console
name = "telepad control console"
id = "telesci_console"
req_tech = list("programming" = 3, TECH_BLUESPACE = 2)
build_path = /obj/item/circuitboard/telesci_console
datum/design/circuit/telepad
name = "telepad board"
id = "telepad"
req_tech = list("programming" = 4, TECH_BLUESPACE = 4, TECH_MATERIAL = 3, TECH_ENGINEERING = 3)
build_path = /obj/item/circuitboard/telesci_pad
/datum/design/item/weapon/mining/drill_diamond
id = "drill_diamond"
req_tech = list(TECH_MATERIAL = 6, TECH_POWER = 4, TECH_ENGINEERING = 4)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 1000, MATERIAL_DIAMOND = 2000)
build_path = /obj/item/pickaxe/diamonddrill
sort_string = "KAAAE"
/datum/design/circuit/miningdrill
name = "mining drill head"
id = "mining drill head"
req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
build_path = /obj/item/circuitboard/miningdrill
sort_string = "KCAAA"
/datum/design/circuit/miningdrillbrace
name = "mining drill brace"
id = "mining drill brace"
req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
build_path = /obj/item/circuitboard/miningdrillbrace
sort_string = "KCAAB"
@@ -0,0 +1,26 @@
/datum/design/item/disk
design_order = 11
/datum/design/item/disk/AssembleDesignName()
name = "Data Disk Design ([name])"
/datum/design/item/disk/design_disk
name = "Design Storage"
desc = "Produce additional disks for storing device designs."
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/design_disk
/datum/design/item/disk/tech_disk
name = "Technology Data Storage"
desc = "Produce additional disks for storing technology data."
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/tech_disk
/datum/design/item/disk/flora_disk
name = "Flora Data Storage"
desc = "Produce additional disks for storing flora data."
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/botany
@@ -0,0 +1,27 @@
/datum/design/item/hud
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
design_order = 6
/datum/design/item/hud/AssembleDesignName()
..()
name = "HUD Glasses Design ([item_name])"
/datum/design/item/hud/AssembleDesignDesc()
desc = "Allows for the construction of \a [item_name] HUD glasses."
/datum/design/item/hud/health
name = "Health"
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 3)
build_path = /obj/item/clothing/glasses/hud/health
/datum/design/item/hud/security
name = "Security"
req_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 2)
build_path = /obj/item/clothing/glasses/hud/security
/datum/design/item/hud/mesons
name = "Mesons"
desc = "Using the meson-scanning technology those glasses allow you to see through walls, floor or anything else."
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
build_path = /obj/item/clothing/glasses/meson
@@ -0,0 +1,17 @@
/datum/design/item/implant
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
design_order = 5
/datum/design/item/implant/AssembleDesignName()
..()
name = "Implantable Biocircuit Design ([item_name])"
/datum/design/item/implant/chemical
name = "Chemical"
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3)
build_path = /obj/item/implantcase/chem
/datum/design/item/implant/freedom
name = "Freedom"
req_tech = list(TECH_ILLEGAL = 2, TECH_BIO = 3)
build_path = /obj/item/implantcase/freedom
@@ -0,0 +1,74 @@
/datum/design/item/integrated_electronics
design_order = 8
/datum/design/item/integrated_electronics/AssembleDesignName()
..()
name = "Integrated Electronic Design ([item_name])"
/datum/design/item/integrated_electronics/wirer
name = "Custom Wirer Tool"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/integrated_electronics/wirer
/datum/design/item/integrated_electronics/debugger
name = "Custom Circuit Debugger Tool"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/integrated_electronics/debugger
/datum/design/item/integrated_electronics/custom_circuit_assembly
name = "Small Custom Assembly"
desc = "A customizable assembly for simple, small devices."
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/device/electronic_assembly
/datum/design/item/integrated_electronics/custom_circuit_assembly/medium
name = "Medium Custom Assembly"
desc = "A customizable assembly suited for more ambitious mechanisms."
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 20000)
build_path = /obj/item/device/electronic_assembly/medium
/datum/design/item/integrated_electronics/custom_circuit_assembly/drone
name = "Drone Custom Assembly"
desc = "A customizable assembly optimized for autonomous devices."
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 4, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 30000)
build_path = /obj/item/device/electronic_assembly/drone
/datum/design/item/integrated_electronics/custom_circuit_assembly/large
name = "Large Custom Assembly"
desc = "A customizable assembly for large machines."
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 40000)
build_path = /obj/item/device/electronic_assembly/large
/datum/design/item/integrated_electronics/custom_circuit_assembly/implant
name = "Implant Custom Assembly"
desc = "An customizable assembly for very small devices, implanted into living entities."
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 3, TECH_BIO = 5)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/implant/integrated_circuit
/datum/design/item/integrated_electronics/custom_circuit_assembly/device
name = "Device Custom Assembly"
desc = "An customizable assembly designed to interface with other devices."
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000)
build_path = /obj/item/device/assembly/electronic_assembly
/datum/design/item/integrated_electronics/custom_circuit_printer
name = "Portable Integrated Circuit Printer"
desc = "A portable(ish) printer for modular machines."
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_DATA = 5)
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/device/integrated_circuit_printer
/datum/design/item/integrated_electronics/custom_circuit_printer_upgrade
name = "Integrated Circuit Printer Upgrade - Advanced Designs"
desc = "Allows the integrated circuit printer to create advanced circuits."
req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/disk/integrated_circuit/upgrade/advanced
@@ -1,165 +1,135 @@
////////////////////////////////////////////
///////////Medical Designs/////////////////
////////////////////////////////////////////
/datum/design/item/medical
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 20)
design_order = 4
/datum/design/item/medical/AssembleDesignName()
..()
name = "Biotech device prototype ([item_name])"
name = "Biotech Device Design ([item_name])"
/datum/design/item/medical/health_analyzer
name = "Health Analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
id = "health_analyzer"
req_tech = list(TECH_MAGNET = 2, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 200)
build_path = /obj/item/device/healthanalyzer
sort_string = "MBCAF"
/datum/design/item/medical/robot_scanner
name = "Robot Analyzer"
desc = "A hand-held scanner able to diagnose robotic injuries."
id = "robot_scanner"
req_tech = list(TECH_MAGNET = 3, TECH_BIO = 2, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 500, MATERIAL_GLASS = 200)
build_path = /obj/item/device/robotanalyzer
sort_string = "MACFA"
/datum/design/item/medical/mass_spectrometer
name = "Mass Spectrometer"
desc = "A device for analyzing chemicals in blood."
id = "mass_spectrometer"
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 2)
build_path = /obj/item/device/mass_spectrometer
sort_string = "MACAA"
/datum/design/item/medical/adv_mass_spectrometer
name = "Advanced Mass Spectrometer"
desc = "A device for analyzing chemicals in blood and their quantities."
id = "adv_mass_spectrometer"
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 4)
build_path = /obj/item/device/mass_spectrometer/adv
sort_string = "MACAB"
/datum/design/item/medical/reagent_scanner
name = "Reagent Scanner"
desc = "A device for identifying chemicals."
id = "reagent_scanner"
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 2)
build_path = /obj/item/device/reagent_scanner
sort_string = "MACBA"
/datum/design/item/medical/adv_reagent_scanner
name = "Advanced Reagent Scanner"
desc = "A device for identifying chemicals and their proportions."
id = "adv_reagent_scanner"
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 4)
build_path = /obj/item/device/reagent_scanner/adv
sort_string = "MACBB"
/datum/design/item/beaker/AssembleDesignName()
name = "Beaker prototype ([item_name])"
/datum/design/item/beaker/noreact
name = "cryostasis"
desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units."
id = "splitbeaker"
req_tech = list(TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/reagent_containers/glass/beaker/noreact
sort_string = "MADAA"
/datum/design/item/beaker/bluespace
name = TECH_BLUESPACE
desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units."
id = "bluespacebeaker"
req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 6)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_PHORON = 3000, MATERIAL_DIAMOND = 500)
build_path = /obj/item/reagent_containers/glass/beaker/bluespace
sort_string = "MADAB"
/datum/design/item/medical/nanopaste
name = "Nanopaste"
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
id = "nanopaste"
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 7000, MATERIAL_GLASS = 7000)
build_path = /obj/item/stack/nanopaste
sort_string = "MBAAA"
/datum/design/item/scalpel_laser1
/datum/design/item/medical/scalpel_laser1
name = "Basic Laser Scalpel"
desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks basic and could be improved."
id = "scalpel_laser1"
req_tech = list(TECH_BIO = 2, TECH_MATERIAL = 2, TECH_MAGNET = 2)
materials = list(DEFAULT_WALL_MATERIAL = 12500, MATERIAL_GLASS = 7500)
build_path = /obj/item/surgery/scalpel/laser1
sort_string = "MBBAA"
/datum/design/item/scalpel_laser2
/datum/design/item/medical/scalpel_laser2
name = "Improved Laser Scalpel"
desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks somewhat advanced."
id = "scalpel_laser2"
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 4, TECH_MAGNET = 4)
materials = list(DEFAULT_WALL_MATERIAL = 12500, MATERIAL_GLASS = 7500, MATERIAL_SILVER = 2500)
build_path = /obj/item/surgery/scalpel/laser2
sort_string = "MBBAB"
/datum/design/item/scalpel_laser3
/datum/design/item/medical/scalpel_laser3
name = "Advanced Laser Scalpel"
desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks to be the pinnacle of precision energy cutlery!"
id = "scalpel_laser3"
req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 6, TECH_MAGNET = 5)
materials = list(DEFAULT_WALL_MATERIAL = 12500, MATERIAL_GLASS = 7500, MATERIAL_SILVER = 2000, MATERIAL_GOLD = 1500)
build_path = /obj/item/surgery/scalpel/laser3
sort_string = "MBBAC"
/datum/design/item/scalpel_manager
/datum/design/item/medical/scalpel_manager
name = "Incision Management System"
desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision allowing for the immediate commencement of therapeutic steps."
id = "scalpel_manager"
req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 7, TECH_MAGNET = 5, TECH_DATA = 4)
materials = list (DEFAULT_WALL_MATERIAL = 12500, MATERIAL_GLASS = 7500, MATERIAL_SILVER = 1500, MATERIAL_GOLD = 1500, MATERIAL_DIAMOND = 750)
build_path = /obj/item/surgery/scalpel/manager
sort_string = "MBBAD"
/datum/design/item/medical/inhaler
name = "Inhaler"
desc = "A very basic personal inhaler that directly injects chemicals into the lungs using a basic cartridge aerosol method."
id = "inhaler"
req_tech = list(TECH_BIO = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 1000)
build_path = /obj/item/personal_inhaler
sort_string = "MBCAA"
/datum/design/item/medical/inhaler_combat
name = "Combat Inhaler"
desc = "An improved inhaler design that injects the entirety of the chemicals in the loaded cartridge in a single button press."
id = "inhaler_combat"
req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 4, TECH_ENGINEERING = 4 )
materials = list(DEFAULT_WALL_MATERIAL = 6000, MATERIAL_GLASS = 3000, MATERIAL_SILVER = 1500)
build_path = /obj/item/personal_inhaler/combat
sort_string = "MBCAB"
/datum/design/item/medical/inhaler_cartridge_small
name = "Small Inhaler Cartridge"
desc = "A small aerosol cartridge that can hold a small amount of chemicals. For use in an inhaler."
id = "inhaler_cartridge_small"
req_tech = list(TECH_BIO = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 500)
build_path = /obj/item/reagent_containers/personal_inhaler_cartridge
sort_string = "MBCAC"
/datum/design/item/medical/inhaler_cartridge_large
name = "Large Inhaler Cartridge"
desc = "A large aerosol cartridge that can hold a decent amount of chemicals. For use in an inhaler."
id = "inhaler_cartridge_large"
req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 500, MATERIAL_SILVER = 500)
build_path = /obj/item/reagent_containers/personal_inhaler_cartridge/large
sort_string = "MBCAD"
/datum/design/item/medical/inhaler_cartridge_bluespace
name = "Bluespace Inhaler Cartridge"
desc = "A bluespace aerosol cartridge that can hold a robust amount of chemicals. For use in an inhaler."
id = "inhaler_cartridge_bluespace"
req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 6, TECH_BIO = 6)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_PHORON = 3000, MATERIAL_DIAMOND = 500)
build_path = /obj/item/reagent_containers/personal_inhaler_cartridge/bluespace
sort_string = "MBCAE"
/datum/design/item/beaker
design_order = 4.1
/datum/design/item/beaker/AssembleDesignName()
name = "Advanced Beaker Design ([item_name])"
/datum/design/item/beaker/noreact
name = "Cryostasis"
desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units."
req_tech = list(TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/reagent_containers/glass/beaker/noreact
/datum/design/item/beaker/bluespace
name = "Bluespace"
desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units."
req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 6)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_PHORON = 3000, MATERIAL_DIAMOND = 500)
build_path = /obj/item/reagent_containers/glass/beaker/bluespace
@@ -0,0 +1,150 @@
/datum/design/item/mining
design_order = 3
/datum/design/item/mining/AssembleDesignName()
..()
name = "Mining Equipment Design ([item_name])"
/datum/design/item/mining/jackhammer
name = "Jackhammer"
req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 500, MATERIAL_SILVER = 500)
build_path = /obj/item/pickaxe/jackhammer
/datum/design/item/mining/drill
name = "Drill"
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 6000, MATERIAL_GLASS = 1000) //expensive, but no need for miners.
build_path = /obj/item/pickaxe/drill
/datum/design/item/mining/plasmacutter
name = "Plasma Cutter"
req_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1500, MATERIAL_GLASS = 500, MATERIAL_GOLD = 500, MATERIAL_PHORON = 500)
build_path = /obj/item/gun/energy/plasmacutter
/datum/design/item/mining/pick_diamond
name = "Diamond Pickaxe"
req_tech = list(TECH_MATERIAL = 6)
materials = list(MATERIAL_DIAMOND = 3000)
build_path = /obj/item/pickaxe/diamond
/datum/design/item/mining/drill_diamond
name = "Diamond Drill"
req_tech = list(TECH_MATERIAL = 6, TECH_POWER = 4, TECH_ENGINEERING = 4)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 1000, MATERIAL_DIAMOND = 2000)
build_path = /obj/item/pickaxe/diamonddrill
//Frames
/datum/design/item/mining/ka_frame01
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/gun/custom_ka/frame01
/datum/design/item/mining/ka_frame02
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/gun/custom_ka/frame02
/datum/design/item/mining/ka_frame03
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_SILVER = 2000)
build_path = /obj/item/gun/custom_ka/frame03
/datum/design/item/mining/ka_frame04
req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_SILVER = 2000, MATERIAL_DIAMOND = 1000)
build_path = /obj/item/gun/custom_ka/frame04
/datum/design/item/mining/ka_frame05
req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 6)
materials = list(DEFAULT_WALL_MATERIAL = 6000, MATERIAL_SILVER = 4000, MATERIAL_DIAMOND = 2000)
build_path = /obj/item/gun/custom_ka/frame05
//Cells
/datum/design/item/mining/ka_cell01
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1, TECH_MAGNET = 1, TECH_POWER = 1)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell01
/datum/design/item/mining/ka_cell02
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 1, TECH_MAGNET = 1, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000, MATERIAL_SILVER = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell02
/datum/design/item/mining/ka_cell03
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 3000, MATERIAL_SILVER = 3000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell03
/datum/design/item/mining/ka_cell04
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_GLASS = 3000, MATERIAL_SILVER = 3000, MATERIAL_GOLD = 1000, MATERIAL_URANIUM = 5000)
build_path = /obj/item/custom_ka_upgrade/cells/cell04
/datum/design/item/mining/ka_cell05
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 5, TECH_POWER = 5, TECH_PHORON = 5)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 3000, MATERIAL_SILVER = 3000, MATERIAL_GOLD = 1000, MATERIAL_PHORON = 5000)
build_path = /obj/item/custom_ka_upgrade/cells/cell05
//Barrels
/datum/design/item/mining/ka_barrel01
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1, TECH_MAGNET = 1, TECH_PHORON = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 2000, MATERIAL_PHORON = 500)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel01
/datum/design/item/mining/ka_barrel02
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1, TECH_MAGNET = 3, TECH_PHORON = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 2000, MATERIAL_PHORON = 500)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel02
/datum/design/item/mining/ka_barrel03
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_PHORON = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 2000, MATERIAL_PHORON = 1000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel03
/datum/design/item/mining/ka_barrel04
req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 3, TECH_MAGNET = 5, TECH_PHORON = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 3000, MATERIAL_GOLD = 3000, MATERIAL_PHORON = 3000, MATERIAL_DIAMOND = 1000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel04
/datum/design/item/mining/ka_barrel05
req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_MAGNET = 6, TECH_PHORON = 5)
materials = list(DEFAULT_WALL_MATERIAL = 6000, MATERIAL_GLASS = 4000, MATERIAL_GOLD = 4000, MATERIAL_PHORON = 4000, MATERIAL_DIAMOND = 2000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel05
//Upgrades
/datum/design/item/mining/ka_upgrade01
req_tech = list(TECH_POWER = 4, TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/damage
/datum/design/item/mining/ka_upgrade02
req_tech = list(TECH_POWER = 4, TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/firerate
/datum/design/item/mining/ka_upgrade03
req_tech = list(TECH_POWER = 4, TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/effeciency
/datum/design/item/mining/ka_upgrade04
req_tech = list(TECH_POWER = 4, TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/recoil
/datum/design/item/mining/ka_upgrade05
req_tech = list(TECH_POWER = 4, TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/focusing
/datum/design/item/mining/ka_upgrade06
req_tech = list(TECH_POWER = 4, TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/capacity
/datum/design/item/mining/ka_upgrade07
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/explosive
@@ -1,256 +1,193 @@
////////////////////////////////////////////
///////////Modular Computer Parts///////////
////////////////////////////////////////////
/datum/design/item/modularcomponent
design_order = 9
/datum/design/item/modularcomponent/AssembleDesignName()
..()
name = "Modular Computer Component Design ([item_name])"
// Hard drives
/datum/design/item/modularcomponent/disk/normal
name = "basic hard drive"
id = "hdd_basic"
name = "Basic Hard Drive"
req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 400, MATERIAL_GLASS = 100)
build_path = /obj/item/computer_hardware/hard_drive/
sort_string = "VBAAA"
/datum/design/item/modularcomponent/disk/advanced
name = "advanced hard drive"
id = "hdd_advanced"
name = "Advanced Hard Drive"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 800, MATERIAL_GLASS = 200)
build_path = /obj/item/computer_hardware/hard_drive/advanced
sort_string = "VBAAB"
/datum/design/item/modularcomponent/disk/super
name = "super hard drive"
id = "hdd_super"
name = "Super Hard Drive"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 1600, MATERIAL_GLASS = 400)
build_path = /obj/item/computer_hardware/hard_drive/super
sort_string = "VBAAC"
/datum/design/item/modularcomponent/disk/cluster
name = "cluster hard drive"
id = "hdd_cluster"
name = "Cluster Hard Drive"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 3200, MATERIAL_GLASS = 800)
build_path = /obj/item/computer_hardware/hard_drive/cluster
sort_string = "VBAAD"
/datum/design/item/modularcomponent/disk/small
name = "small hard drive"
id = "hdd_small"
name = "Small Hard Drive"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 800, MATERIAL_GLASS = 200)
build_path = /obj/item/computer_hardware/hard_drive/small
sort_string = "VBAAE"
/datum/design/item/modularcomponent/disk/micro
name = "micro hard drive"
id = "hdd_micro"
name = "Micro Hard Drive"
req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 400, MATERIAL_GLASS = 100)
build_path = /obj/item/computer_hardware/hard_drive/micro
sort_string = "VBAAF"
// Network cards
/datum/design/item/modularcomponent/netcard/basic
name = "basic network card"
id = "netcard_basic"
name = "Basic Network Card"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 1)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 250, MATERIAL_GLASS = 100)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/network_card
sort_string = "VBAAG"
/datum/design/item/modularcomponent/netcard/advanced
name = "advanced network card"
id = "netcard_advanced"
name = "Advanced Network Card"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 500, MATERIAL_GLASS = 200)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/network_card/advanced
sort_string = "VBAAH"
/datum/design/item/modularcomponent/netcard/wired
name = "wired network card"
id = "netcard_wired"
name = "Wired Network Card"
req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 3)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 400)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/network_card/wired
sort_string = "VBAAI"
// Data crystals (USB flash drives)
/datum/design/item/modularcomponent/portabledrive/basic
name = "basic data crystal"
id = "portadrive_basic"
name = "Basic Data Crystal"
req_tech = list(TECH_DATA = 1)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 800)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/hard_drive/portable
sort_string = "VBAAJ"
/datum/design/item/modularcomponent/portabledrive/advanced
name = "advanced data crystal"
id = "portadrive_advanced"
name = "Advanced Data Crystal"
req_tech = list(TECH_DATA = 2)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 1600)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/hard_drive/portable/advanced
sort_string = "VBAAK"
/datum/design/item/modularcomponent/portabledrive/super
name = "super data crystal"
id = "portadrive_super"
name = "Super Data Crystal"
req_tech = list(TECH_DATA = 4)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 3200)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/hard_drive/portable/super
sort_string = "VBAAL"
// Card slot
/datum/design/item/modularcomponent/cardslot
name = "RFID card slot"
id = "cardslot"
name = "RFID Card Slot"
req_tech = list(TECH_DATA = 2)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 600)
build_path = /obj/item/computer_hardware/card_slot
sort_string = "VBAAM"
// Nano printer
/datum/design/item/modularcomponent/nanoprinter
name = "nano printer"
id = "nanoprinter"
name = "Nano Printer"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 600)
build_path = /obj/item/computer_hardware/nano_printer
sort_string = "VBAAN"
// Tesla Link
/datum/design/item/modularcomponent/teslalink
name = "tesla link"
id = "teslalink"
name = "Tesla Link"
req_tech = list(TECH_DATA = 2, TECH_POWER = 3, TECH_ENGINEERING = 2)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/computer_hardware/tesla_link
sort_string = "VBAAO"
// Batteries
/datum/design/item/modularcomponent/battery/normal
name = "standard battery module"
id = "bat_normal"
name = "Standard Battery Module"
req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 400)
build_path = /obj/item/computer_hardware/battery_module
sort_string = "VBAAP"
/datum/design/item/modularcomponent/battery/advanced
name = "advanced battery module"
id = "bat_advanced"
name = "Advanced Battery Module"
req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 800)
build_path = /obj/item/computer_hardware/battery_module/advanced
sort_string = "VBAAQ"
/datum/design/item/modularcomponent/battery/super
name = "super battery module"
id = "bat_super"
name = "Super Battery Module"
req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 1600)
build_path = /obj/item/computer_hardware/battery_module/super
sort_string = "VBAAR"
/datum/design/item/modularcomponent/battery/ultra
name = "ultra battery module"
id = "bat_ultra"
name = "Ultra Battery Module"
req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 4)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 3200)
build_path = /obj/item/computer_hardware/battery_module/ultra
sort_string = "VBAAS"
/datum/design/item/modularcomponent/battery/nano
name = "nano battery module"
id = "bat_nano"
name = "Nano Battery Module"
req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 200)
build_path = /obj/item/computer_hardware/battery_module/nano
sort_string = "VBAAT"
/datum/design/item/modularcomponent/battery/micro
name = "micro battery module"
id = "bat_micro"
name = "Micro Battery Module"
req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 400)
build_path = /obj/item/computer_hardware/battery_module/micro
sort_string = "VBAAU"
// Processor unit
/datum/design/item/modularcomponent/cpu/
name = "computer processor unit"
id = "cpu_normal"
/datum/design/item/modularcomponent/cpu
name = "Computer Processor Unit"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 1600)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/processor_unit
sort_string = "VBAAV"
/datum/design/item/modularcomponent/cpu/small
name = "computer microprocessor unit"
id = "cpu_small"
name = "Computer Microprocessor Unit"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 800)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/processor_unit/small
sort_string = "VBAAW"
/datum/design/item/modularcomponent/cpu/photonic
name = "computer photonic processor unit"
id = "pcpu_normal"
name = "Computer Photonic Processor Unit"
req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 4)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 6400, glass = 2000)
materials = list(DEFAULT_WALL_MATERIAL = 6400, MATERIAL_GLASS = 2000)
chemicals = list("sacid" = 40)
build_path = /obj/item/computer_hardware/processor_unit/photonic
sort_string = "VBAAX"
/datum/design/item/modularcomponent/cpu/photonic/small
name = "computer photonic microprocessor unit"
id = "pcpu_small"
name = "Computer Photonic Microprocessor Unit"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 3200, glass = 1000)
materials = list(DEFAULT_WALL_MATERIAL = 3200, MATERIAL_GLASS = 1000)
chemicals = list("sacid" = 20)
build_path = /obj/item/computer_hardware/processor_unit/photonic/small
sort_string = "VBAAY"
// AI Slot
/datum/design/item/modularcomponent/aislot
name = "intellicard slot"
id = "aislot"
name = "Intellicard Slot"
req_tech = list(TECH_POWER = 2, TECH_DATA = 3)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/computer_hardware/ai_slot
sort_string = "VBAAZ"
build_path = /obj/item/computer_hardware/ai_slot
@@ -0,0 +1,226 @@
/datum/design/item/modular_weapon
design_order = 2.5
/datum/design/item/modular_weapon/AssembleDesignName()
..()
name = "Modular Weapon Design ([capitalize_first_letters(item_name)])"
/datum/design/item/modular_weapon/modular_small
req_tech = list(TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/device/laser_assembly
/datum/design/item/modular_weapon/modular_medium
req_tech = list(TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/device/laser_assembly/medium
/datum/design/item/modular_weapon/modular_large
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 8000)
build_path = /obj/item/device/laser_assembly/large
/datum/design/item/modular_weapon/modular_cap
req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 1000)
build_path = /obj/item/laser_components/capacitor
/datum/design/item/modular_weapon/modular_starch
req_tech = list(TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 1000)
build_path = /obj/item/laser_components/capacitor/potato
/datum/design/item/modular_weapon/modular_capacitor_reinforced
req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/laser_components/capacitor/reinforced
/datum/design/item/modular_weapon/modular_nuke
req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_URANIUM = 1000)
build_path = /obj/item/laser_components/capacitor/nuclear
/datum/design/item/modular_weapon/modular_teranium
req_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 4, TECH_MAGNET = 6)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_GLASS = 1000, MATERIAL_URANIUM = 500)
build_path = /obj/item/laser_components/capacitor/teranium
/datum/design/item/modular_weapon/modular_phoron
req_tech = list(TECH_POWER = 7, TECH_ENGINEERING = 5, TECH_PHORON = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_PHORON = 3000, MATERIAL_URANIUM = 500)
build_path = /obj/item/laser_components/capacitor/phoron
/datum/design/item/modular_weapon/modular_bs
req_tech = list(TECH_POWER = 7, TECH_ENGINEERING = 7, TECH_PHORON = 6, TECH_BLUESPACE = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_PHORON = 3000, MATERIAL_URANIUM = 500, MATERIAL_DIAMOND = 1000)
build_path = /obj/item/laser_components/capacitor/bluespace
/datum/design/item/modular_weapon/modular_lens
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 500, MATERIAL_GLASS = 2000)
build_path = /obj/item/laser_components/focusing_lens
/datum/design/item/modular_weapon/modular_splitter
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 2000)
build_path = /obj/item/laser_components/focusing_lens/shotgun
/datum/design/item/modular_weapon/modular_sniper
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 2000)
build_path = /obj/item/laser_components/focusing_lens/sniper
/datum/design/item/modular_weapon/modular_reinforced
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/focusing_lens/strong
/datum/design/item/modular_weapon/modular_silent
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modifier/silencer
/datum/design/item/modular_weapon/modular_aeg
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000, MATERIAL_URANIUM = 500)
build_path = /obj/item/laser_components/modifier/aeg
/datum/design/item/modular_weapon/modular_surge
req_tech = list(TECH_MATERIAL = 5, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/modifier/surge
/datum/design/item/modular_weapon/modular_repeater
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/modifier/repeater
/datum/design/item/modular_weapon/modular_aux
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/modifier/auxiliarycap
/datum/design/item/modular_weapon/modular_overcharge
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 4, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/modifier/overcharge
/datum/design/item/modular_weapon/modular_gatling
req_tech = list(TECH_COMBAT = 6, TECH_PHORON = 5, TECH_MATERIAL = 6, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 3000, MATERIAL_PHORON = 2000, MATERIAL_SILVER = 2000, MATERIAL_DIAMOND = 1000)
build_path = /obj/item/laser_components/modifier/gatling
/datum/design/item/modular_weapon/modular_scope
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 500)
build_path = /obj/item/laser_components/modifier/scope
/datum/design/item/modular_weapon/modular_barrel
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/barrel
/datum/design/item/modular_weapon/modular_vents
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/vents
/datum/design/item/modular_weapon/modular_stock
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/stock
/datum/design/item/modular_weapon/modular_bayonet
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/bayonet
/datum/design/item/modular_weapon/modular_ebayonet
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_SILVER = 500, MATERIAL_PHORON = 500)
build_path = /obj/item/laser_components/modifier/ebayonet
/datum/design/item/modular_weapon/modular_grip
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/grip
/datum/design/item/modular_weapon/modular_taser
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/laser_components/modulator/taser
/datum/design/item/modular_weapon/modular_tesla
req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 6, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_SILVER = 1000, MATERIAL_PHORON = 2000)
build_path = /obj/item/laser_components/modulator/tesla
/datum/design/item/modular_weapon/modular_ion
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 5)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 500, MATERIAL_PHORON = 2000)
build_path = /obj/item/laser_components/modulator/ion
/datum/design/item/modular_weapon/modular_soma
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 250, MATERIAL_URANIUM = 250)
build_path = /obj/item/laser_components/modulator/floramut
/datum/design/item/modular_weapon/modular_beta
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 250, MATERIAL_URANIUM = 250)
build_path = /obj/item/laser_components/modulator/floramut2
/datum/design/item/modular_weapon/modular_pest
req_tech = list(TECH_MATERIAL = 1, TECH_BIO = 4, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000, MATERIAL_URANIUM = 500)
build_path = /obj/item/laser_components/modulator/arodentia
/datum/design/item/modular_weapon/modular_tag1
req_tech = list(TECH_COMBAT = 1, TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modulator/red
/datum/design/item/modular_weapon/modular_tag2
req_tech = list(TECH_COMBAT = 1, TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modulator/blue
/datum/design/item/modular_weapon/modular_tag3
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modulator/omni
/datum/design/item/modular_weapon/modular_practice
req_tech = list(TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modulator/practice
/datum/design/item/modular_weapon/modular_decloner
req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000, MATERIAL_PHORON = 3000)
build_path = /obj/item/laser_components/modulator/decloner
/datum/design/item/modular_weapon/modular_ebow
req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4, TECH_ILLEGAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000, MATERIAL_PHORON = 3000)
build_path = /obj/item/laser_components/modulator/ebow
/datum/design/item/modular_weapon/modular_blaster
req_tech = list(TECH_COMBAT = 2, TECH_PHORON = 4, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 8000, MATERIAL_GLASS = 2000, MATERIAL_PHORON = 6000)
build_path = /obj/item/laser_components/modulator/blaster
/datum/design/item/modular_weapon/modular_laser
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 500, MATERIAL_PHORON = 1000)
build_path = /obj/item/laser_components/modulator
/datum/design/item/modular_weapon/modular_tox
req_tech = list(TECH_COMBAT = 4, TECH_PHORON = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 1000, MATERIAL_PHORON = 2000)
build_path = /obj/item/laser_components/modulator/tox
/datum/design/item/modular_weapon/modular_net
req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4, TECH_ILLEGAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000, MATERIAL_PHORON = 3000)
build_path = /obj/item/laser_components/modulator/net
@@ -0,0 +1,61 @@
/datum/design/item/pda
req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
design_order = 10
/datum/design/item/pda/AssembleDesignName()
..()
name = "PDA Design ([item_name])"
/datum/design/item/pda/pda
name = "PDA"
desc = "Cheaper than whiny non-digital assistants."
req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
build_path = /obj/item/device/pda
// Cartridges
/datum/design/item/pda/cart_basic
build_path = /obj/item/cartridge
/datum/design/item/pda/engineering
build_path = /obj/item/cartridge/engineering
/datum/design/item/pda/atmos
build_path = /obj/item/cartridge/atmos
/datum/design/item/pda/medical
build_path = /obj/item/cartridge/medical
/datum/design/item/pda/chemistry
build_path = /obj/item/cartridge/chemistry
/datum/design/item/pda/security
build_path = /obj/item/cartridge/security
/datum/design/item/pda/janitor
build_path = /obj/item/cartridge/janitor
/datum/design/item/pda/science
build_path = /obj/item/cartridge/signal/science
/datum/design/item/pda/quartermaster
build_path = /obj/item/cartridge/quartermaster
/datum/design/item/pda/hop
build_path = /obj/item/cartridge/hop
/datum/design/item/pda/hos
build_path = /obj/item/cartridge/hos
/datum/design/item/pda/ce
build_path = /obj/item/cartridge/ce
/datum/design/item/pda/cmo
build_path = /obj/item/cartridge/cmo
/datum/design/item/pda/rd
build_path = /obj/item/cartridge/rd
/datum/design/item/pda/captain
build_path = /obj/item/cartridge/captain
@@ -1,12 +1,10 @@
////////////////////////////////////////
//////////////////Power/////////////////
////////////////////////////////////////
/datum/design/item/powercell
build_type = PROTOLATHE | MECHFAB
category = "Misc" // For the mechfab
design_order = 7
/datum/design/item/powercell/AssembleDesignName()
name = "Power cell model ([item_name])"
name = "Power Cell Design ([item_name])"
/datum/design/item/powercell/AssembleDesignDesc()
if(build_path)
@@ -19,49 +17,31 @@
return C
/datum/design/item/powercell/basic
name = "basic"
build_type = PROTOLATHE | MECHFAB
id = "basic_cell"
name = "Basic"
req_tech = list(TECH_POWER = 1)
materials = list(DEFAULT_WALL_MATERIAL = 700, MATERIAL_GLASS = 50)
build_path = /obj/item/cell
category = "Misc"
sort_string = "DAAAA"
/datum/design/item/powercell/high
name = "high-capacity"
build_type = PROTOLATHE | MECHFAB
id = "high_cell"
name = "High-Capacity"
req_tech = list(TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 700, MATERIAL_GLASS = 60)
build_path = /obj/item/cell/high
category = "Misc"
sort_string = "DAAAB"
/datum/design/item/powercell/super
name = "super-capacity"
id = "super_cell"
name = "Super-Capacity"
req_tech = list(TECH_POWER = 3, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 700, MATERIAL_GLASS = 70)
build_path = /obj/item/cell/super
category = "Misc"
sort_string = "DAAAC"
/datum/design/item/powercell/hyper
name = "hyper-capacity"
id = "hyper_cell"
name = "Hyper-Capacity"
req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 400, MATERIAL_GOLD = 150, MATERIAL_SILVER = 150, MATERIAL_GLASS = 70)
build_path = /obj/item/cell/hyper
category = "Misc"
sort_string = "DAAAD"
/datum/design/item/powercell/device
name = "device"
build_type = PROTOLATHE | MECHFAB
id = "device_cell"
name = "Device"
req_tech = list(TECH_POWER = 1)
materials = list(DEFAULT_WALL_MATERIAL = 700, MATERIAL_GLASS = 50)
build_path = /obj/item/cell/device
category = "Misc"
sort_string = "DAAAE"
build_path = /obj/item/cell/device
@@ -1,176 +1,127 @@
////////////////////////////////////////
/////////////Stock Parts////////////////
////////////////////////////////////////
/datum/design/item/stock_part
build_type = PROTOLATHE
design_order = 0
/datum/design/item/stock_part/AssembleDesignName()
..()
name = "Component design ([item_name])"
name = "Machine Component Design ([capitalize_first_letters(item_name)])"
/datum/design/item/stock_part/AssembleDesignDesc()
if(!desc)
desc = "A stock part used in the construction of various devices."
/datum/design/item/stock_part/basic_capacitor
id = "basic_capacitor"
req_tech = list(TECH_POWER = 1)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
build_path = /obj/item/stock_parts/capacitor
sort_string = "CAAAA"
/datum/design/item/stock_part/adv_capacitor
id = "adv_capacitor"
req_tech = list(TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
build_path = /obj/item/stock_parts/capacitor/adv
sort_string = "CAAAB"
/datum/design/item/stock_part/super_capacitor
id = "super_capacitor"
req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50, MATERIAL_GOLD = 20)
build_path = /obj/item/stock_parts/capacitor/super
sort_string = "CAAAC"
/datum/design/item/stock_part/micro_mani
id = "micro_mani"
req_tech = list(TECH_MATERIAL = 1, TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30)
build_path = /obj/item/stock_parts/manipulator
sort_string = "CAABA"
/datum/design/item/stock_part/nano_mani
id = "nano_mani"
req_tech = list(TECH_MATERIAL = 3, TECH_DATA = 2)
materials = list(DEFAULT_WALL_MATERIAL = 30)
build_path = /obj/item/stock_parts/manipulator/nano
sort_string = "CAABB"
/datum/design/item/stock_part/pico_mani
id = "pico_mani"
req_tech = list(TECH_MATERIAL = 5, TECH_DATA = 2)
materials = list(DEFAULT_WALL_MATERIAL = 30)
build_path = /obj/item/stock_parts/manipulator/pico
sort_string = "CAABC"
/datum/design/item/stock_part/basic_matter_bin
id = "basic_matter_bin"
req_tech = list(TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 80)
build_path = /obj/item/stock_parts/matter_bin
sort_string = "CAACA"
/datum/design/item/stock_part/adv_matter_bin
id = "adv_matter_bin"
req_tech = list(TECH_MATERIAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 80)
build_path = /obj/item/stock_parts/matter_bin/adv
sort_string = "CAACB"
/datum/design/item/stock_part/super_matter_bin
id = "super_matter_bin"
req_tech = list(TECH_MATERIAL = 5)
materials = list(DEFAULT_WALL_MATERIAL = 80)
build_path = /obj/item/stock_parts/matter_bin/super
sort_string = "CAACC"
/datum/design/item/stock_part/basic_micro_laser
id = "basic_micro_laser"
req_tech = list(TECH_MAGNET = 1)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_GLASS = 20)
build_path = /obj/item/stock_parts/micro_laser
sort_string = "CAADA"
/datum/design/item/stock_part/high_micro_laser
id = "high_micro_laser"
req_tech = list(TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_GLASS = 20)
build_path = /obj/item/stock_parts/micro_laser/high
sort_string = "CAADB"
/datum/design/item/stock_part/ultra_micro_laser
id = "ultra_micro_laser"
req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_GLASS = 20, MATERIAL_URANIUM = 10)
build_path = /obj/item/stock_parts/micro_laser/ultra
sort_string = "CAADC"
/datum/design/item/stock_part/basic_sensor
id = "basic_sensor"
req_tech = list(TECH_MAGNET = 1)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 20)
build_path = /obj/item/stock_parts/scanning_module
sort_string = "CAAEA"
/datum/design/item/stock_part/adv_sensor
id = "adv_sensor"
req_tech = list(TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 20)
build_path = /obj/item/stock_parts/scanning_module/adv
sort_string = "CAAEB"
/datum/design/item/stock_part/phasic_sensor
id = "phasic_sensor"
req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 20, MATERIAL_SILVER = 10)
build_path = /obj/item/stock_parts/scanning_module/phasic
sort_string = "CAAEC"
/datum/design/item/stock_part/RPED
name = "Rapid Part Exchange Device"
desc = "Special mechanical module made to store, sort, and apply standard machine parts."
id = "rped"
req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GLASS = 5000)
build_path = /obj/item/storage/part_replacer
sort_string = "CBAAA"
/datum/design/item/stock_part/subspace_ansible
id = "s-ansible"
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(DEFAULT_WALL_MATERIAL = 80, MATERIAL_SILVER = 20)
build_path = /obj/item/stock_parts/subspace/ansible
sort_string = "UAAAA"
/datum/design/item/stock_part/hyperwave_filter
id = "s-filter"
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 40, MATERIAL_SILVER = 10)
build_path = /obj/item/stock_parts/subspace/filter
sort_string = "UAAAB"
/datum/design/item/stock_part/subspace_amplifier
id = "s-amplifier"
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_GOLD = 30, MATERIAL_URANIUM = 15)
build_path = /obj/item/stock_parts/subspace/amplifier
sort_string = "UAAAC"
/datum/design/item/stock_part/subspace_treatment
id = "s-treatment"
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_SILVER = 20)
build_path = /obj/item/stock_parts/subspace/treatment
sort_string = "UAAAD"
/datum/design/item/stock_part/subspace_analyzer
id = "s-analyzer"
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_GOLD = 15)
build_path = /obj/item/stock_parts/subspace/analyzer
sort_string = "UAAAE"
/datum/design/item/stock_part/subspace_crystal
id = "s-crystal"
req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(MATERIAL_GLASS = 1000, MATERIAL_SILVER = 20, MATERIAL_GOLD = 20)
build_path = /obj/item/stock_parts/subspace/crystal
sort_string = "UAAAF"
/datum/design/item/stock_part/subspace_transmitter
id = "s-transmitter"
req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3)
materials = list(MATERIAL_GLASS = 100, MATERIAL_SILVER = 10, MATERIAL_URANIUM = 15)
build_path = /obj/item/stock_parts/subspace/transmitter
sort_string = "UAAAG"
build_path = /obj/item/stock_parts/subspace/transmitter
@@ -0,0 +1,120 @@
/datum/design/item/tool
design_order = 1
/datum/design/item/tool/AssembleDesignName()
..()
name = "Advanced Tool Design ([item_name])"
/datum/design/item/tool/powerdrill
name = "Power Drill"
desc = "An advanced drill designed to be faster than other drills." // my sides - Geeves
req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 60, MATERIAL_GLASS = 50)
build_path = /obj/item/powerdrill
/datum/design/item/tool/experimental_welder
name = "Experimental Welding Tool"
desc = "A scientifically-enhanced welding tool that uses fuel-producing microbes to gradually replenish its fuel supply."
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 500)
build_path = /obj/item/weldingtool/experimental
datum/design/item/tool/advanced_light_replacer
name = "Advanced Light Replacer"
desc = "A specialised light replacer which stores more lights, refills faster from boxes, and sucks up broken bulbs."
req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 500)
build_path = /obj/item/device/lightreplacer/advanced
/datum/design/item/tool/advmop
name = "Advanced Mop"
desc = "The most advanced tool in a custodian's arsenal, complete with a condenser for self-wetting! Just think of all the viscera you will clean up with this!"
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 200)
build_path = /obj/item/mop/advanced
/datum/design/item/tool/blutrash
name = "Trashbag of Holding"
desc = "An advanced trash bag with bluespace properties; capable of holding a plethora of garbage."
build_type = PROTOLATHE
materials = list(MATERIAL_GOLD = 1500, MATERIAL_URANIUM = 250, MATERIAL_PHORON = 1500)
build_path = /obj/item/storage/bag/trash/bluespace
/datum/design/item/tool/mmi
name = "Man-Machine Interface"
req_tech = list(TECH_DATA = 2, TECH_BIO = 3)
build_type = PROTOLATHE | MECHFAB
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 500)
build_path = /obj/item/device/mmi
/datum/design/item/tool/mmi_radio
name = "Radio-enabled Man-Machine Interface"
req_tech = list(TECH_DATA = 2, TECH_BIO = 4)
build_type = PROTOLATHE | MECHFAB
materials = list(DEFAULT_WALL_MATERIAL = 1200, MATERIAL_GLASS = 500)
build_path = /obj/item/device/mmi/radio_enabled
/datum/design/item/tool/beacon
name = "Bluespace Tracking Beacon"
req_tech = list(TECH_BLUESPACE = 1)
materials = list (DEFAULT_WALL_MATERIAL = 20, MATERIAL_GLASS = 10)
build_path = /obj/item/device/radio/beacon
/datum/design/item/tool/bag_holding
name = "Bag of Holding"
desc = "Using localized pockets of bluespace this bag prototype offers incredible storage capacity with the contents weighting nothing. It's a shame the bag itself is pretty heavy."
req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6)
materials = list(MATERIAL_GOLD = 3000, MATERIAL_DIAMOND = 1500, MATERIAL_URANIUM = 250)
build_path = /obj/item/storage/backpack/holding
/datum/design/item/tool/bluespace_crystal
name = "Artificial Bluespace Crystal"
desc = "An artificially made bluespace crystal."
req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6)
materials = list(MATERIAL_GOLD = 1500, MATERIAL_DIAMOND = 1500, MATERIAL_PHORON = 1500)
build_path = /obj/item/bluespace_crystal/artificial
/datum/design/item/tool/binaryencrypt
name = "Binary Encryption Key"
desc = "Allows for deciphering the binary channel on-the-fly."
req_tech = list(TECH_ILLEGAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 300, MATERIAL_GLASS = 300)
build_path = /obj/item/device/encryptionkey/binary
/datum/design/item/tool/pin_extractor
name = "Pin Extraction Device"
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/pin_extractor
/datum/design/item/tool/analyzer
desc = "A hand-held environmental scanner which reports current gas levels."
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 20)
build_path = /obj/item/device/analyzer
/datum/design/item/tool/plant_analyzer
name = "Plant Analyzer"
desc = "A hand-held plant scanner for hydroponicists and xenobotanists."
req_tech = list(TECH_MAGNET = 2, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 80, MATERIAL_GLASS = 20)
build_path = /obj/item/device/analyzer/plant_analyzer
/datum/design/item/tool/implanter
name = "Implanter"
desc = "A specialized syringe for inserting implants to subjects."
req_tech = list(TECH_BIO = 5)
materials = list(DEFAULT_WALL_MATERIAL = 320, MATERIAL_GLASS = 800)
build_path = /obj/item/implanter
/datum/design/item/tool/paicard
name = "pAI"
req_tech = list(TECH_DATA = 2)
materials = list(MATERIAL_GLASS = 500, DEFAULT_WALL_MATERIAL = 500)
build_path = /obj/item/device/paicard
/datum/design/item/tool/intellicard
name = "intelliCard"
desc = "Allows for the construction of an intelliCard."
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
materials = list(MATERIAL_GLASS = 1000, MATERIAL_GOLD = 200)
build_path = /obj/item/aicard
@@ -0,0 +1,78 @@
/datum/design/item/weapon
design_order = 2
/datum/design/item/weapon/AssembleDesignName()
..()
name = "Advanced Weapon Design ([capitalize_first_letters(item_name)])"
/datum/design/item/weapon/AssembleDesignDesc()
if(!desc)
if(build_path)
var/obj/item/I = build_path
desc = initial(I.desc)
..()
/datum/design/item/weapon/gun/Fabricate()
var/obj/item/gun/C = ..()
if(SSATOMS_IS_PROBABLY_DONE)
qdel(C.pin)
else
C.pin = null
return C
/datum/design/item/weapon/flora_gun
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 500, MATERIAL_URANIUM = 500)
build_path = /obj/item/gun/energy/floragun
/datum/design/item/weapon/stunshell
desc = "A stunning shell for a shotgun."
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/ammo_casing/shotgun/stunshell
/datum/design/item/weapon/chemsprayer
desc = "An advanced chem spraying device."
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/reagent_containers/spray/chemsprayer
/datum/design/item/weapon/rapidsyringe
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/gun/launcher/syringe/rapid
/datum/design/item/weapon/temp_gun
desc = "A gun that shoots high-powered glass-encased energy temperature bullets."
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 500, MATERIAL_SILVER = 3000)
build_path = /obj/item/gun/energy/temperature
/datum/design/item/weapon/large_grenade
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/grenade/chem_grenade/large
/datum/design/item/weapon/eglaive
req_tech = list(TECH_COMBAT = 6, TECH_PHORON = 4, TECH_MATERIAL = 7, TECH_ILLEGAL = 4, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GLASS = 18750, MATERIAL_PHORON = 3000, MATERIAL_SILVER = 7500)
build_path = /obj/item/melee/energy/glaive
/datum/design/item/weapon/forcegloves
name = "Force Gloves"
desc = "These gloves bend gravity and bluespace, dampening inertia and augmenting the wearer's melee capabilities."
req_tech = list(TECH_COMBAT = 3, TECH_BLUESPACE = 3, TECH_ENGINEERING = 3, TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/clothing/gloves/force/basic
/datum/design/item/weapon/eshield
name = "Energy Shield"
desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere."
req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4, TECH_ILLEGAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 3000, MATERIAL_PHORON = 1000)
build_path = /obj/item/shield/energy
/datum/design/item/weapon/gun/beegun
req_tech = list(TECH_MATERIAL = 6, TECH_BIO = 4, TECH_POWER = 4, TECH_COMBAT = 6, TECH_MAGNET = 4)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 2000, MATERIAL_SILVER = 500, MATERIAL_DIAMOND = 3000)
build_path = /obj/item/gun/energy/beegun
@@ -1,572 +0,0 @@
////////////////////////////////////////
//////////////////Weapons/////////////////
////////////////////////////////////////
/datum/design/item/weapon/AssembleDesignName()
..()
name = "Weapon prototype ([item_name])"
/datum/design/item/weapon/AssembleDesignDesc()
if(!desc)
if(build_path)
var/obj/item/I = build_path
desc = initial(I.desc)
..()
/datum/design/item/weapon/gun/Fabricate()
var/obj/item/gun/C = ..()
if (SSATOMS_IS_PROBABLY_DONE)
qdel(C.pin)
else
C.pin = null
return C
/datum/design/item/weapon/flora_gun
id = "flora_gun"
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 500, MATERIAL_URANIUM = 500)
build_path = /obj/item/gun/energy/floragun
sort_string = "TBAAA"
/datum/design/item/weapon/stunshell
desc = "A stunning shell for a shotgun."
id = "stunshell"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/ammo_casing/shotgun/stunshell
sort_string = "TAACB"
/datum/design/item/weapon/chemsprayer
desc = "An advanced chem spraying device."
id = "chemsprayer"
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/reagent_containers/spray/chemsprayer
sort_string = "TABAA"
/datum/design/item/weapon/rapidsyringe
id = "rapidsyringe"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/gun/launcher/syringe/rapid
sort_string = "TABAB"
/datum/design/item/weapon/temp_gun
desc = "A gun that shoots high-powered glass-encased energy temperature bullets."
id = "temp_gun"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 500, MATERIAL_SILVER = 3000)
build_path = /obj/item/gun/energy/temperature
sort_string = "TABAC"
/datum/design/item/weapon/large_grenade
id = "large_Grenade"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/grenade/chem_grenade/large
sort_string = "TACAA"
/datum/design/item/weapon/eglaive
id = "eglaive"
name = "energy glaive"
desc = "A Li'idra designed hardlight glaive reverse-engineered from schematics found amongst raider wreckages."
req_tech = list(TECH_COMBAT = 6, TECH_PHORON = 4, TECH_MATERIAL = 7, TECH_ILLEGAL = 4,TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GLASS = 18750, MATERIAL_PHORON = 3000, MATERIAL_SILVER = 7500)
build_path = /obj/item/melee/energy/glaive
sort_string = "TVAAA"
/datum/design/item/forcegloves
name = "Force Gloves"
desc = "These gloves bend gravity and bluespace, dampening inertia and augmenting the wearer's melee capabilities."
id = "forcegloves"
req_tech = list(TECH_COMBAT = 3, TECH_BLUESPACE = 3, TECH_ENGINEERING = 3, TECH_MAGNET = 3)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/clothing/gloves/force/basic
category = "Weapons"
sort_string = "TVFAA"
/datum/design/item/eshield
name = "Energy Shield"
desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere."
id = "eshield"
req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4, TECH_ILLEGAL = 4)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 3000, MATERIAL_PHORON = 1000)
build_path = /obj/item/shield/energy
category = "Weapons"
sort_string = "TVHAA"
/datum/design/item/weapon/gun/beegun
id = "beegun"
req_tech = list(TECH_MATERIAL = 6, TECH_BIO = 4, TECH_POWER = 4, TECH_COMBAT = 6, TECH_MAGNET = 4)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 2000, MATERIAL_SILVER = 500, MATERIAL_DIAMOND = 3000)
build_path = /obj/item/gun/energy/beegun
sort_string = "TVMAA"
///MODULAR WEAPON COMPONENTS
/datum/design/item/weapon/modular_small
id = "stock_small"
req_tech = list(TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/device/laser_assembly
sort_string = "TZZAA"
/datum/design/item/weapon/modular_medium
id = "stock_medium"
req_tech = list(TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/device/laser_assembly/medium
sort_string = "TZZAB"
/datum/design/item/weapon/modular_large
id = "stock_large"
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 8000)
build_path = /obj/item/device/laser_assembly/large
sort_string = "TZZAC"
/datum/design/item/weapon/modular_cap
id = "stock_capacitor"
req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 1000)
build_path = /obj/item/laser_components/capacitor
sort_string = "TZZBA"
/datum/design/item/weapon/modular_starch
id = "stock_starch"
req_tech = list(TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 1000)
build_path = /obj/item/laser_components/capacitor/potato
sort_string = "TZZBB"
/datum/design/item/weapon/modular_capacitor_reinforced
id = "stock_reinforced_cap"
req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/laser_components/capacitor/reinforced
sort_string = "TZZBC"
/datum/design/item/weapon/modular_nuke
id = "stock_nuke_cap"
req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_URANIUM = 1000)
build_path = /obj/item/laser_components/capacitor/nuclear
sort_string = "TZZBD"
/datum/design/item/weapon/modular_teranium
id = "stock_teranium"
req_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 4, TECH_MAGNET = 6)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_GLASS = 1000, MATERIAL_URANIUM = 500)
build_path = /obj/item/laser_components/capacitor/teranium
sort_string = "TZZBE"
/datum/design/item/weapon/modular_phoron
id = "stock_phoron"
req_tech = list(TECH_POWER = 7, TECH_ENGINEERING = 5, TECH_PHORON = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_PHORON = 3000, MATERIAL_URANIUM = 500)
build_path = /obj/item/laser_components/capacitor/phoron
sort_string = "TZZBF"
/datum/design/item/weapon/modular_bs
id = "stock_bs"
req_tech = list(TECH_POWER = 7, TECH_ENGINEERING = 7, TECH_PHORON = 6, TECH_BLUESPACE = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_PHORON = 3000, MATERIAL_URANIUM = 500, MATERIAL_DIAMOND = 1000)
build_path = /obj/item/laser_components/capacitor/bluespace
sort_string = "TZZBG"
/datum/design/item/weapon/modular_lens
id = "stock_lens"
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 500, MATERIAL_GLASS = 2000)
build_path = /obj/item/laser_components/focusing_lens
sort_string = "TZZCA"
/datum/design/item/weapon/modular_splitter
id = "stock_splitter"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 2000)
build_path = /obj/item/laser_components/focusing_lens/shotgun
sort_string = "TZZCB"
/datum/design/item/weapon/modular_sniper
id = "stock_sniper"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 2000)
build_path = /obj/item/laser_components/focusing_lens/sniper
sort_string = "TZZCC"
/datum/design/item/weapon/modular_reinforced
id = "stock_strong"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/focusing_lens/strong
sort_string = "TZZCD"
/datum/design/item/weapon/modular_silent
id = "stock_silence"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modifier/silencer
sort_string = "TZZDA"
/datum/design/item/weapon/modular_aeg
id = "stock_aeg"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000, MATERIAL_URANIUM = 500)
build_path = /obj/item/laser_components/modifier/aeg
sort_string = "TZZDB"
/datum/design/item/weapon/modular_surge
id = "stock_surge"
req_tech = list(TECH_MATERIAL = 5, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/modifier/surge
sort_string = "TZZDC"
/datum/design/item/weapon/modular_repeater
id = "stock_repeater"
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/modifier/repeater
sort_string = "TZZDD"
/datum/design/item/weapon/modular_aux
id = "stock_aux"
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/modifier/auxiliarycap
sort_string = "TZZDE"
/datum/design/item/weapon/modular_overcharge
id = "stock_repeater"
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 4, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/laser_components/modifier/overcharge
sort_string = "TZZDF"
/datum/design/item/weapon/modular_gatling
id = "stock_gat"
req_tech = list(TECH_COMBAT = 6, TECH_PHORON = 5, TECH_MATERIAL = 6, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 3000, MATERIAL_PHORON = 2000, MATERIAL_SILVER = 2000, MATERIAL_DIAMOND = 1000)
build_path = /obj/item/laser_components/modifier/gatling
sort_string = "TZZDG"
/datum/design/item/weapon/modular_scope
id = "stock_scope"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 500)
build_path = /obj/item/laser_components/modifier/scope
sort_string = "TZZDH"
/datum/design/item/weapon/modular_barrel
id = "stock_barrel"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/barrel
sort_string = "TZZDI"
/datum/design/item/weapon/modular_vents
id = "stock_vents"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/vents
sort_string = "TZZDJ"
/datum/design/item/weapon/modular_stock
id = "stock_stock"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/stock
sort_string = "TZZDK"
/datum/design/item/weapon/modular_bayonet
id = "stock_bayonet"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/bayonet
sort_string = "TZZDL"
/datum/design/item/weapon/modular_ebayonet
id = "stock_ebayonet"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_SILVER = 500, MATERIAL_PHORON = 500)
build_path = /obj/item/laser_components/modifier/ebayonet
sort_string = "TZZDM"
/datum/design/item/weapon/modular_grip
id = "stock_grip"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/laser_components/modifier/grip
sort_string = "TZZDN"
/datum/design/item/weapon/modular_taser
id = "stock_taser"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/laser_components/modulator/taser
sort_string = "TZZEA"
/datum/design/item/weapon/modular_tesla
id = "stock_supertaser"
req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 6, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_SILVER = 1000, MATERIAL_PHORON = 2000)
build_path = /obj/item/laser_components/modulator/tesla
sort_string = "TZZEB"
/datum/design/item/weapon/modular_ion
id = "stock_ion"
req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 5)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 500, MATERIAL_PHORON = 2000)
build_path = /obj/item/laser_components/modulator/ion
sort_string = "TZZEC"
/datum/design/item/weapon/modular_soma
id = "stock_soma"
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 250, MATERIAL_URANIUM = 250)
build_path = /obj/item/laser_components/modulator/floramut
sort_string = "TZZED"
/datum/design/item/weapon/modular_beta
id = "stock_beta"
req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 250, MATERIAL_URANIUM = 250)
build_path = /obj/item/laser_components/modulator/floramut2
sort_string = "TZZEE"
/datum/design/item/weapon/modular_pest
id = "stock_pest"
req_tech = list(TECH_MATERIAL = 1, TECH_BIO = 4, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000, MATERIAL_URANIUM = 500)
build_path = /obj/item/laser_components/modulator/arodentia
sort_string = "TZZEF"
/datum/design/item/weapon/modular_tag1
id = "stock_tag1"
req_tech = list(TECH_COMBAT = 1, TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modulator/red
sort_string = "TZZEG"
/datum/design/item/weapon/modular_tag2
id = "stock_tag2"
req_tech = list(TECH_COMBAT = 1, TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modulator/blue
sort_string = "TZZEH"
/datum/design/item/weapon/modular_tag3
id = "stock_tag3"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modulator/omni
sort_string = "TZZEI"
/datum/design/item/weapon/modular_practice
id = "stock_practice"
req_tech = list(TECH_MATERIAL = 1)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/laser_components/modulator/practice
sort_string = "TZZEJ"
/datum/design/item/weapon/modular_decloner
id = "stock_declone"
req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000, MATERIAL_PHORON = 3000)
build_path = /obj/item/laser_components/modulator/decloner
sort_string = "TZZEK"
/datum/design/item/weapon/modular_ebow
id = "stock_ebow"
req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4, TECH_ILLEGAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000, MATERIAL_PHORON = 3000)
build_path = /obj/item/laser_components/modulator/ebow
sort_string = "TZZEL"
/datum/design/item/weapon/modular_blaster
id = "stock_blaster"
req_tech = list(TECH_COMBAT = 2, TECH_PHORON = 4, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 8000, MATERIAL_GLASS = 2000, MATERIAL_PHORON = 6000)
build_path = /obj/item/laser_components/modulator/blaster
sort_string = "TZZEM"
/datum/design/item/weapon/modular_laser
id = "stock_laser"
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 750, MATERIAL_GLASS = 500, MATERIAL_PHORON = 1000)
build_path = /obj/item/laser_components/modulator
sort_string = "TZZEN"
/datum/design/item/weapon/modular_tox
id = "stock_tox"
req_tech = list(TECH_COMBAT = 4, TECH_PHORON = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 1000, MATERIAL_PHORON = 2000)
build_path = /obj/item/laser_components/modulator/tox
sort_string = "TZZEO"
/datum/design/item/weapon/modular_net
id = "stock_net"
req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4, TECH_ILLEGAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000, MATERIAL_PHORON = 3000)
build_path = /obj/item/laser_components/modulator/net
sort_string = "TZZEP"
//Frames
/datum/design/item/weapon/ka_frame01
id = "ka_frame01"
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/gun/custom_ka/frame01
sort_string = "TZZFA"
/datum/design/item/weapon/ka_frame02
id = "ka_frame02"
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/gun/custom_ka/frame02
sort_string = "TZZFB"
/datum/design/item/weapon/ka_frame03
id = "ka_frame03"
req_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_SILVER = 2000)
build_path = /obj/item/gun/custom_ka/frame03
sort_string = "TZZFC"
/datum/design/item/weapon/ka_frame04
id = "ka_frame04"
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 5)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_SILVER = 2000, MATERIAL_DIAMOND = 1000)
build_path = /obj/item/gun/custom_ka/frame04
sort_string = "TZZFD"
/datum/design/item/weapon/ka_frame05
id = "ka_frame05"
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 6)
materials = list(DEFAULT_WALL_MATERIAL = 6000, MATERIAL_SILVER = 4000, MATERIAL_DIAMOND = 2000)
build_path = /obj/item/gun/custom_ka/frame05
sort_string = "TZZFE"
//Cells
/datum/design/item/weapon/ka_cell01
id = "ka_cell01"
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 1,TECH_POWER = 1)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell01
sort_string = "TZZGA"
/datum/design/item/weapon/ka_cell02
id = "ka_cell02"
req_tech = list(TECH_MATERIAL = 3,TECH_ENGINEERING = 1,TECH_MAGNET = 1,TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000, MATERIAL_SILVER = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell02
sort_string = "TZZGB"
/datum/design/item/weapon/ka_cell03
id = "ka_cell03"
req_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 3,TECH_MAGNET = 2,TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 3000, MATERIAL_SILVER = 3000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/cells/cell03
sort_string = "TZZGC"
/datum/design/item/weapon/ka_cell04
id = "ka_cell04"
req_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 4,TECH_MAGNET = 3,TECH_POWER = 5)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_GLASS = 3000, MATERIAL_SILVER = 3000, MATERIAL_GOLD = 1000, MATERIAL_URANIUM = 5000)
build_path = /obj/item/custom_ka_upgrade/cells/cell04
sort_string = "TZZGD"
/datum/design/item/weapon/ka_cell05
id = "ka_cell05"
req_tech = list(TECH_MATERIAL = 5,TECH_ENGINEERING = 6,TECH_MAGNET = 5,TECH_POWER = 5, TECH_PHORON = 5)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 3000, MATERIAL_SILVER = 3000, MATERIAL_GOLD = 1000, MATERIAL_PHORON = 5000)
build_path = /obj/item/custom_ka_upgrade/cells/cell05
sort_string = "TZZGE"
//Barrels
/datum/design/item/weapon/ka_barrel01
id = "ka_barrel01"
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 1, TECH_PHORON = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 2000, MATERIAL_PHORON = 500)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel01
sort_string = "TZZHA"
/datum/design/item/weapon/ka_barrel02
id = "ka_barrel02"
req_tech = list(TECH_MATERIAL = 1,TECH_ENGINEERING = 1,TECH_MAGNET = 3, TECH_PHORON = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 2000, MATERIAL_PHORON = 500)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel02
sort_string = "TZZHB"
/datum/design/item/weapon/ka_barrel03
id = "ka_barrel03"
req_tech = list(TECH_MATERIAL = 4,TECH_ENGINEERING = 3,TECH_MAGNET = 3, TECH_PHORON = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 2000, MATERIAL_PHORON = 1000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel03
sort_string = "TZZHC"
/datum/design/item/weapon/ka_barrel04
id = "ka_barrel04"
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 3,TECH_MAGNET = 5, TECH_PHORON = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 3000, MATERIAL_GOLD = 3000, MATERIAL_PHORON = 3000, MATERIAL_DIAMOND = 1000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel04
sort_string = "TZZHD"
/datum/design/item/weapon/ka_barrel05
id = "ka_barrel05"
req_tech = list(TECH_MATERIAL = 6,TECH_ENGINEERING = 5,TECH_MAGNET = 6, TECH_PHORON = 5)
materials = list(DEFAULT_WALL_MATERIAL = 6000, MATERIAL_GLASS = 4000, MATERIAL_GOLD = 4000, MATERIAL_PHORON = 4000, MATERIAL_DIAMOND = 2000)
build_path = /obj/item/custom_ka_upgrade/barrels/barrel05
sort_string = "TZZHE"
//Upgrades
/datum/design/item/weapon/ka_upgrade01
id = "ka_upgrade01"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/damage
sort_string = "TZZIA"
/datum/design/item/weapon/ka_upgrade02
id = "ka_upgrade02"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/firerate
sort_string = "TZZIB"
/datum/design/item/weapon/ka_upgrade03
id = "ka_upgrade03"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/effeciency
sort_string = "TZZIC"
/datum/design/item/weapon/ka_upgrade04
id = "ka_upgrade04"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/recoil
sort_string = "TZZID"
/datum/design/item/weapon/ka_upgrade05
id = "ka_upgrade05"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/focusing
sort_string = "TZZIE"
/datum/design/item/weapon/ka_upgrade06
id = "ka_upgrade06"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/capacity
sort_string = "TZZIF"
/datum/design/item/weapon/ka_upgrade07
id = "ka_upgrade07"
req_tech = list(TECH_POWER = 4,TECH_MAGNET = 4, TECH_DATA = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
build_path = /obj/item/custom_ka_upgrade/upgrade_chips/explosive
sort_string = "TZZIG"
+6 -6
View File
@@ -223,7 +223,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else if(href_list["copy_design"]) //Copy design data from the research holder to the design disk.
for(var/datum/design/D in files.known_designs)
if(href_list["copy_design_ID"] == D.id)
if("[D.type]" == href_list["copy_design_ID"])
d_disk.blueprint = D
break
screen = 1.4
@@ -308,7 +308,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_lathe)
var/datum/design/being_built = null
for(var/datum/design/D in files.known_designs)
if(D.id == href_list["build"])
if("[D.type]" == href_list["build"])
being_built = D
break
if(being_built)
@@ -321,7 +321,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_imprinter)
var/datum/design/being_built = null
for(var/datum/design/D in files.known_designs)
if(D.id == href_list["imprint"])
if("[D.type]" == text2path(href_list["imprint"]))
being_built = D
break
if(being_built)
@@ -574,7 +574,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
for(var/datum/design/D in files.known_designs)
if(D.build_path)
dat += "<LI>[D.name] "
dat += "<A href='?src=\ref[src];copy_design=1;copy_design_ID=[D.id]'>\[copy to disk\]</A>"
dat += "<A href='?src=\ref[src];copy_design=1;copy_design_ID=[D.type]'>\[copy to disk\]</A>"
dat += "</UL>"
if(1.6) //R&D console settings
@@ -662,7 +662,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(temp_dat)
temp_dat = " \[[copytext(temp_dat, 3)]\]"
if(linked_lathe.canBuild(D))
dat += "<LI><B><A href='?src=\ref[src];build=[D.id]'>[D.name]</A></B>[temp_dat]"
dat += "<LI><B><A href='?src=\ref[src];build=[D.type]'>[D.name]</A></B>[temp_dat]"
else
dat += "<LI><B>[D.name]</B>[temp_dat]"
dat += "</UL>"
@@ -738,7 +738,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(temp_dat)
temp_dat = " \[[copytext(temp_dat,3)]\]"
if(linked_imprinter.canBuild(D))
dat += "<LI><B><A href='?src=\ref[src];imprint=[D.id]'>[D.name]</A></B>[temp_dat]"
dat += "<LI><B><A href='?src=\ref[src];imprint=[D.type]'>[D.name]</A></B>[temp_dat]"
else
dat += "<LI><B>[D.name]</B>[temp_dat]"
dat += "</UL>"
+2 -2
View File
@@ -110,9 +110,9 @@ research holder datum.
return
for(var/i = 1 to known_designs.len)
var/datum/design/A = known_designs[i]
if(A.id == D.id) // We are guaranteed to reach this if the ids are the same, because sort_string will also be the same
if("[A.type]" == "[D.type]") // We are guaranteed to reach this if the ids are the same, because sort_string will also be the same
return
if(A.sort_string > D.sort_string)
if(A.design_order > D.design_order)
known_designs.Insert(i, D)
return
known_designs.Add(D)
+2 -2
View File
@@ -241,7 +241,7 @@
var/choice = alert("Design Data Deletion", "Are you sure you want to delete this design? If you still have the prerequisites for the design, it'll reset to its base reliability. Data lost cannot be recovered.", "Continue", "Cancel")
if(choice == "Continue")
for(var/datum/design/D in temp_server.files.known_designs)
if(D.id == href_list["reset_design"])
if("[D.type]" == href_list["reset_design"])
temp_server.files.known_designs -= D
break
temp_server.files.RefreshResearch()
@@ -297,7 +297,7 @@
dat += "Known Designs<BR>"
for(var/datum/design/D in temp_server.files.known_designs)
dat += "* [D.name] "
dat += "<A href='?src=\ref[src];reset_design=[D.id]'>(Delete)</A><BR>"
dat += "<A href='?src=\ref[src];reset_design=[D.type]'>(Delete)</A><BR>"
dat += "<HR><A href='?src=\ref[src];main=1'>Main Menu</A>"
if(3) //Server Data Transfer
+6
View File
@@ -0,0 +1,6 @@
author: Geeves
delete-after: True
changes:
- tweak: "Everything in mechfab and RnD consoles has been re-ordered and tweaked in some way, it should be organized better now."