diff --git a/aurorastation.dme b/aurorastation.dme index 9a35dabb792..6d2c00f6aea 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -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" diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm deleted file mode 100644 index 7ec21de0601..00000000000 --- a/code/modules/research/designs.dm +++ /dev/null @@ -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" diff --git a/code/modules/research/designs/AI_modules_designs.dm b/code/modules/research/designs/AI_modules_designs.dm deleted file mode 100644 index 8261cc377b1..00000000000 --- a/code/modules/research/designs/AI_modules_designs.dm +++ /dev/null @@ -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" \ No newline at end of file diff --git a/code/modules/research/designs/circuit/AI_law_boards.dm b/code/modules/research/designs/circuit/AI_law_boards.dm new file mode 100644 index 00000000000..bc8d6ff065a --- /dev/null +++ b/code/modules/research/designs/circuit/AI_law_boards.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/circuit/circuits.dm b/code/modules/research/designs/circuit/circuits.dm new file mode 100644 index 00000000000..ea819a5b7e9 --- /dev/null +++ b/code/modules/research/designs/circuit/circuits.dm @@ -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." \ No newline at end of file diff --git a/code/modules/research/designs/circuit/computer_circuits.dm b/code/modules/research/designs/circuit/computer_circuits.dm new file mode 100644 index 00000000000..94d7622bd45 --- /dev/null +++ b/code/modules/research/designs/circuit/computer_circuits.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/circuit/exosuit_circuits.dm b/code/modules/research/designs/circuit/exosuit_circuits.dm new file mode 100644 index 00000000000..26e86027d47 --- /dev/null +++ b/code/modules/research/designs/circuit/exosuit_circuits.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/circuit/hardsuit_circuits.dm b/code/modules/research/designs/circuit/hardsuit_circuits.dm new file mode 100644 index 00000000000..40678ccac7d --- /dev/null +++ b/code/modules/research/designs/circuit/hardsuit_circuits.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/circuit/machine_circuits.dm b/code/modules/research/designs/circuit/machine_circuits.dm new file mode 100644 index 00000000000..e52e7db6896 --- /dev/null +++ b/code/modules/research/designs/circuit/machine_circuits.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/circuit/misc_electronics.dm b/code/modules/research/designs/circuit/misc_electronics.dm new file mode 100644 index 00000000000..c055bf1b41b --- /dev/null +++ b/code/modules/research/designs/circuit/misc_electronics.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/circuit/shield_designs.dm b/code/modules/research/designs/circuit/shield_designs.dm new file mode 100644 index 00000000000..9e07f163b51 --- /dev/null +++ b/code/modules/research/designs/circuit/shield_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/tcom_designs.dm b/code/modules/research/designs/circuit/tcom_designs.dm similarity index 61% rename from code/modules/research/designs/tcom_designs.dm rename to code/modules/research/designs/circuit/tcom_designs.dm index e497debe351..ae683051a49 100644 --- a/code/modules/research/designs/tcom_designs.dm +++ b/code/modules/research/designs/circuit/tcom_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/circuit_designs.dm b/code/modules/research/designs/circuit_designs.dm deleted file mode 100644 index 6a1ce2613d2..00000000000 --- a/code/modules/research/designs/circuit_designs.dm +++ /dev/null @@ -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" diff --git a/code/modules/research/designs/designs.dm b/code/modules/research/designs/designs.dm new file mode 100644 index 00000000000..af976b35994 --- /dev/null +++ b/code/modules/research/designs/designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/mechfab/hardsuit/modules.dm b/code/modules/research/designs/mechfab/hardsuit/modules.dm index abf8f6d0144..116b5d9eaa2 100644 --- a/code/modules/research/designs/mechfab/hardsuit/modules.dm +++ b/code/modules/research/designs/mechfab/hardsuit/modules.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/mechfab/hardsuit/rigs.dm b/code/modules/research/designs/mechfab/hardsuit/rigs.dm index 9bdc94bb4fc..9947e05e038 100644 --- a/code/modules/research/designs/mechfab/hardsuit/rigs.dm +++ b/code/modules/research/designs/mechfab/hardsuit/rigs.dm @@ -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) \ No newline at end of file diff --git a/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm b/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm index 0cb4e875661..3f7e0a24564 100644 --- a/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm +++ b/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/mechfab/prosthetics/external.dm b/code/modules/research/designs/mechfab/prosthetics/external.dm index 3576d6a3e29..40a87da9ed4 100644 --- a/code/modules/research/designs/mechfab/prosthetics/external.dm +++ b/code/modules/research/designs/mechfab/prosthetics/external.dm @@ -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) \ No newline at end of file diff --git a/code/modules/research/designs/mechfab/prosthetics/internal.dm b/code/modules/research/designs/mechfab/prosthetics/internal.dm index 9e92d70d068..c970d9256a4 100644 --- a/code/modules/research/designs/mechfab/prosthetics/internal.dm +++ b/code/modules/research/designs/mechfab/prosthetics/internal.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/mechfab/robot/robot.dm b/code/modules/research/designs/mechfab/robot/robot.dm index 738083192cc..3f0363a1d8a 100644 --- a/code/modules/research/designs/mechfab/robot/robot.dm +++ b/code/modules/research/designs/mechfab/robot/robot.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/mechfab/robot/robot_upgrades.dm b/code/modules/research/designs/mechfab/robot/robot_upgrades.dm index 06de81cacbd..0b2f2260c24 100644 --- a/code/modules/research/designs/mechfab/robot/robot_upgrades.dm +++ b/code/modules/research/designs/mechfab/robot/robot_upgrades.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm deleted file mode 100644 index 0393cadc021..00000000000 --- a/code/modules/research/designs/mining_designs.dm +++ /dev/null @@ -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" \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/disk_designs.dm b/code/modules/research/designs/protolathe/disk_designs.dm new file mode 100644 index 00000000000..e0e33886d93 --- /dev/null +++ b/code/modules/research/designs/protolathe/disk_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/hud_glasses_designs.dm b/code/modules/research/designs/protolathe/hud_glasses_designs.dm new file mode 100644 index 00000000000..0d3f3582d1f --- /dev/null +++ b/code/modules/research/designs/protolathe/hud_glasses_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/implant_designs.dm b/code/modules/research/designs/protolathe/implant_designs.dm new file mode 100644 index 00000000000..d9ef30e74fa --- /dev/null +++ b/code/modules/research/designs/protolathe/implant_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/integrated_electronics_designs.dm b/code/modules/research/designs/protolathe/integrated_electronics_designs.dm new file mode 100644 index 00000000000..5ffe37b38dc --- /dev/null +++ b/code/modules/research/designs/protolathe/integrated_electronics_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/protolathe/medical_designs.dm similarity index 83% rename from code/modules/research/designs/medical_designs.dm rename to code/modules/research/designs/protolathe/medical_designs.dm index 67dcf06c7ef..3a53a3af1b0 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/protolathe/medical_designs.dm @@ -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" \ No newline at end of file + +/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 \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/mining_designs.dm b/code/modules/research/designs/protolathe/mining_designs.dm new file mode 100644 index 00000000000..35bb4e9fa34 --- /dev/null +++ b/code/modules/research/designs/protolathe/mining_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/modular_computer_designs.dm b/code/modules/research/designs/protolathe/modular_computer_designs.dm similarity index 70% rename from code/modules/research/designs/modular_computer_designs.dm rename to code/modules/research/designs/protolathe/modular_computer_designs.dm index bd2e7446686..3417f8e3529 100644 --- a/code/modules/research/designs/modular_computer_designs.dm +++ b/code/modules/research/designs/protolathe/modular_computer_designs.dm @@ -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" \ No newline at end of file + build_path = /obj/item/computer_hardware/ai_slot \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/modular_gun_designs.dm b/code/modules/research/designs/protolathe/modular_gun_designs.dm new file mode 100644 index 00000000000..09593e43616 --- /dev/null +++ b/code/modules/research/designs/protolathe/modular_gun_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/pda_designs.dm b/code/modules/research/designs/protolathe/pda_designs.dm new file mode 100644 index 00000000000..1db98bf914b --- /dev/null +++ b/code/modules/research/designs/protolathe/pda_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/protolathe/power_designs.dm similarity index 65% rename from code/modules/research/designs/power_designs.dm rename to code/modules/research/designs/protolathe/power_designs.dm index 6e7dee96432..d937b79871e 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/protolathe/power_designs.dm @@ -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" \ No newline at end of file + build_path = /obj/item/cell/device \ No newline at end of file diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/protolathe/stock_parts_designs.dm similarity index 80% rename from code/modules/research/designs/stock_parts_designs.dm rename to code/modules/research/designs/protolathe/stock_parts_designs.dm index c15641f7016..431ec5523a6 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/protolathe/stock_parts_designs.dm @@ -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" \ No newline at end of file + build_path = /obj/item/stock_parts/subspace/transmitter \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/tool_designs.dm b/code/modules/research/designs/protolathe/tool_designs.dm new file mode 100644 index 00000000000..7764766f376 --- /dev/null +++ b/code/modules/research/designs/protolathe/tool_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/protolathe/weapon_designs.dm b/code/modules/research/designs/protolathe/weapon_designs.dm new file mode 100644 index 00000000000..4e1cd13912a --- /dev/null +++ b/code/modules/research/designs/protolathe/weapon_designs.dm @@ -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 \ No newline at end of file diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm deleted file mode 100644 index 742c4bf38dd..00000000000 --- a/code/modules/research/designs/weapon_designs.dm +++ /dev/null @@ -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" diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index d4ec3ad209f..a99b0857c21 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -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 += "