From 0b31dcace5614a0b70df7bbdbc8d8223704c0f88 Mon Sep 17 00:00:00 2001 From: Atermonera Date: Wed, 25 Sep 2019 22:59:00 -0800 Subject: [PATCH] Properly sorts all protolathe designs --- .../hardware/portable_hard_drive.dm | 2 +- code/modules/research/designs.dm | 20 +- code/modules/research/designs/HUDs.dm | 47 +++ code/modules/research/designs/ai_holders.dm | 51 ++++ .../research/designs/bag_of_holding.dm | 23 ++ code/modules/research/designs/beakers.dm | 22 ++ code/modules/research/designs/bio_devices.dm | 61 ++++ .../research/designs/circuit_assembly.dm | 158 +++++----- .../designs/{ => circuits}/ai_modules.dm | 12 +- .../designs/{ => circuits}/circuits.dm | 0 code/modules/research/designs/engineering.dm | 74 +++++ code/modules/research/designs/illegal.dm | 35 --- code/modules/research/designs/implants.dm | 22 ++ .../research/designs/locator_devices.dm | 80 ++++++ code/modules/research/designs/medical.dm | 156 ++-------- code/modules/research/designs/mining_toys.dm | 38 ++- code/modules/research/designs/misc.dm | 268 +++-------------- .../research/designs/modular_computer.dm | 180 ++++++------ code/modules/research/designs/pdas.dm | 41 +-- .../designs/{powercells.dm => power_cells.dm} | 12 +- code/modules/research/designs/precursor.dm | 139 ++++----- .../research/designs/sort_string_readme.dm | 91 ++++++ code/modules/research/designs/stock_parts.dm | 271 ++++++++---------- .../research/designs/subspace_parts.dm | 54 ++++ code/modules/research/designs/tech_disks.dm | 21 ++ code/modules/research/designs/weapons.dm | 220 ++++++++++---- .../modules/research/designs/xenoarch_toys.dm | 31 ++ code/modules/research/designs/xenobio_toys.dm | 30 ++ vorestation.dme | 22 +- 29 files changed, 1253 insertions(+), 928 deletions(-) create mode 100644 code/modules/research/designs/HUDs.dm create mode 100644 code/modules/research/designs/ai_holders.dm create mode 100644 code/modules/research/designs/bag_of_holding.dm create mode 100644 code/modules/research/designs/beakers.dm create mode 100644 code/modules/research/designs/bio_devices.dm rename code/modules/research/designs/{ => circuits}/ai_modules.dm (89%) rename code/modules/research/designs/{ => circuits}/circuits.dm (100%) create mode 100644 code/modules/research/designs/engineering.dm delete mode 100644 code/modules/research/designs/illegal.dm create mode 100644 code/modules/research/designs/implants.dm create mode 100644 code/modules/research/designs/locator_devices.dm rename code/modules/research/designs/{powercells.dm => power_cells.dm} (93%) create mode 100644 code/modules/research/designs/sort_string_readme.dm create mode 100644 code/modules/research/designs/subspace_parts.dm create mode 100644 code/modules/research/designs/tech_disks.dm create mode 100644 code/modules/research/designs/xenoarch_toys.dm create mode 100644 code/modules/research/designs/xenobio_toys.dm diff --git a/code/modules/modular_computers/hardware/portable_hard_drive.dm b/code/modules/modular_computers/hardware/portable_hard_drive.dm index 9a0feb3653..817fca789e 100644 --- a/code/modules/modular_computers/hardware/portable_hard_drive.dm +++ b/code/modules/modular_computers/hardware/portable_hard_drive.dm @@ -1,5 +1,5 @@ // These are basically USB data sticks and may be used to transfer files between devices -/obj/item/weapon/computer_hardware/hard_drive/portable/ +/obj/item/weapon/computer_hardware/hard_drive/portable name = "basic data crystal" desc = "Small crystal with imprinted photonic circuits that can be used to store data. Its capacity is 16 GQ." power_usage = 10 diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 106c655ae2..938495b00f 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -61,22 +61,4 @@ other types of metals and chemistry for reagents). 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, "glass" = 10) - build_path = /obj/item/weapon/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, "glass" = 10) - build_path = /obj/item/weapon/disk/tech_disk - sort_string = "GAAAB" \ No newline at end of file + build_type = PROTOLATHE \ No newline at end of file diff --git a/code/modules/research/designs/HUDs.dm b/code/modules/research/designs/HUDs.dm new file mode 100644 index 0000000000..4a6648f26a --- /dev/null +++ b/code/modules/research/designs/HUDs.dm @@ -0,0 +1,47 @@ +// HUDs + +/datum/design/item/hud + materials = list(DEFAULT_WALL_MATERIAL = 50, "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 = "EAAAA" + +/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 = "EAAAB" + +/datum/design/item/hud/mesons + name = "optical meson scanner" + id = "mesons" + req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) + build_path = /obj/item/clothing/glasses/meson + sort_string = "EAAAC" + +/datum/design/item/hud/material + name = "optical material scanner" + id = "material" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3) + build_path = /obj/item/clothing/glasses/material + sort_string = "EAAAD" + +/datum/design/item/hud/graviton_visor + name = "graviton visor" + id = "graviton_goggles" + req_tech = list(TECH_MAGNET = 5, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3, TECH_PHORON = 3) + materials = list(MAT_PLASTEEL = 2000, "glass" = 3000, MAT_PHORON = 1500) + build_path = /obj/item/clothing/glasses/graviton + sort_string = "EAAAE" \ No newline at end of file diff --git a/code/modules/research/designs/ai_holders.dm b/code/modules/research/designs/ai_holders.dm new file mode 100644 index 0000000000..8cdcafbd6c --- /dev/null +++ b/code/modules/research/designs/ai_holders.dm @@ -0,0 +1,51 @@ +// Various AI/mind holding device +/datum/design/item/ai_holder/AssembleDesignName() + ..() + name = "Mind storage device prototype ([item_name])" + +/datum/design/item/ai_holder/mmi + name = "Man-machine interface" + id = "mmi" + req_tech = list(TECH_DATA = 2, TECH_BIO = 3) + build_type = PROTOLATHE | PROSFAB + materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500) + build_path = /obj/item/device/mmi + category = "Misc" + sort_string = "SAAAA" + +/datum/design/item/ai_holder/posibrain + name = "Positronic brain" + id = "posibrain" + req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 6, TECH_BLUESPACE = 2, TECH_DATA = 4) + build_type = PROTOLATHE | PROSFAB + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 500, "phoron" = 500, "diamond" = 100) + build_path = /obj/item/device/mmi/digital/posibrain + category = "Misc" + sort_string = "SAAAB" + +/datum/design/item/ai_holder/dronebrain + name = "Robotic intelligence circuit" + id = "dronebrain" + req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_DATA = 4) + build_type = PROTOLATHE | PROSFAB + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 500) + build_path = /obj/item/device/mmi/digital/robot + category = "Misc" + sort_string = "SAAAC" + +/datum/design/item/ai_holder/paicard + name = "'pAI', personal artificial intelligence device" + id = "paicard" + req_tech = list(TECH_DATA = 2) + materials = list("glass" = 500, DEFAULT_WALL_MATERIAL = 500) + build_path = /obj/item/device/paicard + sort_string = "SBAAA" + +/datum/design/item/ai_holder/intellicard + name = "intelliCore" + desc = "Allows for the construction of an intelliCore." + id = "intellicore" + req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4) + materials = list("glass" = 1000, "gold" = 200) + build_path = /obj/item/device/aicard + sort_string = "SCAAA" \ No newline at end of file diff --git a/code/modules/research/designs/bag_of_holding.dm b/code/modules/research/designs/bag_of_holding.dm new file mode 100644 index 0000000000..744bbca5a3 --- /dev/null +++ b/code/modules/research/designs/bag_of_holding.dm @@ -0,0 +1,23 @@ +// Bags of holding + +/datum/design/item/boh/AssembleDesignName() + ..() + name = "Infinite capacity storage prototype ([item_name])" + +/datum/design/item/boh/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." + id = "bag_holding" + req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) + materials = list("gold" = 3000, "diamond" = 1500, "uranium" = 250) + build_path = /obj/item/weapon/storage/backpack/holding + sort_string = "QAAAA" + +/datum/design/item/boh/dufflebag_holding + name = "DuffleBag of Holding" + desc = "A minaturized prototype of the popular Bag of Holding, the Dufflebag of Holding is, functionally, identical to the bag of holding, but comes in a more stylish and compact form." + id = "dufflebag_holding" + req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) + materials = list("gold" = 3000, "diamond" = 1500, "uranium" = 250) + build_path = /obj/item/weapon/storage/backpack/holding/duffle + sort_string = "QAAAB" \ No newline at end of file diff --git a/code/modules/research/designs/beakers.dm b/code/modules/research/designs/beakers.dm new file mode 100644 index 0000000000..fe231699d5 --- /dev/null +++ b/code/modules/research/designs/beakers.dm @@ -0,0 +1,22 @@ +// Various beakers + +/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/weapon/reagent_containers/glass/beaker/noreact + sort_string = "IAAAA" + +/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, "phoron" = 3000, "diamond" = 500) + build_path = /obj/item/weapon/reagent_containers/glass/beaker/bluespace + sort_string = "IAAAB" \ No newline at end of file diff --git a/code/modules/research/designs/bio_devices.dm b/code/modules/research/designs/bio_devices.dm new file mode 100644 index 0000000000..8762364105 --- /dev/null +++ b/code/modules/research/designs/bio_devices.dm @@ -0,0 +1,61 @@ +/datum/design/item/biotech + materials = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 20) + +/datum/design/item/biotech/AssembleDesignName() + ..() + name = "Biotech device prototype ([item_name])" + +// Biotech of various types + +/datum/design/item/biotech/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 = "JAAAA" + +/datum/design/item/biotech/adv_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 = "JAAAB" + +/datum/design/item/biotech/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 = "JAABA" + +/datum/design/item/biotech/adv_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 = "JAABB" + +/datum/design/item/biotech/robot_scanner + 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, "glass" = 200) + build_path = /obj/item/device/robotanalyzer + sort_string = "JAACA" + +/datum/design/item/biotech/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, "glass" = 7000) + build_path = /obj/item/stack/nanopaste + sort_string = "JAACB" + +/datum/design/item/biotech/plant_analyzer + desc = "A device capable of quickly scanning all relevant data about a plant." + id = "plant_analyzer" + req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) + materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) + build_path = /obj/item/device/analyzer/plant_analyzer + sort_string = "JAADA" + diff --git a/code/modules/research/designs/circuit_assembly.dm b/code/modules/research/designs/circuit_assembly.dm index 9f20032445..0ce5d0ca8a 100644 --- a/code/modules/research/designs/circuit_assembly.dm +++ b/code/modules/research/designs/circuit_assembly.dm @@ -1,89 +1,99 @@ -/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, "glass" = 2500) - build_path = /obj/item/device/integrated_electronics/wirer - sort_string = "VBVAA" +// Integrated circuits stuff -/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, "glass" = 2500) - build_path = /obj/item/device/integrated_electronics/debugger - sort_string = "VBVAB" +/datum/design/item/integrated_circuitry/AssembleDesignName() + ..() + name = "Circuitry device design ([item_name])" - - -/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/weapon/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 +/datum/design/item/integrated_circuitry/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" + sort_string = "UAAAA" -/datum/design/item/custom_circuit_printer_upgrade +/datum/design/item/integrated_circuitry/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/weapon/disk/integrated_circuit/upgrade/advanced - sort_string = "VCAAH" \ No newline at end of file + sort_string = "UBAAA" + +/datum/design/item/integrated_circuitry/wirer + name = "Custom wirer tool" + id = "wirer" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) + build_path = /obj/item/device/integrated_electronics/wirer + sort_string = "UCAAA" + +/datum/design/item/integrated_circuitry/debugger + name = "Custom circuit debugger tool" + id = "debugger" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) + build_path = /obj/item/device/integrated_electronics/debugger + sort_string = "UCBBB" + +// Assemblies + +/datum/design/item/integrated_circuitry/assembly/AssembleDesignName() + ..() + name = "Circuitry assembly design ([item_name])" + +/datum/design/item/integrated_circuitry/assembly/custom_circuit_assembly_small + 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 = "UDAAA" + +/datum/design/item/integrated_circuitry/assembly/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 = "UDAAB" + +/datum/design/item/integrated_circuitry/assembly/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 = "UDAAC" + +/datum/design/item/integrated_circuitry/assembly/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 = "UDAAD" + +/datum/design/item/integrated_circuitry/assembly/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 = "UDAAE" + +/datum/design/item/integrated_circuitry/assembly/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/weapon/implant/integrated_circuit + sort_string = "UDAAF" \ No newline at end of file diff --git a/code/modules/research/designs/ai_modules.dm b/code/modules/research/designs/circuits/ai_modules.dm similarity index 89% rename from code/modules/research/designs/ai_modules.dm rename to code/modules/research/designs/circuits/ai_modules.dm index eae26ea386..378a4fde0d 100644 --- a/code/modules/research/designs/ai_modules.dm +++ b/code/modules/research/designs/circuits/ai_modules.dm @@ -104,14 +104,4 @@ id = "tyrant" req_tech = list(TECH_DATA = 4, TECH_ILLEGAL = 2, TECH_MATERIAL = 6) build_path = /obj/item/weapon/aiModule/tyrant - sort_string = "XACAD" - -// AI file, AI tool -/datum/design/item/intellicard - name = "'intelliCore', AI preservation and transportation system" - desc = "Allows for the construction of an intelliCore." - id = "intellicore" - req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4) - materials = list("glass" = 1000, "gold" = 200) - build_path = /obj/item/device/aicard - sort_string = "VACAA" \ No newline at end of file + sort_string = "XACAD" \ No newline at end of file diff --git a/code/modules/research/designs/circuits.dm b/code/modules/research/designs/circuits/circuits.dm similarity index 100% rename from code/modules/research/designs/circuits.dm rename to code/modules/research/designs/circuits/circuits.dm diff --git a/code/modules/research/designs/engineering.dm b/code/modules/research/designs/engineering.dm new file mode 100644 index 0000000000..f499a47a86 --- /dev/null +++ b/code/modules/research/designs/engineering.dm @@ -0,0 +1,74 @@ +// Tools + +/datum/design/item/tool/AssembleDesignName() + ..() + name = "Experimental tool prototype ([item_name])" + +/datum/design/item/tool/experimental_welder + name = "Experimental welding tool" + desc = "A welding tool that generate fuel for itself." + id = "expwelder" + req_tech = list(TECH_ENGINEERING = 4, TECH_PHORON = 3, TECH_MATERIAL = 4) + materials = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120, "phoron" = 100) + build_path = /obj/item/weapon/weldingtool/experimental + sort_string = "NAAAA" + +/datum/design/item/tool/hand_drill + name = "Hand drill" + desc = "A simple powered hand drill." + id = "handdrill" + req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 300, "silver" = 100) + build_path = /obj/item/weapon/tool/screwdriver/power + sort_string = "NAAAB" + +/datum/design/item/tool/jaws_life + name = "Jaws of life" + desc = "A set of jaws of life, compressed through the magic of science." + id = "jawslife" + req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 300, "silver" = 100) + build_path = /obj/item/weapon/tool/crowbar/power + sort_string = "NAAAC" + +// Other devices + +/datum/design/item/engineering/AssembleDesignName() + ..() + name = "Engineering device prototype ([item_name])" + +/datum/design/item/engineering/t_scanner + name = "T-ray Scanner" + desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." + id = "tscanner" + req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_MATERIAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 200) + build_path = /obj/item/device/t_scanner + sort_string = "NBAAA" + +/datum/design/item/engineering/t_scanner_upg + name = "Upgraded T-ray Scanner" + desc = "An upgraded version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." + id = "upgradedtscanner" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_MATERIAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 500, "phoron" = 150) + build_path = /obj/item/device/t_scanner/upgraded + sort_string = "NBAAB" + +/datum/design/item/engineering/t_scanner_adv + name = "Advanced T-ray Scanner" + desc = "An advanced version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." + id = "advancedtscanner" + req_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 6, TECH_MATERIAL = 6) + materials = list(DEFAULT_WALL_MATERIAL = 1250, "phoron" = 500, "silver" = 50) + build_path = /obj/item/device/t_scanner/advanced + sort_string = "NBAAC" + +/datum/design/item/engineering/atmosanalyzer + name = "Analyzer" + desc = "A hand-held environmental scanner which reports current gas levels." + id = "atmosanalyzer" + req_tech = list(TECH_ENGINEERING = 2) + materials = list(DEFAULT_WALL_MATERIAL = 200, "glass" = 100) + build_path = /obj/item/device/analyzer + sort_string = "NBABA" \ No newline at end of file diff --git a/code/modules/research/designs/illegal.dm b/code/modules/research/designs/illegal.dm deleted file mode 100644 index f0a50fa5dd..0000000000 --- a/code/modules/research/designs/illegal.dm +++ /dev/null @@ -1,35 +0,0 @@ -// Yeah yeah, vague file name. Basically a misc folder for antag things that RnD can make. - -/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, "glass" = 300) - build_path = /obj/item/device/encryptionkey/binary - sort_string = "VASAA" - -/datum/design/item/chameleon - name = "Holographic equipment kit" - desc = "A kit of dangerous, high-tech equipment with changeable looks." - id = "chameleon" - req_tech = list(TECH_ILLEGAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500) - build_path = /obj/item/weapon/storage/box/syndie_kit/chameleon - sort_string = "VASBA" - -/datum/design/item/weapon/esword - name = "Portable Energy Blade" - id = "chargesword" - req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) - materials = list(MAT_PLASTEEL = 3500, "glass" = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/sword/charge - sort_string = "VASCA" - -/datum/design/item/weapon/eaxe - name = "Energy Axe" - id = "chargeaxe" - req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) - materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/axe/charge - sort_string = "VASCB" diff --git a/code/modules/research/designs/implants.dm b/code/modules/research/designs/implants.dm new file mode 100644 index 0000000000..4c4b5ba801 --- /dev/null +++ b/code/modules/research/designs/implants.dm @@ -0,0 +1,22 @@ +// Implants + +/datum/design/item/implant + materials = list(DEFAULT_WALL_MATERIAL = 50, "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/weapon/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/weapon/implantcase/freedom + sort_string = "MFAAB" \ No newline at end of file diff --git a/code/modules/research/designs/locator_devices.dm b/code/modules/research/designs/locator_devices.dm new file mode 100644 index 0000000000..b6f149393c --- /dev/null +++ b/code/modules/research/designs/locator_devices.dm @@ -0,0 +1,80 @@ +// GPS + +/datum/design/item/gps + req_tech = list(TECH_MATERIAL = 2, TECH_DATA = 2, TECH_BLUESPACE = 2) + materials = list(DEFAULT_WALL_MATERIAL = 500) + +/datum/design/item/gps/AssembleDesignName() + ..() + name = "Triangulating device design ([name])" + +/datum/design/item/gps/generic + name = "GEN" + id = "gps_gen" + build_path = /obj/item/device/gps + sort_string = "DAAAA" + +/datum/design/item/gps/command + name = "COM" + id = "gps_com" + build_path = /obj/item/device/gps/command + sort_string = "DAAAB" + +/datum/design/item/gps/security + name = "SEC" + id = "gps_sec" + build_path = /obj/item/device/gps/security + sort_string = "DAAAC" + +/datum/design/item/gps/medical + name = "MED" + id = "gps_med" + build_path = /obj/item/device/gps/medical + sort_string = "DAAAD" + +/datum/design/item/gps/engineering + name = "ENG" + id = "gps_eng" + build_path = /obj/item/device/gps/engineering + sort_string = "DAAAE" + +/datum/design/item/gps/science + name = "SCI" + id = "gps_sci" + build_path = /obj/item/device/gps/science + sort_string = "DAAAF" + +/datum/design/item/gps/mining + name = "MINE" + id = "gps_mine" + build_path = /obj/item/device/gps/mining + sort_string = "DAAAG" + +/datum/design/item/gps/explorer + name = "EXP" + id = "gps_exp" + build_path = /obj/item/device/gps/explorer + sort_string = "DAAAH" + +// Other locators + +/datum/design/item/locator/AssembleDesignName() + ..() + name = "Locator device design ([name])" + +/datum/design/item/locator/beacon_locator + name = "Tracking beacon pinpointer" + desc = "Used to scan and locate signals on a particular frequency." + id = "beacon_locator" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) + materials = list(DEFAULT_WALL_MATERIAL = 1000,"glass" = 500) + build_path = /obj/item/device/beacon_locator + sort_string = "DBAAA" + +/datum/design/item/locator/beacon + name = "Bluespace tracking beacon" + id = "beacon" + req_tech = list(TECH_BLUESPACE = 1) + materials = list (DEFAULT_WALL_MATERIAL = 20, "glass" = 10) + build_path = /obj/item/device/radio/beacon + sort_string = "DBABA" \ No newline at end of file diff --git a/code/modules/research/designs/medical.dm b/code/modules/research/designs/medical.dm index 8e821fe0fe..9b516cf289 100644 --- a/code/modules/research/designs/medical.dm +++ b/code/modules/research/designs/medical.dm @@ -3,72 +3,9 @@ /datum/design/item/medical/AssembleDesignName() ..() - name = "Biotech device prototype ([item_name])" + name = "Medical equipment prototype ([item_name])" -/datum/design/item/medical/robot_scanner - 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, "glass" = 200) - build_path = /obj/item/device/robotanalyzer - sort_string = "MACFA" - -/datum/design/item/medical/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 - 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 - 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 - 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/weapon/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, "phoron" = 3000, "diamond" = 500) - build_path = /obj/item/weapon/reagent_containers/glass/beaker/bluespace - sort_string = "MADAB" - -/datum/design/item/medical/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, "glass" = 7000) - build_path = /obj/item/stack/nanopaste - sort_string = "MBAAA" +// Surgical devices /datum/design/item/medical/scalpel_laser1 name = "Basic Laser Scalpel" @@ -77,7 +14,7 @@ req_tech = list(TECH_BIO = 2, TECH_MATERIAL = 2, TECH_MAGNET = 2) materials = list(DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500) build_path = /obj/item/weapon/surgical/scalpel/laser1 - sort_string = "MBBAA" + sort_string = "KAAAA" /datum/design/item/medical/scalpel_laser2 name = "Improved Laser Scalpel" @@ -86,7 +23,7 @@ req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 4, TECH_MAGNET = 4) materials = list(DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 2500) build_path = /obj/item/weapon/surgical/scalpel/laser2 - sort_string = "MBBAB" + sort_string = "KAAAB" /datum/design/item/medical/scalpel_laser3 name = "Advanced Laser Scalpel" @@ -95,7 +32,7 @@ req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 6, TECH_MAGNET = 5) materials = list(DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 2000, "gold" = 1500) build_path = /obj/item/weapon/surgical/scalpel/laser3 - sort_string = "MBBAC" + sort_string = "KAAAC" /datum/design/item/medical/scalpel_manager name = "Incision Management System" @@ -104,7 +41,7 @@ req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 7, TECH_MAGNET = 5, TECH_DATA = 4) materials = list (DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 1500, "gold" = 1500, "diamond" = 750) build_path = /obj/item/weapon/surgical/scalpel/manager - sort_string = "MBBAD" + sort_string = "KAAAD" /datum/design/item/medical/bone_clamp name = "Bone Clamp" @@ -113,16 +50,18 @@ req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 5, TECH_MAGNET = 4, TECH_DATA = 4) materials = list (DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 2500) build_path = /obj/item/weapon/surgical/bone_clamp - sort_string = "MBBAE" + sort_string = "KAABA" -/datum/design/item/medical/advanced_roller - name = "advanced roller bed" - desc = "A more advanced version of the regular roller bed, with inbuilt surgical stabilisers and an improved folding system." - id = "roller_bed" - req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 3, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "phoron" = 2000) - build_path = /obj/item/roller/adv - sort_string = "MBBAF" +// Other medical equipment + +/datum/design/item/medical/medical_analyzer + name = "health analyzer" + desc = "A hand-held body scanner able to distinguish vital signs of the subject." + id = "medical_analyzer" + req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) + materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) + build_path = /obj/item/device/healthanalyzer + sort_string = "KBAAA" /datum/design/item/medical/improved_analyzer name = "improved health analyzer" @@ -131,56 +70,13 @@ req_tech = list(TECH_MAGNET = 5, TECH_BIO = 6) materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 1500) build_path = /obj/item/device/healthanalyzer/improved - sort_string = "MBBAG" + sort_string = "KBAAB" -/datum/design/item/implant - materials = list(DEFAULT_WALL_MATERIAL = 50, "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/weapon/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/weapon/implantcase/freedom - sort_string = "MFAAB" - -// These are in here because Robotics is close enough to Medical and I don't want to make a new brains.dm file -/datum/design/item/dronebrain - name = "Robotic intelligence circuit" - id = "dronebrain" - req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_DATA = 4) - build_type = PROTOLATHE | PROSFAB - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 500) - build_path = /obj/item/device/mmi/digital/robot - category = "Misc" - sort_string = "VACAC" - -/datum/design/item/posibrain - name = "Positronic brain" - id = "posibrain" - req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 6, TECH_BLUESPACE = 2, TECH_DATA = 4) - build_type = PROTOLATHE | PROSFAB - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 500, "phoron" = 500, "diamond" = 100) - build_path = /obj/item/device/mmi/digital/posibrain - category = "Misc" - sort_string = "VACAB" - -/datum/design/item/mmi - name = "Man-machine interface" - id = "mmi" - req_tech = list(TECH_DATA = 2, TECH_BIO = 3) - build_type = PROTOLATHE | PROSFAB - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500) - build_path = /obj/item/device/mmi - category = "Misc" - sort_string = "VACBA" \ No newline at end of file +/datum/design/item/medical/advanced_roller + name = "advanced roller bed" + desc = "A more advanced version of the regular roller bed, with inbuilt surgical stabilisers and an improved folding system." + id = "roller_bed" + req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 3, TECH_MAGNET = 3) + materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "phoron" = 2000) + build_path = /obj/item/roller/adv + sort_string = "KCAAA" \ No newline at end of file diff --git a/code/modules/research/designs/mining_toys.dm b/code/modules/research/designs/mining_toys.dm index c170cb827b..61be9cd871 100644 --- a/code/modules/research/designs/mining_toys.dm +++ b/code/modules/research/designs/mining_toys.dm @@ -1,56 +1,50 @@ -// Assorted Mining-related items - /datum/design/item/weapon/mining/AssembleDesignName() ..() name = "Mining equipment design ([item_name])" -/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, "glass" = 500, "silver" = 500) - build_path = /obj/item/weapon/pickaxe/jackhammer - sort_string = "KAAAA" +// Mining digging devices /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, "glass" = 1000) //expensive, but no need for miners. build_path = /obj/item/weapon/pickaxe/drill - sort_string = "KAAAB" + sort_string = "FAAAA" + +/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, "glass" = 500, "silver" = 500) + build_path = /obj/item/weapon/pickaxe/jackhammer + sort_string = "FAAAB" /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, "glass" = 500, "gold" = 500, "phoron" = 500) build_path = /obj/item/weapon/pickaxe/plasmacutter - sort_string = "KAAAC" + sort_string = "FAAAC" /datum/design/item/weapon/mining/pick_diamond id = "pick_diamond" req_tech = list(TECH_MATERIAL = 6) materials = list("diamond" = 3000) build_path = /obj/item/weapon/pickaxe/diamond - sort_string = "KAAAD" + sort_string = "FAAAD" /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, "glass" = 1000, "diamond" = 2000) build_path = /obj/item/weapon/pickaxe/diamonddrill - sort_string = "KAAAE" + sort_string = "FAAAE" -/datum/design/item/device/depth_scanner +// Mining other equipment + +/datum/design/item/weapon/mining/depth_scanner desc = "Used to check spatial depth and density of rock outcroppings." id = "depth_scanner" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 2) materials = list(DEFAULT_WALL_MATERIAL = 1000,"glass" = 1000) build_path = /obj/item/device/depth_scanner - sort_string = "KAAAF" - -/datum/design/item/device/graviton_visor - desc = "Used to see via the complex interation of meson particles and graviton particles." - id = "graviton_goggles" - req_tech = list(TECH_MAGNET = 5, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3, TECH_PHORON = 3) - materials = list(MAT_PLASTEEL = 2000, "glass" = 3000, MAT_PHORON = 1500) - build_path = /obj/item/clothing/glasses/graviton - sort_string = "KAAAG" + sort_string = "FBAAA" diff --git a/code/modules/research/designs/misc.dm b/code/modules/research/designs/misc.dm index f14b73d2e6..8faf037136 100644 --- a/code/modules/research/designs/misc.dm +++ b/code/modules/research/designs/misc.dm @@ -1,251 +1,65 @@ -/* -// -// THIS IS GOING TO GET REAL DAMN BLOATED, SO LET'S TRY TO AVOID THAT IF POSSIBLE -// -*/ +// Everything that didn't fit elsewhere -/datum/design/item/hud - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) - -/datum/design/item/hud/AssembleDesignName() +/datum/design/item/general/AssembleDesignName() ..() - name = "HUD glasses prototype ([item_name])" + name = "General purpose design ([item_name])" -/datum/design/item/hud/AssembleDesignDesc() - desc = "Allows for the construction of \a [item_name] HUD glasses." +/datum/design/item/general/communicator + name = "Communicator" + id = "communicator" + req_tech = list(TECH_DATA = 2, TECH_MAGNET = 2) + materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) + build_path = /obj/item/device/communicator + sort_string = "TAAAA" -/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 = "GBAAA" - -/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 = "GBAAB" - -/datum/design/item/hud/mesons - name = "optical meson scanner" - id = "mesons" - req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) - build_path = /obj/item/clothing/glasses/meson - sort_string = "GBAAC" - -/datum/design/item/hud/material - name = "optical material scanner" - id = "material" - req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3) - build_path = /obj/item/clothing/glasses/material - sort_string = "GBAAD" - -/datum/design/item/device/ano_scanner - name = "Alden-Saraspova counter" - id = "ano_scanner" - desc = "Aids in triangulation of exotic particles." - req_tech = list(TECH_BLUESPACE = 3, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 10000,"glass" = 5000) - build_path = /obj/item/device/ano_scanner - sort_string = "UAAAH" - -/datum/design/item/light_replacer - name = "Light replacer" - desc = "A device to automatically replace lights. Refill with working lightbulbs." - id = "light_replacer" - req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 1500, "silver" = 150, "glass" = 3000) - build_path = /obj/item/device/lightreplacer - sort_string = "VAAAH" - -datum/design/item/laserpointer +datum/design/item/general/laserpointer name = "laser pointer" desc = "Don't shine it in your eyes!" id = "laser_pointer" req_tech = list(TECH_MAGNET = 3) materials = list(DEFAULT_WALL_MATERIAL = 100, "glass" = 50) build_path = /obj/item/device/laser_pointer - sort_string = "VAAAI" + sort_string = "TAABA" -/datum/design/item/paicard - name = "'pAI', personal artificial intelligence device" - id = "paicard" - req_tech = list(TECH_DATA = 2) - materials = list("glass" = 500, DEFAULT_WALL_MATERIAL = 500) - build_path = /obj/item/device/paicard - sort_string = "VABAI" - -/datum/design/item/communicator - name = "Communicator" - id = "communicator" - req_tech = list(TECH_DATA = 2, TECH_MAGNET = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) - build_path = /obj/item/device/communicator - sort_string = "VABAJ" - -/datum/design/item/gps - req_tech = list(TECH_MATERIAL = 2, TECH_DATA = 2, TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500) - -/datum/design/item/gps/generic - name = "Triangulating device design (GEN)" - id = "gps_gen" - build_path = /obj/item/device/gps - sort_string = "VADAA" - -/datum/design/item/gps/comand - name = "Triangulating device design (COM)" - id = "gps_com" - build_path = /obj/item/device/gps/command - sort_string = "VADAB" - -/datum/design/item/gps/security - name = "Triangulating device design (SEC)" - id = "gps_sec" - build_path = /obj/item/device/gps/security - sort_string = "VADAC" - -/datum/design/item/gps/medical - name = "Triangulating device design (MED)" - id = "gps_med" - build_path = /obj/item/device/gps/medical - sort_string = "VADAD" - -/datum/design/item/gps/engineering - name = "Triangulating device design (ENG)" - id = "gps_eng" - build_path = /obj/item/device/gps/engineering - sort_string = "VADAE" - -/datum/design/item/gps/science - name = "Triangulating device design (SCI)" - id = "gps_sci" - build_path = /obj/item/device/gps/science - sort_string = "VADAF" - -/datum/design/item/gps/mining - name = "Triangulating device design (MINE)" - id = "gps_mine" - build_path = /obj/item/device/gps/mining - sort_string = "VADAG" - -/datum/design/item/gps/explorer - name = "Triangulating device design (EXP)" - id = "gps_exp" - build_path = /obj/item/device/gps/explorer - sort_string = "VADAH" - -/datum/design/item/beacon - name = "Bluespace tracking beacon design" - id = "beacon" - req_tech = list(TECH_BLUESPACE = 1) - materials = list (DEFAULT_WALL_MATERIAL = 20, "glass" = 10) - build_path = /obj/item/device/radio/beacon - sort_string = "VADBA" - -/datum/design/item/beacon_locator - name = "Beacon tracking pinpointer" - desc = "Used to scan and locate signals on a particular frequency." - id = "beacon_locator" - req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) - materials = list(DEFAULT_WALL_MATERIAL = 1000,"glass" = 500) - build_path = /obj/item/device/beacon_locator - sort_string = "VADBB" - -/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("gold" = 3000, "diamond" = 1500, "uranium" = 250) - build_path = /obj/item/weapon/storage/backpack/holding - sort_string = "VAEAA" - -/datum/design/item/dufflebag_holding - name = "'DuffleBag of Holding', an infinite capacity dufflebag prototype" - desc = "A minaturized prototype of the popular Bag of Holding, the Dufflebag of Holding is, functionally, identical to the bag of holding, but comes in a more stylish and compact form." - id = "dufflebag_holding" - req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) - materials = list("gold" = 3000, "diamond" = 1500, "uranium" = 250) - build_path = /obj/item/weapon/storage/backpack/holding/duffle - sort_string = "VAEAB" - -/datum/design/item/experimental_welder - name = "Experimental welding tool" - desc = "A welding tool that generate fuel for itself." - id = "expwelder" - req_tech = list(TECH_ENGINEERING = 4, TECH_PHORON = 3, TECH_MATERIAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120, "phoron" = 100) - build_path = /obj/item/weapon/weldingtool/experimental - sort_string = "VASCA" - -/datum/design/item/hand_drill - name = "Hand drill" - desc = "A simple powered hand drill." - id = "handdrill" - req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 300, "silver" = 100) - build_path = /obj/item/weapon/tool/screwdriver/power - sort_string = "VASDA" - -/datum/design/item/jaws_life - name = "Jaws of life" - desc = "A set of jaws of life, compressed through the magic of science." - id = "jawslife" - req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 300, "silver" = 100) - build_path = /obj/item/weapon/tool/crowbar/power - sort_string = "VASEA" - -/datum/design/item/device/t_scanner_upg - name = "Upgraded T-ray Scanner" - desc = "An upgraded version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." - id = "upgradedtscanner" - req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500, "phoron" = 150) - build_path = /obj/item/device/t_scanner/upgraded - sort_string = "VASSA" - -/datum/design/item/device/t_scanner_adv - name = "Advanced T-ray Scanner" - desc = "An advanced version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." - id = "advancedtscanner" - req_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 6, TECH_MATERIAL = 6) - materials = list(DEFAULT_WALL_MATERIAL = 1250, "phoron" = 500, "silver" = 50) - build_path = /obj/item/device/t_scanner/advanced - sort_string = "VASSB" - -/datum/design/item/translator +/datum/design/item/general/translator name = "handheld translator" id = "translator" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 3000) build_path = /obj/item/device/universal_translator - sort_string = "HABQA" + sort_string = "TAACA" -/datum/design/item/ear_translator +/datum/design/item/general/ear_translator name = "earpiece translator" id = "ear_translator" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5) //It's been hella miniaturized. materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000, "gold" = 1000) build_path = /obj/item/device/universal_translator/ear - sort_string = "HABQB" + sort_string = "TAACB" -/datum/design/item/xenoarch_multi_tool - name = "xenoarcheology multitool" - id = "xenoarch_multitool" - req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3) - build_path = /obj/item/device/xenoarch_multi_tool - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "uranium" = 500, "phoron" = 500) - sort_string = "HABQC" +/datum/design/item/general/light_replacer + name = "Light replacer" + desc = "A device to automatically replace lights. Refill with working lightbulbs." + id = "light_replacer" + req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4) + materials = list(DEFAULT_WALL_MATERIAL = 1500, "silver" = 150, "glass" = 3000) + build_path = /obj/item/device/lightreplacer + sort_string = "TAADA" -/datum/design/item/excavationdrill - name = "Excavation Drill" - id = "excavationdrill" - req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) - build_type = PROTOLATHE - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) - build_path = /obj/item/weapon/pickaxe/excavationdrill - sort_string = "HABQD" +/datum/design/item/general/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, "glass" = 300) + build_path = /obj/item/device/encryptionkey/binary + sort_string = "TBAAA" + +/datum/design/item/general/chameleon + name = "Holographic equipment kit" + desc = "A kit of dangerous, high-tech equipment with changeable looks." + id = "chameleon" + req_tech = list(TECH_ILLEGAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 500) + build_path = /obj/item/weapon/storage/box/syndie_kit/chameleon + sort_string = "TBAAB" diff --git a/code/modules/research/designs/modular_computer.dm b/code/modules/research/designs/modular_computer.dm index 5bb19b0be6..e78a776c1c 100644 --- a/code/modules/research/designs/modular_computer.dm +++ b/code/modules/research/designs/modular_computer.dm @@ -1,233 +1,219 @@ // Modular computer components +/datum/design/item/modularcomponent/AssembleDesignName() + ..() + name = "Computer part design ([item_name])" + // Hard drives + /datum/design/item/modularcomponent/disk/normal name = "basic hard drive" id = "hdd_basic" req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 100) build_path = /obj/item/weapon/computer_hardware/hard_drive/ - sort_string = "VBAAA" + sort_string = "VAAAA" /datum/design/item/modularcomponent/disk/advanced name = "advanced hard drive" id = "hdd_advanced" - req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 200) build_path = /obj/item/weapon/computer_hardware/hard_drive/advanced - sort_string = "VBAAB" + sort_string = "VAAAB" /datum/design/item/modularcomponent/disk/super name = "super hard drive" id = "hdd_super" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 400) build_path = /obj/item/weapon/computer_hardware/hard_drive/super - sort_string = "VBAAC" + sort_string = "VAAAC" /datum/design/item/modularcomponent/disk/cluster name = "cluster hard drive" id = "hdd_cluster" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 16000, "glass" = 800) build_path = /obj/item/weapon/computer_hardware/hard_drive/cluster - sort_string = "VBAAD" + sort_string = "VAAAD" /datum/design/item/modularcomponent/disk/small name = "small hard drive" id = "hdd_small" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 200) build_path = /obj/item/weapon/computer_hardware/hard_drive/small - sort_string = "VBAAE" + sort_string = "VAAAE" /datum/design/item/modularcomponent/disk/micro name = "micro hard drive" id = "hdd_micro" req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 100) build_path = /obj/item/weapon/computer_hardware/hard_drive/micro - sort_string = "VBAAF" + sort_string = "VAAAF" // Network cards + /datum/design/item/modularcomponent/netcard/basic name = "basic network card" id = "netcard_basic" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 1) - build_type = IMPRINTER materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 100) build_path = /obj/item/weapon/computer_hardware/network_card - sort_string = "VBAAG" + sort_string = "VBAAA" /datum/design/item/modularcomponent/netcard/advanced name = "advanced network card" id = "netcard_advanced" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 2) - build_type = IMPRINTER materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 200) build_path = /obj/item/weapon/computer_hardware/network_card/advanced - sort_string = "VBAAH" + sort_string = "VBAAB" /datum/design/item/modularcomponent/netcard/wired name = "wired network card" id = "netcard_wired" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 3) - build_type = IMPRINTER materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 400) build_path = /obj/item/weapon/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" - req_tech = list(TECH_DATA = 1) - build_type = IMPRINTER - materials = list("glass" = 8000) - build_path = /obj/item/weapon/computer_hardware/hard_drive/portable - sort_string = "VBAAJ" - -/datum/design/item/modularcomponent/portabledrive/advanced - name = "advanced data crystal" - id = "portadrive_advanced" - req_tech = list(TECH_DATA = 2) - build_type = IMPRINTER - materials = list("glass" = 16000) - build_path = /obj/item/weapon/computer_hardware/hard_drive/portable/advanced - sort_string = "VBAAK" - -/datum/design/item/modularcomponent/portabledrive/super - name = "super data crystal" - id = "portadrive_super" - req_tech = list(TECH_DATA = 4) - build_type = IMPRINTER - materials = list("glass" = 32000) - build_path = /obj/item/weapon/computer_hardware/hard_drive/portable/super - sort_string = "VBAAL" - -// Card slot -/datum/design/item/modularcomponent/cardslot - name = "RFID card slot" - id = "cardslot" - req_tech = list(TECH_DATA = 2) - build_type = PROTOLATHE - materials = list(DEFAULT_WALL_MATERIAL = 3000) - build_path = /obj/item/weapon/computer_hardware/card_slot - sort_string = "VBAAM" - -// Nano printer -/datum/design/item/modularcomponent/nanoprinter - name = "nano printer" - id = "nanoprinter" - req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_type = PROTOLATHE - materials = list(DEFAULT_WALL_MATERIAL = 3000) - build_path = /obj/item/weapon/computer_hardware/nano_printer - sort_string = "VBAAN" - -// Tesla Link -/datum/design/item/modularcomponent/teslalink - name = "tesla link" - id = "teslalink" - req_tech = list(TECH_DATA = 2, TECH_POWER = 3, TECH_ENGINEERING = 2) - build_type = PROTOLATHE - materials = list(DEFAULT_WALL_MATERIAL = 10000) - build_path = /obj/item/weapon/computer_hardware/tesla_link - sort_string = "VBAAO" + sort_string = "VBAAC" // Batteries + /datum/design/item/modularcomponent/battery/normal name = "standard battery module" id = "bat_normal" req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 2000) build_path = /obj/item/weapon/computer_hardware/battery_module - sort_string = "VBAAP" + sort_string = "VCAAA" /datum/design/item/modularcomponent/battery/advanced name = "advanced battery module" id = "bat_advanced" req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 4000) build_path = /obj/item/weapon/computer_hardware/battery_module/advanced - sort_string = "VBAAQ" + sort_string = "VCAAB" /datum/design/item/modularcomponent/battery/super name = "super battery module" id = "bat_super" req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 8000) build_path = /obj/item/weapon/computer_hardware/battery_module/super - sort_string = "VBAAR" + sort_string = "VCAAC" /datum/design/item/modularcomponent/battery/ultra name = "ultra battery module" id = "bat_ultra" req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 4) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 16000) build_path = /obj/item/weapon/computer_hardware/battery_module/ultra - sort_string = "VBAAS" + sort_string = "VCAAD" /datum/design/item/modularcomponent/battery/nano name = "nano battery module" id = "bat_nano" req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 2000) build_path = /obj/item/weapon/computer_hardware/battery_module/nano - sort_string = "VBAAT" + sort_string = "VCAAE" /datum/design/item/modularcomponent/battery/micro name = "micro battery module" id = "bat_micro" req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2) - build_type = PROTOLATHE materials = list(DEFAULT_WALL_MATERIAL = 4000) build_path = /obj/item/weapon/computer_hardware/battery_module/micro - sort_string = "VBAAU" + sort_string = "VCAAF" // Processor unit + /datum/design/item/modularcomponent/cpu/ name = "computer processor unit" id = "cpu_normal" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2) - build_type = IMPRINTER materials = list(DEFAULT_WALL_MATERIAL = 8000) build_path = /obj/item/weapon/computer_hardware/processor_unit - sort_string = "VBAAV" + sort_string = "VDAAA" /datum/design/item/modularcomponent/cpu/small name = "computer microprocessor unit" id = "cpu_small" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - build_type = IMPRINTER materials = list(DEFAULT_WALL_MATERIAL = 4000) build_path = /obj/item/weapon/computer_hardware/processor_unit/small - sort_string = "VBAAW" + sort_string = "VDAAB" /datum/design/item/modularcomponent/cpu/photonic name = "computer photonic processor unit" id = "pcpu_normal" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 4) - build_type = IMPRINTER materials = list(DEFAULT_WALL_MATERIAL = 32000, glass = 8000) build_path = /obj/item/weapon/computer_hardware/processor_unit/photonic - sort_string = "VBAAX" + sort_string = "VDAAC" /datum/design/item/modularcomponent/cpu/photonic/small name = "computer photonic microprocessor unit" id = "pcpu_small" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3) - build_type = IMPRINTER materials = list(DEFAULT_WALL_MATERIAL = 16000, glass = 4000) build_path = /obj/item/weapon/computer_hardware/processor_unit/photonic/small - sort_string = "VBAAY" + sort_string = "VDAAD" + +// Other parts + +/datum/design/item/modularcomponent/cardslot + name = "RFID card slot" + id = "cardslot" + req_tech = list(TECH_DATA = 2) + materials = list(DEFAULT_WALL_MATERIAL = 3000) + build_path = /obj/item/weapon/computer_hardware/card_slot + sort_string = "VEAAA" + +/datum/design/item/modularcomponent/nanoprinter + name = "nano printer" + id = "nanoprinter" + req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) + materials = list(DEFAULT_WALL_MATERIAL = 3000) + build_path = /obj/item/weapon/computer_hardware/nano_printer + sort_string = "VEAAB" + +/datum/design/item/modularcomponent/teslalink + name = "tesla link" + id = "teslalink" + req_tech = list(TECH_DATA = 2, TECH_POWER = 3, TECH_ENGINEERING = 2) + materials = list(DEFAULT_WALL_MATERIAL = 10000) + build_path = /obj/item/weapon/computer_hardware/tesla_link + sort_string = "VEAAC" + +// Data crystals (USB flash drives) + +/datum/design/item/modularcomponent/portabledrive/AssembleDesignName() + ..() + name = "Portable data drive design ([item_name])" + +/datum/design/item/modularcomponent/portabledrive/basic + name = "basic data crystal" + id = "portadrive_basic" + req_tech = list(TECH_DATA = 1) + materials = list("glass" = 8000) + build_path = /obj/item/weapon/computer_hardware/hard_drive/portable + sort_string = "VFAAA" + +/datum/design/item/modularcomponent/portabledrive/advanced + name = "advanced data crystal" + id = "portadrive_advanced" + req_tech = list(TECH_DATA = 2) + materials = list("glass" = 16000) + build_path = /obj/item/weapon/computer_hardware/hard_drive/portable/advanced + sort_string = "VFAAB" + +/datum/design/item/modularcomponent/portabledrive/super + name = "super data crystal" + id = "portadrive_super" + req_tech = list(TECH_DATA = 4) + materials = list("glass" = 32000) + build_path = /obj/item/weapon/computer_hardware/hard_drive/portable/super + sort_string = "VFAAC" diff --git a/code/modules/research/designs/pdas.dm b/code/modules/research/designs/pdas.dm index d05ca12bcd..78fd01ec23 100644 --- a/code/modules/research/designs/pdas.dm +++ b/code/modules/research/designs/pdas.dm @@ -1,13 +1,16 @@ -/datum/design/item/pda - name = "PDA design" +// PDA + +/datum/design/item/general/pda + name = "PDA" desc = "Cheaper than whiny non-digital assistants." id = "pda" req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3) materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) build_path = /obj/item/device/pda - sort_string = "VAAAA" + sort_string = "WAAAA" // Cartridges + /datum/design/item/pda_cartridge req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3) materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) @@ -19,79 +22,79 @@ /datum/design/item/pda_cartridge/cart_basic id = "cart_basic" build_path = /obj/item/weapon/cartridge - sort_string = "VBAAA" + sort_string = "WBAAA" /datum/design/item/pda_cartridge/engineering id = "cart_engineering" build_path = /obj/item/weapon/cartridge/engineering - sort_string = "VBAAB" + sort_string = "WBAAB" /datum/design/item/pda_cartridge/atmos id = "cart_atmos" build_path = /obj/item/weapon/cartridge/atmos - sort_string = "VBAAC" + sort_string = "WBAAC" /datum/design/item/pda_cartridge/medical id = "cart_medical" build_path = /obj/item/weapon/cartridge/medical - sort_string = "VBAAD" + sort_string = "WBAAD" /datum/design/item/pda_cartridge/chemistry id = "cart_chemistry" build_path = /obj/item/weapon/cartridge/chemistry - sort_string = "VBAAE" + sort_string = "WBAAE" /datum/design/item/pda_cartridge/security id = "cart_security" build_path = /obj/item/weapon/cartridge/security - sort_string = "VBAAF" + sort_string = "WBAAF" /datum/design/item/pda_cartridge/janitor id = "cart_janitor" build_path = /obj/item/weapon/cartridge/janitor - sort_string = "VBAAG" + sort_string = "WBAAG" /datum/design/item/pda_cartridge/science id = "cart_science" build_path = /obj/item/weapon/cartridge/signal/science - sort_string = "VBAAH" + sort_string = "WBAAH" /datum/design/item/pda_cartridge/quartermaster id = "cart_quartermaster" build_path = /obj/item/weapon/cartridge/quartermaster - sort_string = "VBAAI" + sort_string = "WBAAI" /datum/design/item/pda_cartridge/head id = "cart_head" build_path = /obj/item/weapon/cartridge/head - sort_string = "VBAAJ" + sort_string = "WBAAJ" /datum/design/item/pda_cartridge/hop id = "cart_hop" build_path = /obj/item/weapon/cartridge/hop - sort_string = "VBAAK" + sort_string = "WBAAK" /datum/design/item/pda_cartridge/hos id = "cart_hos" build_path = /obj/item/weapon/cartridge/hos - sort_string = "VBAAL" + sort_string = "WBAAL" /datum/design/item/pda_cartridge/ce id = "cart_ce" build_path = /obj/item/weapon/cartridge/ce - sort_string = "VBAAM" + sort_string = "WBAAM" /datum/design/item/pda_cartridge/cmo id = "cart_cmo" build_path = /obj/item/weapon/cartridge/cmo - sort_string = "VBAAN" + sort_string = "WBAAN" /datum/design/item/pda_cartridge/rd id = "cart_rd" build_path = /obj/item/weapon/cartridge/rd - sort_string = "VBAAO" + sort_string = "WBAAO" /datum/design/item/pda_cartridge/captain id = "cart_captain" build_path = /obj/item/weapon/cartridge/captain - sort_string = "VBAAP" \ No newline at end of file + sort_string = "WBAAP" \ No newline at end of file diff --git a/code/modules/research/designs/powercells.dm b/code/modules/research/designs/power_cells.dm similarity index 93% rename from code/modules/research/designs/powercells.dm rename to code/modules/research/designs/power_cells.dm index 1ae3a3c361..a387f7cc4c 100644 --- a/code/modules/research/designs/powercells.dm +++ b/code/modules/research/designs/power_cells.dm @@ -22,7 +22,7 @@ materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) build_path = /obj/item/weapon/cell category = "Misc" - sort_string = "DAAAA" + sort_string = "BAAAA" /datum/design/item/powercell/high name = "high-capacity" @@ -32,7 +32,7 @@ materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 60) build_path = /obj/item/weapon/cell/high category = "Misc" - sort_string = "DAAAB" + sort_string = "BAAAB" /datum/design/item/powercell/super name = "super-capacity" @@ -41,7 +41,7 @@ materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 70) build_path = /obj/item/weapon/cell/super category = "Misc" - sort_string = "DAAAC" + sort_string = "BAAAC" /datum/design/item/powercell/hyper name = "hyper-capacity" @@ -50,7 +50,7 @@ materials = list(DEFAULT_WALL_MATERIAL = 400, "gold" = 150, "silver" = 150, "glass" = 70) build_path = /obj/item/weapon/cell/hyper category = "Misc" - sort_string = "DAAAD" + sort_string = "BAAAD" /datum/design/item/powercell/device name = "device" @@ -59,7 +59,7 @@ materials = list(DEFAULT_WALL_MATERIAL = 350, "glass" = 25) build_path = /obj/item/weapon/cell/device category = "Misc" - sort_string = "DAABA" + sort_string = "BAABA" /datum/design/item/powercell/weapon name = "weapon" @@ -68,4 +68,4 @@ materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) build_path = /obj/item/weapon/cell/device/weapon category = "Misc" - sort_string = "DAABB" \ No newline at end of file + sort_string = "BAABB" \ No newline at end of file diff --git a/code/modules/research/designs/precursor.dm b/code/modules/research/designs/precursor.dm index bcf80b66a0..bb6e98353f 100644 --- a/code/modules/research/designs/precursor.dm +++ b/code/modules/research/designs/precursor.dm @@ -1,71 +1,4 @@ -/* - * Contains Precursor and Anomalous designs for the Protolathe. - */ - -/datum/design/item/precursor/AssembleDesignName() - ..() - name = "Alien prototype ([item_name])" - -/datum/design/item/precursor/AssembleDesignDesc() - if(!desc) - if(build_path) - var/obj/item/I = build_path - desc = initial(I.desc) - ..() - -/datum/design/item/precursor/crowbar - name = "Hybrid Crowbar" - desc = "A tool utilizing cutting edge modern technology, and ancient component designs." - id = "hybridcrowbar" - req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) - materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_GOLD = 250, MAT_URANIUM = 2500) - build_path = /obj/item/weapon/tool/crowbar/hybrid - sort_string = "PATAC" - -/datum/design/item/precursor/wrench - name = "Hybrid Wrench" - desc = "A tool utilizing cutting edge modern technology, and ancient component designs." - id = "hybridwrench" - req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 3, TECH_PRECURSOR = 1) - materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_SILVER = 300, MAT_URANIUM = 2000) - build_path = /obj/item/weapon/tool/wrench/hybrid - sort_string = "PATAW" - -/datum/design/item/precursor/screwdriver - name = "Hybrid Screwdriver" - desc = "A tool utilizing cutting edge modern technology, and ancient component designs." - id = "hybridscrewdriver" - req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 3, TECH_PRECURSOR = 1) - materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_PLASTIC = 8000, MAT_DIAMOND = 2000) - build_path = /obj/item/weapon/tool/screwdriver/hybrid - sort_string = "PATAS" - -/datum/design/item/precursor/wirecutters - name = "Hybrid Wirecutters" - desc = "A tool utilizing cutting edge modern technology, and ancient component designs." - id = "hybridwirecutters" - req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_PHORON = 2, TECH_PRECURSOR = 1) - materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_PLASTIC = 8000, MAT_PHORON = 2750, MAT_DIAMOND = 2000) - build_path = /obj/item/weapon/tool/wirecutters/hybrid - sort_string = "PATBW" - -/datum/design/item/precursor/welder - name = "Hybrid Welding Tool" - desc = "A tool utilizing cutting edge modern technology, and ancient component designs." - id = "hybridwelder" - req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PHORON = 3, TECH_MAGNET = 5, TECH_PRECURSOR = 1) - materials = list(MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_METALHYDROGEN = 4750, MAT_URANIUM = 6000) - build_path = /obj/item/weapon/weldingtool/experimental/hybrid - sort_string = "PATCW" - -/datum/design/item/precursor/janusmodule - name = "Blackbox Circuit Datamass" - desc = "A design that seems to be in a constantly shifting superposition." - id = "janus_module" - materials = list(MAT_DURASTEEL = 3000, MAT_MORPHIUM = 2000, MAT_METALHYDROGEN = 6000, MAT_URANIUM = 6000, MAT_VERDANTIUM = 1500) - req_tech = list(TECH_MATERIAL = 7, TECH_BLUESPACE = 5, TECH_MAGNET = 6, TECH_PHORON = 3, TECH_ARCANE = 1, TECH_PRECURSOR = 2) - build_path = /obj/random/janusmodule - sort_string = "PAJAA" +//Anomaly /datum/design/item/anomaly/AssembleDesignName() ..() @@ -85,4 +18,72 @@ materials = list(MAT_DURASTEEL = 3000, MAT_METALHYDROGEN = 1000, MAT_PHORON = 2000) req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_PHORON = 2, TECH_ARCANE = 2) build_path = /obj/item/weapon/beartrap/hunting - sort_string = "ARCAT" + sort_string = "ZAAAA" + +// Precursor + +/datum/design/item/precursor/AssembleDesignName() + ..() + name = "Alien prototype ([item_name])" + +/datum/design/item/precursor/AssembleDesignDesc() + if(!desc) + if(build_path) + var/obj/item/I = build_path + desc = initial(I.desc) + ..() + +/datum/design/item/precursor/crowbar + name = "Hybrid Crowbar" + desc = "A tool utilizing cutting edge modern technology, and ancient component designs." + id = "hybridcrowbar" + req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) + materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_GOLD = 250, MAT_URANIUM = 2500) + build_path = /obj/item/weapon/tool/crowbar/hybrid + sort_string = "ZBAAA" + +/datum/design/item/precursor/wrench + name = "Hybrid Wrench" + desc = "A tool utilizing cutting edge modern technology, and ancient component designs." + id = "hybridwrench" + req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 3, TECH_PRECURSOR = 1) + materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_SILVER = 300, MAT_URANIUM = 2000) + build_path = /obj/item/weapon/tool/wrench/hybrid + sort_string = "ZBAAB" + +/datum/design/item/precursor/screwdriver + name = "Hybrid Screwdriver" + desc = "A tool utilizing cutting edge modern technology, and ancient component designs." + id = "hybridscrewdriver" + req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 3, TECH_PRECURSOR = 1) + materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_PLASTIC = 8000, MAT_DIAMOND = 2000) + build_path = /obj/item/weapon/tool/screwdriver/hybrid + sort_string = "ZBAAC" + +/datum/design/item/precursor/wirecutters + name = "Hybrid Wirecutters" + desc = "A tool utilizing cutting edge modern technology, and ancient component designs." + id = "hybridwirecutters" + req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_PHORON = 2, TECH_PRECURSOR = 1) + materials = list(MAT_PLASTEEL = 2000, MAT_VERDANTIUM = 3000, MAT_PLASTIC = 8000, MAT_PHORON = 2750, MAT_DIAMOND = 2000) + build_path = /obj/item/weapon/tool/wirecutters/hybrid + sort_string = "ZBAAD" + +/datum/design/item/precursor/welder + name = "Hybrid Welding Tool" + desc = "A tool utilizing cutting edge modern technology, and ancient component designs." + id = "hybridwelder" + req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PHORON = 3, TECH_MAGNET = 5, TECH_PRECURSOR = 1) + materials = list(MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_METALHYDROGEN = 4750, MAT_URANIUM = 6000) + build_path = /obj/item/weapon/weldingtool/experimental/hybrid + sort_string = "ZBAAE" + + +/datum/design/item/precursor/janusmodule + name = "Blackbox Circuit Datamass" + desc = "A design that seems to be in a constantly shifting superposition." + id = "janus_module" + materials = list(MAT_DURASTEEL = 3000, MAT_MORPHIUM = 2000, MAT_METALHYDROGEN = 6000, MAT_URANIUM = 6000, MAT_VERDANTIUM = 1500) + req_tech = list(TECH_MATERIAL = 7, TECH_BLUESPACE = 5, TECH_MAGNET = 6, TECH_PHORON = 3, TECH_ARCANE = 1, TECH_PRECURSOR = 2) + build_path = /obj/random/janusmodule + sort_string = "ZBBAA" diff --git a/code/modules/research/designs/sort_string_readme.dm b/code/modules/research/designs/sort_string_readme.dm new file mode 100644 index 0000000000..11521522b8 --- /dev/null +++ b/code/modules/research/designs/sort_string_readme.dm @@ -0,0 +1,91 @@ +/* + This is a guide to sort strings and categorization of designs. + Its really helpful and neat-looking when items are sorted properly in general R&D list and not just haphazardly. + + sort_string basically sorts items in alphabetic order, using sort_string itself as reference. + + + A - stock parts all always go first, and above everything else + AA - parts themselves + AAAA - matter bins + AAAB - micro manipulators + AAAC - capacitors + AAAD - scanners + AAAE - micro-lasers + AB - part replacer(s) + B - power cells + BAAA - regular power cells + BAAB - small power cells + C - Tech disks + D - GPS/beacons/locators/etc + DA - GPSs + DB - beacon/locator + DBAA - locator + DBAB - beacon + E - HUDs + F - Mining equipment + FA - drills + FB - scanners and such + G - Xenoarch equipment + H - Xenobiology equipment + HA - weapons + HB - other + I - Beakers + J - Biotech scanners and such + JAAA - mass spectrometers + JAAB - reagent scanners + JAAC - borg stuff + JAAD - plant stuff + K - Medical equipment + KA - surgery equipment + KAAA - scalpels/IMS + KAAB - bone clamp + KB - health analyzers + KC - misc + L - Implants + M - Weapons + MA - Ranged weapon + MAA - Energy ranged weapons + MAB - Ballistic ranged weapons + MABB - Ballistic ammo + MAC - Phase weapons + MAD - Other ranged weapons (darts/sprayer/fuelrod) + MADB - misc ammo + MB - Melee weapons + MC - grenade casings + N - Engineering equipment + NA - tools + NB - scanners + O, P - placeholders in case new category is needed + Q - Bags of Holding + R - Telecomms stock parts + S - AI-holders + SA - brain holders + SB - pAI + SC - intellicore + T - Misc stuff + TA - general + TB - illegal + U - Integrated circuits stuff + UA - printer + UB - upgrade disks + UC - tools + UD - holders + V - Modular computer parts + VA - hard drives + VB - network cards + VC - batteries + VD - cpus + VE - accessories without upgrades + VF - data crystals + W - PDA stuff + WA - PDA + WB - PDA cartridges + X, Y - more placeholders + Z - anomaly/precursor items + ZA - anomaly + ZB - precursor + ZBA - precursor tools + ZBB - precursor other + +*/ \ No newline at end of file diff --git a/code/modules/research/designs/stock_parts.dm b/code/modules/research/designs/stock_parts.dm index b928c6bb99..18e3c01616 100644 --- a/code/modules/research/designs/stock_parts.dm +++ b/code/modules/research/designs/stock_parts.dm @@ -14,231 +14,194 @@ 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, "glass" = 50) - build_path = /obj/item/weapon/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, "glass" = 50) - build_path = /obj/item/weapon/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, "glass" = 50, "gold" = 20) - build_path = /obj/item/weapon/stock_parts/capacitor/super - sort_string = "CAAAC" - -/datum/design/item/stock_part/hyper_capacitor - id = "hyper_capacitor" - req_tech = list(TECH_POWER = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 1, TECH_ARCANE = 1) - materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_GLASS = 100, MAT_VERDANTIUM = 30, MAT_DURASTEEL = 25) - build_path = /obj/item/weapon/stock_parts/capacitor/hyper - sort_string = "CAAAD" - -/datum/design/item/stock_part/omni_capacitor - id = "omni_capacitor" - req_tech = list(TECH_POWER = 7, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_DIAMOND = 1000, MAT_GLASS = 1000, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/capacitor/omni - sort_string = "CAAAE" - -/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/weapon/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/weapon/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/weapon/stock_parts/manipulator/pico - sort_string = "CAABC" - -/datum/design/item/stock_part/hyper_mani - id = "hyper_mani" - req_tech = list(TECH_MATERIAL = 6, TECH_DATA = 3, TECH_ARCANE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 50) - build_path = /obj/item/weapon/stock_parts/manipulator/hyper - sort_string = "CAABD" - -/datum/design/item/stock_part/omni_mani - id = "omni_mani" - req_tech = list(TECH_MATERIAL = 7, TECH_DATA = 4, TECH_PRECURSOR = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTEEL = 500, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/manipulator/omni - sort_string = "CAABE" +// Matter Bins /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/weapon/stock_parts/matter_bin - sort_string = "CAACA" + sort_string = "AAAAA" /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/weapon/stock_parts/matter_bin/adv - sort_string = "CAACB" + sort_string = "AAAAB" /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/weapon/stock_parts/matter_bin/super - sort_string = "CAACC" + sort_string = "AAAAC" /datum/design/item/stock_part/hyper_matter_bin id = "hyper_matter_bin" req_tech = list(TECH_MATERIAL = 6, TECH_ARCANE = 2) materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_VERDANTIUM = 60, MAT_DURASTEEL = 75) build_path = /obj/item/weapon/stock_parts/matter_bin/hyper - sort_string = "CAACD" + sort_string = "AAAAD" /datum/design/item/stock_part/omni_matter_bin id = "omni_matter_bin" req_tech = list(TECH_MATERIAL = 7, TECH_PRECURSOR = 2) materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTEEL = 100, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) build_path = /obj/item/weapon/stock_parts/matter_bin/omni - sort_string = "CAACE" + sort_string = "AAAAE" -/datum/design/item/stock_part/basic_micro_laser - id = "basic_micro_laser" - req_tech = list(TECH_MAGNET = 1) - materials = list(DEFAULT_WALL_MATERIAL = 10, "glass" = 20) - build_path = /obj/item/weapon/stock_parts/micro_laser - sort_string = "CAADA" +// Micro-manipulators -/datum/design/item/stock_part/high_micro_laser - id = "high_micro_laser" - req_tech = list(TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 10, "glass" = 20) - build_path = /obj/item/weapon/stock_parts/micro_laser/high - sort_string = "CAADB" +/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/weapon/stock_parts/manipulator + sort_string = "AAABA" -/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, "glass" = 20, "uranium" = 10) - build_path = /obj/item/weapon/stock_parts/micro_laser/ultra - sort_string = "CAADC" +/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/weapon/stock_parts/manipulator/nano + sort_string = "AAABB" -/datum/design/item/stock_part/hyper_micro_laser - id = "hyper_micro_laser" - req_tech = list(TECH_MAGNET = 6, TECH_MATERIAL = 6, TECH_ARCANE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_GLASS = 20, MAT_URANIUM = 30, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/micro_laser/hyper - sort_string = "CAADD" +/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/weapon/stock_parts/manipulator/pico + sort_string = "AAABC" -/datum/design/item/stock_part/omni_micro_laser - id = "omni_micro_laser" - req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 7, TECH_PRECURSOR = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 500, MAT_URANIUM = 2000, MAT_MORPHIUM = 50, MAT_DURASTEEL = 100) - build_path = /obj/item/weapon/stock_parts/micro_laser/omni - sort_string = "CAADE" +/datum/design/item/stock_part/hyper_mani + id = "hyper_mani" + req_tech = list(TECH_MATERIAL = 6, TECH_DATA = 3, TECH_ARCANE = 2) + materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 50) + build_path = /obj/item/weapon/stock_parts/manipulator/hyper + sort_string = "AAABD" + +/datum/design/item/stock_part/omni_mani + id = "omni_mani" + req_tech = list(TECH_MATERIAL = 7, TECH_DATA = 4, TECH_PRECURSOR = 2) + materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTEEL = 500, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) + build_path = /obj/item/weapon/stock_parts/manipulator/omni + sort_string = "AAABE" + +// Capacitors + +/datum/design/item/stock_part/basic_capacitor + id = "basic_capacitor" + req_tech = list(TECH_POWER = 1) + materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + build_path = /obj/item/weapon/stock_parts/capacitor + sort_string = "AAACA" + +/datum/design/item/stock_part/adv_capacitor + id = "adv_capacitor" + req_tech = list(TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + build_path = /obj/item/weapon/stock_parts/capacitor/adv + sort_string = "AAACB" + +/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, "glass" = 50, "gold" = 20) + build_path = /obj/item/weapon/stock_parts/capacitor/super + sort_string = "AAACC" + +/datum/design/item/stock_part/hyper_capacitor + id = "hyper_capacitor" + req_tech = list(TECH_POWER = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 1, TECH_ARCANE = 1) + materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_GLASS = 100, MAT_VERDANTIUM = 30, MAT_DURASTEEL = 25) + build_path = /obj/item/weapon/stock_parts/capacitor/hyper + sort_string = "AAACD" + +/datum/design/item/stock_part/omni_capacitor + id = "omni_capacitor" + req_tech = list(TECH_POWER = 7, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) + materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_DIAMOND = 1000, MAT_GLASS = 1000, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) + build_path = /obj/item/weapon/stock_parts/capacitor/omni + sort_string = "AAACE" + +// Sensors /datum/design/item/stock_part/basic_sensor id = "basic_sensor" req_tech = list(TECH_MAGNET = 1) materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20) build_path = /obj/item/weapon/stock_parts/scanning_module - sort_string = "CAAEA" + sort_string = "AAADA" /datum/design/item/stock_part/adv_sensor id = "adv_sensor" req_tech = list(TECH_MAGNET = 3) materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20) build_path = /obj/item/weapon/stock_parts/scanning_module/adv - sort_string = "CAAEB" + sort_string = "AAADB" /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, "glass" = 20, "silver" = 10) build_path = /obj/item/weapon/stock_parts/scanning_module/phasic - sort_string = "CAAEC" + sort_string = "AAADC" /datum/design/item/stock_part/hyper_sensor id = "hyper_sensor" req_tech = list(TECH_MAGNET = 6, TECH_MATERIAL = 4, TECH_ARCANE = 1) materials = list(DEFAULT_WALL_MATERIAL = 50, MAT_GLASS = 20, MAT_SILVER = 50, MAT_VERDANTIUM = 40, MAT_DURASTEEL = 50) build_path = /obj/item/weapon/stock_parts/scanning_module/hyper - sort_string = "CAAED" + sort_string = "AAADD" /datum/design/item/stock_part/omni_sensor id = "omni_sensor" req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 5, TECH_PRECURSOR = 1) materials = list(DEFAULT_WALL_MATERIAL = 1000, MAT_PLASTEEL = 500, MAT_GLASS = 750, MAT_SILVER = 500, MAT_MORPHIUM = 60, MAT_DURASTEEL = 100) build_path = /obj/item/weapon/stock_parts/scanning_module/omni - sort_string = "CAAEE" + sort_string = "AAADE" -/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, "silver" = 20) - build_path = /obj/item/weapon/stock_parts/subspace/ansible - sort_string = "UAAAA" +// Micro-lasers -/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, "silver" = 10) - build_path = /obj/item/weapon/stock_parts/subspace/sub_filter - sort_string = "UAAAB" +/datum/design/item/stock_part/basic_micro_laser + id = "basic_micro_laser" + req_tech = list(TECH_MAGNET = 1) + materials = list(DEFAULT_WALL_MATERIAL = 10, "glass" = 20) + build_path = /obj/item/weapon/stock_parts/micro_laser + sort_string = "AAAEA" -/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, "gold" = 30, "uranium" = 15) - build_path = /obj/item/weapon/stock_parts/subspace/amplifier - sort_string = "UAAAC" +/datum/design/item/stock_part/high_micro_laser + id = "high_micro_laser" + req_tech = list(TECH_MAGNET = 3) + materials = list(DEFAULT_WALL_MATERIAL = 10, "glass" = 20) + build_path = /obj/item/weapon/stock_parts/micro_laser/high + sort_string = "AAAEB" -/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, "silver" = 20) - build_path = /obj/item/weapon/stock_parts/subspace/treatment - sort_string = "UAAAD" +/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, "glass" = 20, "uranium" = 10) + build_path = /obj/item/weapon/stock_parts/micro_laser/ultra + sort_string = "AAAEC" -/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, "gold" = 15) - build_path = /obj/item/weapon/stock_parts/subspace/analyzer - sort_string = "UAAAE" +/datum/design/item/stock_part/hyper_micro_laser + id = "hyper_micro_laser" + req_tech = list(TECH_MAGNET = 6, TECH_MATERIAL = 6, TECH_ARCANE = 2) + materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_GLASS = 20, MAT_URANIUM = 30, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 100) + build_path = /obj/item/weapon/stock_parts/micro_laser/hyper + sort_string = "AAAED" -/datum/design/item/stock_part/subspace_crystal - id = "s-crystal" - req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list("glass" = 1000, "silver" = 20, "gold" = 20) - build_path = /obj/item/weapon/stock_parts/subspace/crystal - sort_string = "UAAAF" +/datum/design/item/stock_part/omni_micro_laser + id = "omni_micro_laser" + req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 7, TECH_PRECURSOR = 2) + materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 500, MAT_URANIUM = 2000, MAT_MORPHIUM = 50, MAT_DURASTEEL = 100) + build_path = /obj/item/weapon/stock_parts/micro_laser/omni + sort_string = "AAAEE" -/datum/design/item/stock_part/subspace_transmitter - id = "s-transmitter" - req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3) - materials = list("glass" = 100, "silver" = 10, "uranium" = 15) - build_path = /obj/item/weapon/stock_parts/subspace/transmitter - sort_string = "UAAAG" -// RPEDs live here because they handle stock parts +// RPEDs + /datum/design/item/stock_part/RPED name = "Rapid Part Exchange Device" desc = "Special mechanical module made to store, sort, and apply standard machine parts." @@ -246,7 +209,7 @@ req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 3) materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 5000) build_path = /obj/item/weapon/storage/part_replacer - sort_string = "CBAAA" + sort_string = "ABAAA" /datum/design/item/stock_part/ARPED name = "Advanced Rapid Part Exchange Device" @@ -255,4 +218,4 @@ req_tech = list(TECH_ENGINEERING = 5, TECH_MATERIAL = 5) materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 10000) build_path = /obj/item/weapon/storage/part_replacer/adv - sort_string = "CBAAB" \ No newline at end of file + sort_string = "ABAAB" \ No newline at end of file diff --git a/code/modules/research/designs/subspace_parts.dm b/code/modules/research/designs/subspace_parts.dm new file mode 100644 index 0000000000..0fcc0e20e0 --- /dev/null +++ b/code/modules/research/designs/subspace_parts.dm @@ -0,0 +1,54 @@ +// Telecomm parts + +/datum/design/item/stock_part/subspace/AssembleDesignName() + ..() + name = "Subspace component design ([item_name])" + +/datum/design/item/stock_part/subspace/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, "silver" = 20) + build_path = /obj/item/weapon/stock_parts/subspace/ansible + sort_string = "RAAAA" + +/datum/design/item/stock_part/subspace/hyperwave_filter + id = "s-filter" + req_tech = list(TECH_DATA = 3, TECH_MAGNET = 3) + materials = list(DEFAULT_WALL_MATERIAL = 40, "silver" = 10) + build_path = /obj/item/weapon/stock_parts/subspace/sub_filter + sort_string = "RAAAB" + +/datum/design/item/stock_part/subspace/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, "gold" = 30, "uranium" = 15) + build_path = /obj/item/weapon/stock_parts/subspace/amplifier + sort_string = "RAAAC" + +/datum/design/item/stock_part/subspace/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, "silver" = 20) + build_path = /obj/item/weapon/stock_parts/subspace/treatment + sort_string = "RAAAD" + +/datum/design/item/stock_part/subspace/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, "gold" = 15) + build_path = /obj/item/weapon/stock_parts/subspace/analyzer + sort_string = "RAAAE" + +/datum/design/item/stock_part/subspace/subspace_crystal + id = "s-crystal" + req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) + materials = list("glass" = 1000, "silver" = 20, "gold" = 20) + build_path = /obj/item/weapon/stock_parts/subspace/crystal + sort_string = "RAAAF" + +/datum/design/item/stock_part/subspace/subspace_transmitter + id = "s-transmitter" + req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3) + materials = list("glass" = 100, "silver" = 10, "uranium" = 15) + build_path = /obj/item/weapon/stock_parts/subspace/transmitter + sort_string = "RAAAG" \ No newline at end of file diff --git a/code/modules/research/designs/tech_disks.dm b/code/modules/research/designs/tech_disks.dm new file mode 100644 index 0000000000..70f6ed0022 --- /dev/null +++ b/code/modules/research/designs/tech_disks.dm @@ -0,0 +1,21 @@ +/datum/design/item/disk/AssembleDesignName() + ..() + name = "Data storage design ([name])" + +/datum/design/item/disk/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, "glass" = 10) + build_path = /obj/item/weapon/disk/design_disk + sort_string = "CAAAA" + +/datum/design/item/disk/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, "glass" = 10) + build_path = /obj/item/weapon/disk/tech_disk + sort_string = "CAAAB" \ No newline at end of file diff --git a/code/modules/research/designs/weapons.dm b/code/modules/research/designs/weapons.dm index d696b14b29..a42cb2448a 100644 --- a/code/modules/research/designs/weapons.dm +++ b/code/modules/research/designs/weapons.dm @@ -2,6 +2,10 @@ ..() name = "Weapon prototype ([item_name])" +/datum/design/item/weapon/ammo/AssembleDesignName() + ..() + name = "Weapon ammo prototype ([item_name])" + /datum/design/item/weapon/AssembleDesignDesc() if(!desc) if(build_path) @@ -9,95 +13,143 @@ desc = initial(I.desc) ..() -/datum/design/item/weapon/stunrevolver +// Energy weapons + +/datum/design/item/weapon/energy/AssembleDesignName() + ..() + name = "Energy weapon prototype ([item_name])" + +/datum/design/item/weapon/energy/stunrevolver id = "stunrevolver" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) materials = list(DEFAULT_WALL_MATERIAL = 4000) build_path = /obj/item/weapon/gun/energy/stunrevolver - sort_string = "TAAAA" + sort_string = "MAAAA" -/datum/design/item/weapon/nuclear_gun +/datum/design/item/weapon/energy/nuclear_gun id = "nuclear_gun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "uranium" = 500) build_path = /obj/item/weapon/gun/energy/gun/nuclear - sort_string = "TAAAB" + sort_string = "MAAAB" -/datum/design/item/weapon/lasercannon +/datum/design/item/weapon/energy/phoronpistol + id = "ppistol" + req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "phoron" = 3000) + build_path = /obj/item/weapon/gun/energy/toxgun + sort_string = "MAAAC" + +/datum/design/item/weapon/energy/lasercannon desc = "The lasing medium of this prototype is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core." id = "lasercannon" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1000, "diamond" = 2000) build_path = /obj/item/weapon/gun/energy/lasercannon - sort_string = "TAAAC" + sort_string = "MAAAD" -/datum/design/item/weapon/phoronpistol - id = "ppistol" - req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "phoron" = 3000) - build_path = /obj/item/weapon/gun/energy/toxgun - sort_string = "TAAAD" - -/datum/design/item/weapon/decloner +/datum/design/item/weapon/energy/decloner id = "decloner" req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) materials = list("gold" = 5000,"uranium" = 10000) build_path = /obj/item/weapon/gun/energy/decloner - sort_string = "TAAAE" + sort_string = "MAAAE" -/datum/design/item/weapon/advanced_smg +/datum/design/item/weapon/energy/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, "glass" = 500, "silver" = 3000) + build_path = /obj/item/weapon/gun/energy/temperature + sort_string = "MAAAF" + +/datum/design/item/weapon/energy/flora_gun + id = "flora_gun" + req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 500, "uranium" = 500) + build_path = /obj/item/weapon/gun/energy/floragun + sort_string = "MAAAG" + +// Ballistic weapons + +/datum/design/item/weapon/ballistic/AssembleDesignName() + ..() + name = "Ballistic weapon prototype ([item_name])" + +/datum/design/item/weapon/ballistic/advanced_smg id = "smg" desc = "An advanced 9mm SMG with a reflective laser optic." req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) materials = list(DEFAULT_WALL_MATERIAL = 8000, "silver" = 2000, "diamond" = 1000) build_path = /obj/item/weapon/gun/projectile/automatic/advanced_smg - sort_string = "TAABA" + sort_string = "MABAA" -/datum/design/item/weapon/ammo_9mmAdvanced +// Ballistic ammo + +/datum/design/item/weapon/ballistic/ammo/AssembleDesignName() + ..() + name = "Ballistic weapon ammo prototype ([name])" + +/datum/design/item/weapon/ballistic/ammo/ammo_9mmAdvanced + name = "9mm magazine" id = "ammo_9mm" desc = "A 21 round magazine for an advanced 9mm SMG." req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) materials = list(DEFAULT_WALL_MATERIAL = 3750, "silver" = 100) // Requires silver for proprietary magazines! Or something. build_path = /obj/item/ammo_magazine/m9mmAdvanced - sort_string = "TAACA" + sort_string = "MABBA" -/datum/design/item/weapon/stunshell +/datum/design/item/weapon/ballistic/ammo/stunshell + name = "stun shell" 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/a12g/stunshell - sort_string = "TAACB" + sort_string = "MABBB" -/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, "glass" = 1000) - build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer - sort_string = "TABAA" +// Phase weapons + +/datum/design/item/weapon/phase/AssembleDesignName() + ..() + name = "Phase weapon prototype ([item_name])" + +/datum/design/item/weapon/phase/phase_pistol + id = "phasepistol" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000) + build_path = /obj/item/weapon/gun/energy/phasegun/pistol + sort_string = "MACAA" + +/datum/design/item/weapon/phase/phase_carbine + id = "phasecarbine" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 1500) + build_path = /obj/item/weapon/gun/energy/phasegun + sort_string = "MACAB" + +/datum/design/item/weapon/phase/phase_rifle + id = "phaserifle" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2000, "silver" = 500) + build_path = /obj/item/weapon/gun/energy/phasegun/rifle + sort_string = "MACAC" + +/datum/design/item/weapon/phase/phase_cannon + id = "phasecannon" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) + materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "silver" = 1000, "diamond" = 750) + build_path = /obj/item/weapon/gun/energy/phasegun/cannon + sort_string = "MACAD" + +// Other weapons /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, "glass" = 1000) build_path = /obj/item/weapon/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, "glass" = 500, "silver" = 3000) - build_path = /obj/item/weapon/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/weapon/grenade/chem_grenade/large - sort_string = "TACAA" + sort_string = "MADAA" /datum/design/item/weapon/dartgun desc = "A gun that fires small hollow chemical-payload darts." @@ -105,36 +157,54 @@ req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) materials = list(DEFAULT_WALL_MATERIAL = 5000, "gold" = 5000, "silver" = 2500, "glass" = 750) build_path = /obj/item/weapon/gun/projectile/dartgun/research - sort_string = "TACAB" + sort_string = "MADAB" -/datum/design/item/weapon/dartgunmag_small +/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, "glass" = 1000) + build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer + sort_string = "MADAC" + +/datum/design/item/weapon/fuelrod + id = "fuelrod_gun" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) + materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "gold" = 500, "silver" = 500, "uranium" = 1000, "phoron" = 3000, "diamond" = 1000) + build_path = /obj/item/weapon/gun/magnetic/fuelrod + sort_string = "MADAD" + +// Ammo for those + +/datum/design/item/weapon/ammo/dartgunmag_small id = "dartgun_mag_s" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) materials = list(DEFAULT_WALL_MATERIAL = 300, "gold" = 100, "silver" = 100, "glass" = 300) build_path = /obj/item/ammo_magazine/chemdart/small - sort_string = "TACAC" + sort_string = "MADBA" -/datum/design/item/weapon/dartgun_ammo_small +/datum/design/item/weapon/ammo/dartgun_ammo_small id = "dartgun_ammo_s" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) materials = list(DEFAULT_WALL_MATERIAL = 50, "gold" = 30, "silver" = 30, "glass" = 50) build_path = /obj/item/ammo_casing/chemdart/small - sort_string = "TACAD" + sort_string = "MADBB" -/datum/design/item/weapon/dartgunmag_med +/datum/design/item/weapon/ammo/dartgunmag_med id = "dartgun_mag_m" req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 150, "silver" = 150, "diamond" = 200, "glass" = 400) build_path = /obj/item/ammo_magazine/chemdart - sort_string = "TACAE" + sort_string = "MADBC" -/datum/design/item/weapon/dartgun_ammo_med +/datum/design/item/weapon/ammo/dartgun_ammo_med id = "dartgun_ammo_m" req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) materials = list(DEFAULT_WALL_MATERIAL = 80, "gold" = 40, "silver" = 40, "glass" = 60) build_path = /obj/item/ammo_casing/chemdart - sort_string = "TACAF" + sort_string = "MADBD" +<<<<<<< HEAD /datum/design/item/weapon/fuelrod id = "fuelrod_gun" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) @@ -179,18 +249,48 @@ materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 1500) build_path = /obj/item/weapon/gun/energy/phasegun sort_string = "TPAAB" +======= +// Melee weapons +>>>>>>> 8ccac5f... Merge pull request #6459 from Heroman3003/re-sort-ch -/datum/design/item/weapon/phase_rifle - id = "phaserifle" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2000, "silver" = 500) - build_path = /obj/item/weapon/gun/energy/phasegun/rifle - sort_string = "TPAAC" +/datum/design/item/weapon/melee/AssembleDesignName() + ..() + name = "Melee weapon prototype ([item_name])" +/datum/design/item/weapon/melee/esword + name = "Portable Energy Blade" + id = "chargesword" + req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) + materials = list(MAT_PLASTEEL = 3500, "glass" = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) + build_path = /obj/item/weapon/melee/energy/sword/charge + sort_string = "MBAAA" + +/datum/design/item/weapon/melee/eaxe + name = "Energy Axe" + id = "chargeaxe" + req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) + materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) + build_path = /obj/item/weapon/melee/energy/axe/charge + sort_string = "MBAAB" + +// Grenade stuff +/datum/design/item/weapon/grenade/AssembleDesignName() + ..() + name = "Grenade casing prototype ([item_name])" + +<<<<<<< HEAD /datum/design/item/weapon/phase_cannon id = "phasecannon" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "silver" = 1000, "diamond" = 750) build_path = /obj/item/weapon/gun/energy/phasegun/cannon sort_string = "TPAAD" -*/ \ No newline at end of file +*/ +======= +/datum/design/item/weapon/grenade/large_grenade + id = "large_Grenade" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 3000) + build_path = /obj/item/weapon/grenade/chem_grenade/large + sort_string = "MCAAA" +>>>>>>> 8ccac5f... Merge pull request #6459 from Heroman3003/re-sort-ch diff --git a/code/modules/research/designs/xenoarch_toys.dm b/code/modules/research/designs/xenoarch_toys.dm new file mode 100644 index 0000000000..7c69090b1b --- /dev/null +++ b/code/modules/research/designs/xenoarch_toys.dm @@ -0,0 +1,31 @@ +/datum/design/item/weapon/xenoarch/AssembleDesignName() + ..() + name = "Xenoarcheology equipment design ([item_name])" + +// Xenoarch tools + +/datum/design/item/weapon/xenoarch/ano_scanner + name = "Alden-Saraspova counter" + id = "ano_scanner" + desc = "Aids in triangulation of exotic particles." + req_tech = list(TECH_BLUESPACE = 3, TECH_MAGNET = 3) + materials = list(DEFAULT_WALL_MATERIAL = 10000,"glass" = 5000) + build_path = /obj/item/device/ano_scanner + sort_string = "GAAAA" + +/datum/design/item/weapon/xenoarch/xenoarch_multi_tool + name = "xenoarcheology multitool" + id = "xenoarch_multitool" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3) + build_path = /obj/item/device/xenoarch_multi_tool + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "uranium" = 500, "phoron" = 500) + sort_string = "GAAAB" + +/datum/design/item/weapon/xenoarch/excavationdrill + name = "Excavation Drill" + id = "excavationdrill" + req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) + build_type = PROTOLATHE + materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) + build_path = /obj/item/weapon/pickaxe/excavationdrill + sort_string = "GAAAC" \ No newline at end of file diff --git a/code/modules/research/designs/xenobio_toys.dm b/code/modules/research/designs/xenobio_toys.dm new file mode 100644 index 0000000000..917f8ba6c3 --- /dev/null +++ b/code/modules/research/designs/xenobio_toys.dm @@ -0,0 +1,30 @@ +/datum/design/item/weapon/xenobio/AssembleDesignName() + ..() + name = "Xenobiology equipment design ([item_name])" + +// Xenobio Weapons + +/datum/design/item/weapon/xenobio/slimebaton + id = "slimebaton" + req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2, TECH_POWER = 3, TECH_COMBAT = 3) + materials = list(DEFAULT_WALL_MATERIAL = 5000) + build_path = /obj/item/weapon/melee/baton/slime + sort_string = "HAAAA" + +/datum/design/item/weapon/xenobio/slimetaser + id = "slimetaser" + req_tech = list(TECH_MATERIAL = 3, TECH_BIO = 3, TECH_POWER = 4, TECH_COMBAT = 4) + materials = list(DEFAULT_WALL_MATERIAL = 5000) + build_path = /obj/item/weapon/gun/energy/taser/xeno + sort_string = "HAAAB" + +// Other + +/datum/design/item/weapon/xenobio/slime_scanner + name = "slime scanner" + desc = "A hand-held body scanner able to learn information about slimes." + id = "slime_scanner" + req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) + materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) + build_path = /obj/item/device/slime_scanner + sort_string = "HBAAA" \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index c26874f3a4..95f0e2765a 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2948,19 +2948,27 @@ #include "code\modules\research\rdmachines.dm" #include "code\modules\research\research.dm" #include "code\modules\research\server.dm" -#include "code\modules\research\designs\ai_modules.dm" +#include "code\modules\research\designs\ai_holders.dm" +#include "code\modules\research\designs\bag_of_holding.dm" +#include "code\modules\research\designs\beakers.dm" +#include "code\modules\research\designs\bio_devices.dm" #include "code\modules\research\designs\circuit_assembly.dm" -#include "code\modules\research\designs\circuits.dm" -#include "code\modules\research\designs\illegal.dm" +#include "code\modules\research\designs\engineering.dm" +#include "code\modules\research\designs\HUDs.dm" +#include "code\modules\research\designs\implants.dm" +#include "code\modules\research\designs\locator_devices.dm" #include "code\modules\research\designs\medical.dm" #include "code\modules\research\designs\mining_toys.dm" #include "code\modules\research\designs\misc.dm" #include "code\modules\research\designs\modular_computer.dm" #include "code\modules\research\designs\pdas.dm" -#include "code\modules\research\designs\powercells.dm" +#include "code\modules\research\designs\power_cells.dm" #include "code\modules\research\designs\precursor.dm" #include "code\modules\research\designs\stock_parts.dm" +#include "code\modules\research\designs\subspace_parts.dm" +#include "code\modules\research\designs\tech_disks.dm" #include "code\modules\research\designs\weapons.dm" +<<<<<<< HEAD:vorestation.dme #include "code\modules\resleeving\circuitboards.dm" #include "code\modules\resleeving\computers.dm" #include "code\modules\resleeving\designer.dm" @@ -2978,6 +2986,12 @@ #include "code\modules\rogueminer_vr\wrappers.dm" #include "code\modules\rogueminer_vr\zone_console.dm" #include "code\modules\rogueminer_vr\zonemaster.dm" +======= +#include "code\modules\research\designs\xenoarch_toys.dm" +#include "code\modules\research\designs\xenobio_toys.dm" +#include "code\modules\research\designs\circuits\ai_modules.dm" +#include "code\modules\research\designs\circuits\circuits.dm" +>>>>>>> 8ccac5f... Merge pull request #6459 from Heroman3003/re-sort-ch:polaris.dme #include "code\modules\scripting\Errors.dm" #include "code\modules\scripting\IDE.dm" #include "code\modules\scripting\Options.dm"