From 2a8564e7d4c8d66f15947a70ee39a1e3f16b9b7f Mon Sep 17 00:00:00 2001 From: Geeves Date: Sat, 28 Mar 2020 10:30:46 +0200 Subject: [PATCH] RnD Rearrangement (#8494) --- aurorastation.dme | 33 +- code/modules/research/designs.dm | 462 -------------- .../research/designs/AI_modules_designs.dm | 128 ---- .../research/designs/circuit/AI_law_boards.dm | 81 +++ .../research/designs/circuit/circuits.dm | 14 + .../designs/circuit/computer_circuits.dm | 96 +++ .../designs/circuit/exosuit_circuits.dm | 33 + .../designs/circuit/hardsuit_circuits.dm | 61 ++ .../designs/circuit/machine_circuits.dm | 222 +++++++ .../designs/circuit/misc_electronics.dm | 12 + .../designs/circuit/shield_designs.dm | 25 + .../designs/{ => circuit}/tcom_designs.dm | 41 +- .../research/designs/circuit_designs.dm | 554 ----------------- code/modules/research/designs/designs.dm | 65 ++ .../designs/mechfab/hardsuit/modules.dm | 52 +- .../research/designs/mechfab/hardsuit/rigs.dm | 24 +- .../designs/mechfab/mechs/designs_exosuits.dm | 172 ++---- .../designs/mechfab/prosthetics/external.dm | 24 +- .../designs/mechfab/prosthetics/internal.dm | 5 - .../research/designs/mechfab/robot/robot.dm | 37 +- .../designs/mechfab/robot/robot_upgrades.dm | 23 +- .../research/designs/mining_designs.dm | 75 --- .../designs/protolathe/disk_designs.dm | 26 + .../designs/protolathe/hud_glasses_designs.dm | 27 + .../designs/protolathe/implant_designs.dm | 17 + .../integrated_electronics_designs.dm | 74 +++ .../{ => protolathe}/medical_designs.dm | 94 +-- .../designs/protolathe/mining_designs.dm | 150 +++++ .../modular_computer_designs.dm | 135 ++--- .../designs/protolathe/modular_gun_designs.dm | 226 +++++++ .../designs/protolathe/pda_designs.dm | 61 ++ .../designs/{ => protolathe}/power_designs.dm | 38 +- .../{ => protolathe}/stock_parts_designs.dm | 55 +- .../designs/protolathe/tool_designs.dm | 120 ++++ .../designs/protolathe/weapon_designs.dm | 78 +++ .../research/designs/weapon_designs.dm | 572 ------------------ code/modules/research/rdconsole.dm | 12 +- code/modules/research/research.dm | 4 +- code/modules/research/server.dm | 4 +- html/changelogs/geeves-RnD_things.yml | 6 + 40 files changed, 1619 insertions(+), 2319 deletions(-) delete mode 100644 code/modules/research/designs.dm delete mode 100644 code/modules/research/designs/AI_modules_designs.dm create mode 100644 code/modules/research/designs/circuit/AI_law_boards.dm create mode 100644 code/modules/research/designs/circuit/circuits.dm create mode 100644 code/modules/research/designs/circuit/computer_circuits.dm create mode 100644 code/modules/research/designs/circuit/exosuit_circuits.dm create mode 100644 code/modules/research/designs/circuit/hardsuit_circuits.dm create mode 100644 code/modules/research/designs/circuit/machine_circuits.dm create mode 100644 code/modules/research/designs/circuit/misc_electronics.dm create mode 100644 code/modules/research/designs/circuit/shield_designs.dm rename code/modules/research/designs/{ => circuit}/tcom_designs.dm (61%) delete mode 100644 code/modules/research/designs/circuit_designs.dm create mode 100644 code/modules/research/designs/designs.dm delete mode 100644 code/modules/research/designs/mining_designs.dm create mode 100644 code/modules/research/designs/protolathe/disk_designs.dm create mode 100644 code/modules/research/designs/protolathe/hud_glasses_designs.dm create mode 100644 code/modules/research/designs/protolathe/implant_designs.dm create mode 100644 code/modules/research/designs/protolathe/integrated_electronics_designs.dm rename code/modules/research/designs/{ => protolathe}/medical_designs.dm (83%) create mode 100644 code/modules/research/designs/protolathe/mining_designs.dm rename code/modules/research/designs/{ => protolathe}/modular_computer_designs.dm (70%) create mode 100644 code/modules/research/designs/protolathe/modular_gun_designs.dm create mode 100644 code/modules/research/designs/protolathe/pda_designs.dm rename code/modules/research/designs/{ => protolathe}/power_designs.dm (65%) rename code/modules/research/designs/{ => protolathe}/stock_parts_designs.dm (80%) create mode 100644 code/modules/research/designs/protolathe/tool_designs.dm create mode 100644 code/modules/research/designs/protolathe/weapon_designs.dm delete mode 100644 code/modules/research/designs/weapon_designs.dm create mode 100644 html/changelogs/geeves-RnD_things.yml 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 += "
  • [D.name] " - dat += "\[copy to disk\]" + dat += "\[copy to disk\]" dat += "" if(1.6) //R&D console settings @@ -662,7 +662,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(temp_dat) temp_dat = " \[[copytext(temp_dat, 3)]\]" if(linked_lathe.canBuild(D)) - dat += "
  • [D.name][temp_dat]" + dat += "
  • [D.name][temp_dat]" else dat += "
  • [D.name][temp_dat]" dat += "" @@ -738,7 +738,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(temp_dat) temp_dat = " \[[copytext(temp_dat,3)]\]" if(linked_imprinter.canBuild(D)) - dat += "
  • [D.name][temp_dat]" + dat += "
  • [D.name][temp_dat]" else dat += "
  • [D.name][temp_dat]" dat += "" diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index e68581c71e4..057af278df6 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -110,9 +110,9 @@ research holder datum. return for(var/i = 1 to known_designs.len) var/datum/design/A = known_designs[i] - if(A.id == D.id) // We are guaranteed to reach this if the ids are the same, because sort_string will also be the same + if("[A.type]" == "[D.type]") // We are guaranteed to reach this if the ids are the same, because sort_string will also be the same return - if(A.sort_string > D.sort_string) + if(A.design_order > D.design_order) known_designs.Insert(i, D) return known_designs.Add(D) diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index bec7e439f0a..3a0f1ecddef 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -241,7 +241,7 @@ var/choice = alert("Design Data Deletion", "Are you sure you want to delete this design? If you still have the prerequisites for the design, it'll reset to its base reliability. Data lost cannot be recovered.", "Continue", "Cancel") if(choice == "Continue") for(var/datum/design/D in temp_server.files.known_designs) - if(D.id == href_list["reset_design"]) + if("[D.type]" == href_list["reset_design"]) temp_server.files.known_designs -= D break temp_server.files.RefreshResearch() @@ -297,7 +297,7 @@ dat += "Known Designs
    " for(var/datum/design/D in temp_server.files.known_designs) dat += "* [D.name] " - dat += "(Delete)
    " + dat += "(Delete)
    " dat += "
    Main Menu" if(3) //Server Data Transfer diff --git a/html/changelogs/geeves-RnD_things.yml b/html/changelogs/geeves-RnD_things.yml new file mode 100644 index 00000000000..78d68a2ec91 --- /dev/null +++ b/html/changelogs/geeves-RnD_things.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - tweak: "Everything in mechfab and RnD consoles has been re-ordered and tweaked in some way, it should be organized better now."