Gradual Research (#9342)

The RnD Console UI has been overhauled.
    RnD levels are now a gradual progress instead of just leveling up, not much has changed, but deconstructed items now give more * Data disks now tell you what they contain.
    The red scanning goggles now let you see examined items' tech levels.
    RnD consoles should now open on the main menu instead of the research menu.
    Ejected items from the RnD console and destructive analyzer now go into your hands if you're adjacent.
This commit is contained in:
Geeves
2020-07-18 23:36:06 +03:00
committed by GitHub
parent ca199c182c
commit 2cb2bce2af
57 changed files with 502 additions and 467 deletions
@@ -1,12 +1,6 @@
/datum/design/circuit/aimodule
materials = list(MATERIAL_GLASS = 2000, MATERIAL_GOLD = 100)
design_order = 0
/datum/design/circuit/aimodule/AssembleDesignName()
name = "AI Law Board Design ([name])"
/datum/design/circuit/aimodule/AssembleDesignDesc()
desc = "Allows for the construction of \a '[name]' AI law boards."
p_category = "AI Law Board Designs"
/datum/design/circuit/aimodule/safeguard
name = "Safeguard"
@@ -3,12 +3,13 @@
req_tech = list(TECH_DATA = 2)
materials = list(MATERIAL_GLASS = 2000)
chemicals = list(/datum/reagent/acid = 20)
design_order = 0
/datum/design/circuit/AssembleDesignName()
..()
name = "Circuit Design ([item_name])"
/datum/design/circuit/AssembleDesignDesc()
if(!desc)
desc = "Allows for the construction of \a [item_name] circuit board."
if(ispath(build_path, /obj/item/circuitboard))
var/obj/item/circuitboard/CB = build_path
var/atom/machine = initial(CB.build_path)
desc = "Used in the construction of a: <b>[capitalize_first_letters(initial(machine.name))]</b>, [initial(machine.desc)]"
else
var/atom/A = build_path
desc = initial(A.desc)
@@ -1,9 +1,5 @@
/datum/design/circuit/computer
design_order = 1
/datum/design/circuit/computer/AssembleDesignName()
..()
name = "Computer Circuit Design ([item_name])"
p_category = "Computer Circuit Designs"
/datum/design/circuit/computer/seccamera
name = "Security Camera Monitor"
@@ -1,11 +1,17 @@
/datum/design/circuit/exosuit
design_order = 2.5
/datum/design/circuit/exosuit/AssembleDesignName()
name = "Exosuit Software Design ([name])"
p_category = "Exosuit Software Designs"
/datum/design/circuit/exosuit/AssembleDesignDesc()
desc = "Allows for the construction of \a [name] module."
if(!build_path)
desc = "A circuitboard that contains exosystems software."
return
var/obj/item/circuitboard/exosystem/CB = new build_path
var/list/softwares = CB.contains_software
desc = "Contains software suited for: "
for(var/i = 1 to softwares.len)
desc += "<b>[capitalize_first_letters(softwares[i])]</b>"
if(length(softwares) != i)
desc += ", "
/datum/design/circuit/exosuit/engineering
name = "Engineering System Control"
@@ -1,9 +1,8 @@
/datum/design/circuit/hardsuit
design_order = 2
p_category = "Hardsuit Circuit Designs"
/datum/design/circuit/hardsuit/AssembleDesignName()
..()
name = "Hardsuit Circuit Design ([item_name])"
/datum/design/circuit/hardsuit/AssembleDesignDesc()
desc = "Contains the software required to make this model of hardsuit."
/datum/design/circuit/hardsuit/industrial
name = "Industrial Suit Central Circuit Board"
@@ -1,9 +1,5 @@
/datum/design/circuit/machine
design_order = 3
/datum/design/circuit/machine/AssembleDesignName()
..()
name = "Machine Circuit Design ([item_name])"
p_category = "Machine Circuit Designs"
/datum/design/circuit/machine/arcademachine
name = "Battle Arcade Machine"
@@ -162,7 +158,6 @@
/datum/design/circuit/machine/smes_cell
name = "'SMES' Superconductive Magnetic Energy Storage"
desc = "Allows for the construction of circuits used to build a SMES."
req_tech = list(TECH_POWER = 7, TECH_ENGINEERING = 5)
build_path = /obj/item/circuitboard/smes
@@ -188,6 +183,7 @@
/datum/design/circuit/machine/aicore
name = "AI Core"
desc = "Used in the construction of an: <b>AI core</b>, Secure housing for an AI, it provides power and protection to its inhabitant."
req_tech = list(TECH_DATA = 4, TECH_BIO = 3)
build_path = /obj/item/circuitboard/aicore
@@ -1,10 +1,7 @@
/datum/design/circuit/exosuit_upgrade
design_order = 2.6
p_category = "Exosuit Hardware Upgrades"
/datum/design/circuit/exosuit_upgrade/AssembleDesignName()
name = "Exosuit Hardware Upgrade ([name])"
/datum/design/circuit/exosuit/AssembleDesignDesc()
/datum/design/circuit/exosuit_upgrade/AssembleDesignDesc()
desc = "Complex circuitry which unlock certain exosuit faculties."
/datum/design/circuit/exosuit_upgrade/remote
@@ -1,9 +1,5 @@
/datum/design/circuit/electronics
design_order = 4
/datum/design/circuit/electronics/AssembleDesignName()
..()
name = "Electronics Design ([item_name])"
p_category = "Electronics Designs"
/datum/design/circuit/electronics/secure_airlock
name = "Secure Airlock Electronics"
@@ -1,14 +1,7 @@
/datum/design/circuit/shield
req_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
materials = list(MATERIAL_GLASS = 2000, MATERIAL_GOLD = 1000)
design_order = 5
/datum/design/circuit/shield/AssembleDesignName()
name = "Shield Generator Circuit Design ([name])"
/datum/design/circuit/shield/AssembleDesignDesc()
if(!desc)
desc = "Allows for the construction of \a [name] shield generator."
p_category = "Shield Generator Circuit Designs"
/datum/design/circuit/shield/bubble
name = "Bubble"
@@ -1,12 +1,6 @@
/datum/design/circuit/tcom
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4)
design_order = 6
/datum/design/circuit/tcom/AssembleDesignName()
name = "Telecommunications Machinery Circuit Design ([name])"
/datum/design/circuit/tcom/AssembleDesignDesc()
desc = "Allows for the construction of a telecommunications [name] circuit board."
p_category = "Telecommunications Machinery Circuit Designs"
/datum/design/circuit/tcom/server
name = "Server Mainframe"
+4 -4
View File
@@ -30,8 +30,8 @@ other types of metals and chemistry for reagents).
var/list/chemicals = list() //List of chemicals.
var/build_path //The path of the object that gets created.
var/time = 10 //How many ticks it requires to build
var/p_category = "Misc"
var/category //Primarily used for Mech Fabricators, but can be used for anything.
var/design_order = 0 // How things are sorted, lower things are higher up
/datum/design/New()
..()
@@ -52,9 +52,9 @@ other types of metals and chemistry for reagents).
return
/datum/design/proc/AssembleDesignDesc()
if(!desc) //Try to make up a nice description if we don't have one
desc = "Allows for the construction of \a [item_name]."
return
if(!desc)
var/atom/build_item = build_path
desc = initial(build_item.desc)
//Returns a new instance of the item for this design
//This is to allow additional initialization to be performed, including possibly additional contructor arguments.
@@ -1,8 +1,5 @@
/datum/design/item/deployable_kit
design_order = 11
/datum/design/item/deployable_kit/AssembleDesignName()
name = "Deployable Kit Design ([name])"
p_category = "Deployable Kit Designs"
/datum/design/item/deployable_kit/mech_chair
name = "Remote Mech Centre"
@@ -1,26 +1,20 @@
/datum/design/item/disk
design_order = 11
/datum/design/item/disk/AssembleDesignName()
name = "Data Disk Design ([name])"
p_category = "Data Disk Designs"
/datum/design/item/disk/design_disk
name = "Design Storage"
desc = "Produce additional disks for storing device designs."
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/design_disk
/datum/design/item/disk/tech_disk
name = "Technology Data Storage"
desc = "Produce additional disks for storing technology data."
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/tech_disk
/datum/design/item/disk/flora_disk
name = "Flora Data Storage"
desc = "Produce additional disks for storing flora data."
req_tech = list(TECH_DATA = 1)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 10)
build_path = /obj/item/disk/botany
@@ -1,27 +1,17 @@
/datum/design/item/hud
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
design_order = 6
/datum/design/item/hud/AssembleDesignName()
..()
name = "HUD Glasses Design ([item_name])"
/datum/design/item/hud/AssembleDesignDesc()
desc = "Allows for the construction of \a [item_name] HUD glasses."
p_category = "HUD Glasses Designs"
/datum/design/item/hud/health
name = "Health"
req_tech = list(TECH_BIO = 2, TECH_MAGNET = 3)
build_path = /obj/item/clothing/glasses/hud/health
/datum/design/item/hud/security
name = "Security"
req_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 2)
build_path = /obj/item/clothing/glasses/hud/security
/datum/design/item/hud/mesons
name = "Mesons"
desc = "Using the meson-scanning technology those glasses allow you to see through walls, floor or anything else."
desc = "These glasses make use of meson-scanning technology to allow the wearer to see through solid walls and floors."
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
build_path = /obj/item/clothing/glasses/meson
@@ -1,10 +1,6 @@
/datum/design/item/implant
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
design_order = 5
/datum/design/item/implant/AssembleDesignName()
..()
name = "Implantable Biocircuit Design ([item_name])"
p_category = "Implantable Biocircuit Designs"
/datum/design/item/implant/chemical
name = "Chemical"
@@ -1,18 +1,12 @@
/datum/design/item/integrated_electronics
design_order = 8
/datum/design/item/integrated_electronics/AssembleDesignName()
..()
name = "Integrated Electronic Design ([item_name])"
p_category = "Integrated Electronics Designs"
/datum/design/item/integrated_electronics/wirer
name = "Custom Wirer Tool"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/integrated_electronics/wirer
/datum/design/item/integrated_electronics/debugger
name = "Custom Circuit Debugger Tool"
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/integrated_electronics/debugger
@@ -1,10 +1,6 @@
/datum/design/item/medical
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 20)
design_order = 4
/datum/design/item/medical/AssembleDesignName()
..()
name = "Biotech Device Design ([item_name])"
p_category = "Biotech Device Designs"
/datum/design/item/medical/health_analyzer
name = "Health Analyzer"
@@ -115,20 +111,15 @@
build_path = /obj/item/reagent_containers/personal_inhaler_cartridge/bluespace
/datum/design/item/beaker
design_order = 4.1
/datum/design/item/beaker/AssembleDesignName()
name = "Advanced Beaker Design ([item_name])"
p_category = "Advanced Beaker Design"
/datum/design/item/beaker/noreact
name = "Cryostasis"
desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units."
req_tech = list(TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 3000)
build_path = /obj/item/reagent_containers/glass/beaker/noreact
/datum/design/item/beaker/bluespace
name = "Bluespace"
desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units."
req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 6)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_PHORON = 3000, MATERIAL_DIAMOND = 500)
@@ -1,36 +1,27 @@
/datum/design/item/mining
design_order = 3
/datum/design/item/mining/AssembleDesignName()
..()
name = "Mining Equipment Design ([item_name])"
p_category = "Mining Equipment Designs"
/datum/design/item/mining/jackhammer
name = "Jackhammer"
req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 500, MATERIAL_SILVER = 500)
build_path = /obj/item/pickaxe/jackhammer
/datum/design/item/mining/drill
name = "Drill"
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 6000, MATERIAL_GLASS = 1000) //expensive, but no need for miners.
build_path = /obj/item/pickaxe/drill
/datum/design/item/mining/plasmacutter
name = "Plasma Cutter"
req_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1500, MATERIAL_GLASS = 500, MATERIAL_GOLD = 500, MATERIAL_PHORON = 500)
build_path = /obj/item/gun/energy/plasmacutter
/datum/design/item/mining/pick_diamond
name = "Diamond Pickaxe"
req_tech = list(TECH_MATERIAL = 6)
materials = list(MATERIAL_DIAMOND = 3000)
build_path = /obj/item/pickaxe/diamond
/datum/design/item/mining/drill_diamond
name = "Diamond Drill"
req_tech = list(TECH_MATERIAL = 6, TECH_POWER = 4, TECH_ENGINEERING = 4)
materials = list(DEFAULT_WALL_MATERIAL = 3000, MATERIAL_GLASS = 1000, MATERIAL_DIAMOND = 2000)
build_path = /obj/item/pickaxe/diamonddrill
@@ -1,50 +1,39 @@
/datum/design/item/modularcomponent
design_order = 9
/datum/design/item/modularcomponent/AssembleDesignName()
..()
name = "Modular Computer Component Design ([item_name])"
p_category = "Modular Computer Component Designs"
// Hard drives
/datum/design/item/modularcomponent/disk/normal
name = "Basic Hard Drive"
req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 400, MATERIAL_GLASS = 100)
build_path = /obj/item/computer_hardware/hard_drive/
build_path = /obj/item/computer_hardware/hard_drive
/datum/design/item/modularcomponent/disk/advanced
name = "Advanced Hard Drive"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 800, MATERIAL_GLASS = 200)
build_path = /obj/item/computer_hardware/hard_drive/advanced
/datum/design/item/modularcomponent/disk/super
name = "Super Hard Drive"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1600, MATERIAL_GLASS = 400)
build_path = /obj/item/computer_hardware/hard_drive/super
/datum/design/item/modularcomponent/disk/cluster
name = "Cluster Hard Drive"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4)
materials = list(DEFAULT_WALL_MATERIAL = 3200, MATERIAL_GLASS = 800)
build_path = /obj/item/computer_hardware/hard_drive/cluster
/datum/design/item/modularcomponent/disk/small
name = "Small Hard Drive"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 800, MATERIAL_GLASS = 200)
build_path = /obj/item/computer_hardware/hard_drive/small
/datum/design/item/modularcomponent/disk/micro
name = "Micro Hard Drive"
req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 400, MATERIAL_GLASS = 100)
build_path = /obj/item/computer_hardware/hard_drive/micro
// Network cards
/datum/design/item/modularcomponent/netcard/basic
name = "Basic Network Card"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 1)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 250, MATERIAL_GLASS = 100)
@@ -52,7 +41,6 @@
build_path = /obj/item/computer_hardware/network_card
/datum/design/item/modularcomponent/netcard/advanced
name = "Advanced Network Card"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 500, MATERIAL_GLASS = 200)
@@ -60,7 +48,6 @@
build_path = /obj/item/computer_hardware/network_card/advanced
/datum/design/item/modularcomponent/netcard/wired
name = "Wired Network Card"
req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 3)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 400)
@@ -69,7 +56,6 @@
// Data crystals (USB flash drives)
/datum/design/item/modularcomponent/portabledrive/basic
name = "Basic Data Crystal"
req_tech = list(TECH_DATA = 1)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 800)
@@ -77,7 +63,6 @@
build_path = /obj/item/computer_hardware/hard_drive/portable
/datum/design/item/modularcomponent/portabledrive/advanced
name = "Advanced Data Crystal"
req_tech = list(TECH_DATA = 2)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 1600)
@@ -85,7 +70,6 @@
build_path = /obj/item/computer_hardware/hard_drive/portable/advanced
/datum/design/item/modularcomponent/portabledrive/super
name = "Super Data Crystal"
req_tech = list(TECH_DATA = 4)
build_type = IMPRINTER
materials = list(MATERIAL_GLASS = 3200)
@@ -101,51 +85,43 @@
// Nano printer
/datum/design/item/modularcomponent/nanoprinter
name = "Nano Printer"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 600)
build_path = /obj/item/computer_hardware/nano_printer
// Tesla Link
/datum/design/item/modularcomponent/teslalink
name = "Tesla Link"
req_tech = list(TECH_DATA = 2, TECH_POWER = 3, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 2000)
build_path = /obj/item/computer_hardware/tesla_link
// Batteries
/datum/design/item/modularcomponent/battery/normal
name = "Standard Battery Module"
req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 400)
build_path = /obj/item/computer_hardware/battery_module
/datum/design/item/modularcomponent/battery/advanced
name = "Advanced Battery Module"
req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 800)
build_path = /obj/item/computer_hardware/battery_module/advanced
/datum/design/item/modularcomponent/battery/super
name = "Super Battery Module"
req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 1600)
build_path = /obj/item/computer_hardware/battery_module/super
/datum/design/item/modularcomponent/battery/ultra
name = "Ultra Battery Module"
req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 4)
materials = list(DEFAULT_WALL_MATERIAL = 3200)
build_path = /obj/item/computer_hardware/battery_module/ultra
/datum/design/item/modularcomponent/battery/nano
name = "Nano Battery Module"
req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1)
materials = list(DEFAULT_WALL_MATERIAL = 200)
build_path = /obj/item/computer_hardware/battery_module/nano
/datum/design/item/modularcomponent/battery/micro
name = "Micro Battery Module"
req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2)
build_type = PROTOLATHE
materials = list(DEFAULT_WALL_MATERIAL = 400)
@@ -153,7 +129,6 @@
// Processor unit
/datum/design/item/modularcomponent/cpu
name = "Computer Processor Unit"
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 1600)
@@ -161,7 +136,6 @@
build_path = /obj/item/computer_hardware/processor_unit
/datum/design/item/modularcomponent/cpu/small
name = "Computer Microprocessor Unit"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 800)
@@ -169,7 +143,6 @@
build_path = /obj/item/computer_hardware/processor_unit/small
/datum/design/item/modularcomponent/cpu/photonic
name = "Computer Photonic Processor Unit"
req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 4)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 6400, MATERIAL_GLASS = 2000)
@@ -177,7 +150,6 @@
build_path = /obj/item/computer_hardware/processor_unit/photonic
/datum/design/item/modularcomponent/cpu/photonic/small
name = "Computer Photonic Microprocessor Unit"
req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 3200, MATERIAL_GLASS = 1000)
@@ -186,7 +158,6 @@
// AI Slot
/datum/design/item/modularcomponent/aislot
name = "Intellicard Slot"
req_tech = list(TECH_POWER = 2, TECH_DATA = 3)
build_type = IMPRINTER
materials = list(DEFAULT_WALL_MATERIAL = 2000)
@@ -1,9 +1,5 @@
/datum/design/item/modular_weapon
design_order = 2.5
/datum/design/item/modular_weapon/AssembleDesignName()
..()
name = "Modular Weapon Design ([capitalize_first_letters(item_name)])"
p_category = "Modular Weapon Designs"
/datum/design/item/modular_weapon/firing_pin
req_tech = list(TECH_MATERIAL = 1)
@@ -1,15 +1,11 @@
/datum/design/item/pda
req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
design_order = 10
/datum/design/item/pda/AssembleDesignName()
..()
name = "PDA Design ([item_name])"
p_category = "PDA Designs"
/datum/design/item/pda/pda
name = "PDA"
desc = "Cheaper than whiny non-digital assistants."
desc = "A baseline, unmodified PDA. To be given to those who lost theirs."
req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 50)
build_path = /obj/item/device/pda
@@ -1,15 +1,12 @@
/datum/design/item/powercell
build_type = PROTOLATHE | MECHFAB
category = "Misc" // For the mechfab
design_order = 7
/datum/design/item/powercell/AssembleDesignName()
name = "Power Cell Design ([item_name])"
p_category = "Power Cell Designs"
/datum/design/item/powercell/AssembleDesignDesc()
if(build_path)
var/obj/item/cell/C = build_path
desc = "Allows the construction of power cells that can hold [initial(C.maxcharge)] units of energy."
..()
var/obj/item/cell/C = build_path
desc += " This level of power cell stores [initial(C.maxcharge)] units of energy."
/datum/design/item/powercell/Fabricate()
var/obj/item/cell/C = ..()
@@ -1,13 +1,12 @@
/datum/design/item/stock_part
design_order = 0
/datum/design/item/stock_part/AssembleDesignName()
..()
name = "Machine Component Design ([capitalize_first_letters(item_name)])"
p_category = "Stock Parts Designs"
/datum/design/item/stock_part/AssembleDesignDesc()
if(!desc)
desc = "A stock part used in the construction of various devices."
..()
var/obj/item/stock_parts/build_item = build_path
desc += " It has a rating of [initial(build_item.rating)]."
if(initial(build_item.rating) > 1)
desc += " It is an upgraded variant of \a [initial(build_item.parent_stock_name)]."
/datum/design/item/stock_part/basic_capacitor
req_tech = list(TECH_POWER = 1)
@@ -84,44 +83,50 @@
materials = list(DEFAULT_WALL_MATERIAL = 50, MATERIAL_GLASS = 20, MATERIAL_SILVER = 10)
build_path = /obj/item/stock_parts/scanning_module/phasic
/datum/design/item/stock_part/RPED
name = "Rapid Part Exchange Device"
desc = "Special mechanical module made to store, sort, and apply standard machine parts."
/datum/design/item/stock_part/rped
desc = "A special mechanical device made to store, sort, and apply standard machine parts."
req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GLASS = 5000)
build_path = /obj/item/storage/part_replacer
/datum/design/item/stock_part/subspace_ansible
desc = "A component used in telecomms machinery construction."
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(DEFAULT_WALL_MATERIAL = 80, MATERIAL_SILVER = 20)
build_path = /obj/item/stock_parts/subspace/ansible
/datum/design/item/stock_part/hyperwave_filter
desc = "A component used in telecomms machinery construction."
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 40, MATERIAL_SILVER = 10)
build_path = /obj/item/stock_parts/subspace/filter
/datum/design/item/stock_part/subspace_amplifier
desc = "A component used in telecomms machinery construction."
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_GOLD = 30, MATERIAL_URANIUM = 15)
build_path = /obj/item/stock_parts/subspace/amplifier
/datum/design/item/stock_part/subspace_treatment
desc = "A component used in telecomms machinery construction."
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_SILVER = 20)
build_path = /obj/item/stock_parts/subspace/treatment
/datum/design/item/stock_part/subspace_analyzer
desc = "A component used in telecomms machinery construction."
req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(DEFAULT_WALL_MATERIAL = 10, MATERIAL_GOLD = 15)
build_path = /obj/item/stock_parts/subspace/analyzer
/datum/design/item/stock_part/subspace_crystal
desc = "A component used in telecomms machinery construction."
req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2)
materials = list(MATERIAL_GLASS = 1000, MATERIAL_SILVER = 20, MATERIAL_GOLD = 20)
build_path = /obj/item/stock_parts/subspace/crystal
/datum/design/item/stock_part/subspace_transmitter
desc = "A component used in telecomms machinery construction."
req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3)
materials = list(MATERIAL_GLASS = 100, MATERIAL_SILVER = 10, MATERIAL_URANIUM = 15)
build_path = /obj/item/stock_parts/subspace/transmitter
@@ -1,34 +1,24 @@
/datum/design/item/tool
design_order = 1
/datum/design/item/tool/AssembleDesignName()
..()
name = "Advanced Tool Design ([item_name])"
p_category = "Advanced Tool Designs"
/datum/design/item/tool/powerdrill
name = "Power Drill"
desc = "An advanced drill designed to be faster than other drills." // my sides - Geeves
req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 60, MATERIAL_GLASS = 50)
build_path = /obj/item/powerdrill
/datum/design/item/tool/experimental_welder
name = "Experimental Welding Tool"
desc = "A scientifically-enhanced welding tool that uses fuel-producing microbes to gradually replenish its fuel supply."
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 500)
build_path = /obj/item/weldingtool/experimental
datum/design/item/tool/advanced_light_replacer
name = "Advanced Light Replacer"
desc = "A specialised light replacer which stores more lights, refills faster from boxes, and sucks up broken bulbs."
req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 500)
build_path = /obj/item/device/lightreplacer/advanced
/datum/design/item/tool/advmop
name = "Advanced Mop"
desc = "The most advanced tool in a custodian's arsenal, complete with a condenser for self-wetting! Just think of all the viscera you will clean up with this!"
materials = list(DEFAULT_WALL_MATERIAL = 2500, MATERIAL_GLASS = 200)
build_path = /obj/item/mop/advanced
@@ -54,81 +44,66 @@ datum/design/item/tool/advanced_light_replacer
build_path = /obj/item/device/mmi/radio_enabled
/datum/design/item/tool/beacon
name = "Bluespace Tracking Beacon"
req_tech = list(TECH_BLUESPACE = 1)
materials = list (DEFAULT_WALL_MATERIAL = 20, MATERIAL_GLASS = 10)
build_path = /obj/item/device/radio/beacon
/datum/design/item/tool/bag_holding
name = "Bag of Holding"
desc = "Using localized pockets of bluespace this bag prototype offers incredible storage capacity with the contents weighting nothing. It's a shame the bag itself is pretty heavy."
desc = "Using localized pockets of bluespace, this bag prototype offers incredible storage capacity, while the contents apply no weight to the external user. It's a shame the bag itself is pretty heavy."
req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6)
materials = list(MATERIAL_GOLD = 3000, MATERIAL_DIAMOND = 1500, MATERIAL_URANIUM = 250)
build_path = /obj/item/storage/backpack/holding
/datum/design/item/tool/power_cell_backpack
name = "Power Cell Backpack"
desc = "A backpack specially designed to hold power cells, includes a holographic display to show current charge."
req_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 2, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 7500, MATERIAL_GLASS = 2500)
build_path = /obj/item/storage/backpack/cell
/datum/design/item/tool/bluespace_crystal
name = "Artificial Bluespace Crystal"
desc = "An artificially made bluespace crystal."
req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6)
materials = list(MATERIAL_GOLD = 1500, MATERIAL_DIAMOND = 1500, MATERIAL_PHORON = 1500)
build_path = /obj/item/bluespace_crystal/artificial
/datum/design/item/tool/binaryencrypt
name = "Binary Encryption Key"
desc = "Allows for deciphering the binary channel on-the-fly."
desc = "Allows for deciphering the stationbound binary channel on-the-fly."
req_tech = list(TECH_ILLEGAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 300, MATERIAL_GLASS = 300)
build_path = /obj/item/device/encryptionkey/binary
/datum/design/item/tool/pin_extractor
name = "Pin Extraction Device"
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_ILLEGAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/device/pin_extractor
/datum/design/item/tool/analyzer
desc = "A hand-held environmental scanner which reports current gas levels."
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 30, MATERIAL_GLASS = 20)
build_path = /obj/item/device/analyzer
/datum/design/item/tool/tag_scanner
name = "Tag Scanner"
desc = "A hand-held scanner used to scan IPCs and receive data from their tags."
req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 2500)
build_path = /obj/item/ipc_tag_scanner
/datum/design/item/tool/plant_analyzer
name = "Plant Analyzer"
desc = "A hand-held plant scanner for hydroponicists and xenobotanists."
req_tech = list(TECH_MAGNET = 2, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 80, MATERIAL_GLASS = 20)
build_path = /obj/item/device/analyzer/plant_analyzer
/datum/design/item/tool/implanter
name = "Implanter"
desc = "A specialized syringe for inserting implants to subjects."
req_tech = list(TECH_BIO = 5)
materials = list(DEFAULT_WALL_MATERIAL = 320, MATERIAL_GLASS = 800)
build_path = /obj/item/implanter
/datum/design/item/tool/paicard
name = "pAI"
req_tech = list(TECH_DATA = 2)
materials = list(MATERIAL_GLASS = 500, DEFAULT_WALL_MATERIAL = 500)
build_path = /obj/item/device/paicard
/datum/design/item/tool/intellicard
name = "intelliCard"
desc = "Allows for the construction of an intelliCard."
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
materials = list(MATERIAL_GLASS = 1000, MATERIAL_GOLD = 200)
@@ -1,16 +1,5 @@
/datum/design/item/weapon
design_order = 2
/datum/design/item/weapon/AssembleDesignName()
..()
name = "Advanced Weapon Design ([capitalize_first_letters(item_name)])"
/datum/design/item/weapon/AssembleDesignDesc()
if(!desc)
if(build_path)
var/obj/item/I = build_path
desc = initial(I.desc)
..()
p_category = "Advanced Weapon Designs"
/datum/design/item/weapon/gun/Fabricate()
var/obj/item/gun/C = ..()
@@ -32,7 +21,6 @@
build_path = /obj/item/ammo_casing/shotgun/stunshell
/datum/design/item/weapon/chemsprayer
desc = "An advanced chem spraying device."
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 1000)
build_path = /obj/item/reagent_containers/spray/chemsprayer
@@ -59,14 +47,12 @@
build_path = /obj/item/melee/energy/glaive
/datum/design/item/weapon/forcegloves
name = "Force Gloves"
desc = "These gloves bend gravity and bluespace, dampening inertia and augmenting the wearer's melee capabilities."
req_tech = list(TECH_COMBAT = 3, TECH_BLUESPACE = 3, TECH_ENGINEERING = 3, TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/clothing/gloves/force/basic
/datum/design/item/weapon/eshield
name = "Energy Shield"
desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere."
req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4, TECH_ILLEGAL = 4)
materials = list(DEFAULT_WALL_MATERIAL = 1000, MATERIAL_GLASS = 3000, MATERIAL_PHORON = 1000)