diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm
index 7f7780d3a4..acfc1353b9 100644
--- a/code/game/objects/items/robot/ai_upgrades.dm
+++ b/code/game/objects/items/robot/ai_upgrades.dm
@@ -9,8 +9,10 @@
icon_state = "datadisk3"
-/obj/item/malf_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user)
+/obj/item/malf_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user, proximity)
. = ..()
+ if(!proximity)
+ return
if(!istype(AI))
return
if(AI.malf_picker)
@@ -18,7 +20,11 @@
to_chat(AI, "[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.")
else
to_chat(AI, "[user] has upgraded you with combat software!")
+ to_chat(AI, "Your current laws and objectives remain unchanged.") //this unlocks malf powers, but does not give the license to plasma flood
AI.add_malf_picker()
+ AI.hack_software = TRUE
+ log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].")
+ message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].")
to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
qdel(src)
@@ -26,12 +32,14 @@
//Lipreading
/obj/item/surveillance_upgrade
name = "surveillance software upgrade"
- desc = "A software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading."
+ desc = "An illegal software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading and hidden microphones."
icon = 'icons/obj/module.dmi'
icon_state = "datadisk3"
-/obj/item/surveillance_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user)
+/obj/item/surveillance_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user, proximity)
. = ..()
+ if(!proximity)
+ return
if(!istype(AI))
return
if(AI.eyeobj)
@@ -39,4 +47,6 @@
to_chat(AI, "[user] has upgraded you with surveillance software!")
to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.")
to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
+ log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].")
+ message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].")
qdel(src)
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index da8eb3846d..edaa5ce269 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -199,6 +199,9 @@
amount_per_transfer_from_this = 5
list_reagents = list(/datum/reagent/consumable/condensedcapsaicin = 40)
+/obj/item/reagent_containers/spray/pepper/empty // for techfab printing
+ list_reagents = null
+
/obj/item/reagent_containers/spray/pepper/suicide_act(mob/living/carbon/user)
user.visible_message("[user] begins huffing \the [src]! It looks like [user.p_theyre()] getting a dirty high!")
return OXYLOSS
diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm
index 5b247efe74..4ca780620d 100644
--- a/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm
+++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm
@@ -54,7 +54,7 @@
/datum/design/desttagger
name = "Destination Tagger"
id = "desttagger"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 250, MAT_GLASS = 125)
build_path = /obj/item/destTagger
category = list("initial", "Electronics")
@@ -62,7 +62,7 @@
/datum/design/handlabeler
name = "Hand Labeler"
id = "handlabel"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 150, MAT_GLASS = 125)
build_path = /obj/item/hand_labeler
category = list("initial", "Electronics")
@@ -73,4 +73,4 @@
build_type = AUTOLATHE
materials = list(MAT_GLASS = 20)
build_path = /obj/item/stock_parts/cell/emergency_light
- category = list("initial", "Electronics")
\ No newline at end of file
+ category = list("initial", "Electronics")
diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm
index 27852b2798..0d303c3968 100644
--- a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm
+++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm
@@ -68,66 +68,74 @@
/datum/design/scalpel
name = "Scalpel"
id = "scalpel"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_GLASS = 1000)
build_path = /obj/item/scalpel
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/circular_saw
name = "Circular Saw"
id = "circular_saw"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 6000)
build_path = /obj/item/circular_saw
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/surgicaldrill
name = "Surgical Drill"
id = "surgicaldrill"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 6000)
build_path = /obj/item/surgicaldrill
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/retractor
name = "Retractor"
id = "retractor"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 3000)
build_path = /obj/item/retractor
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/cautery
name = "Cautery"
id = "cautery"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 2500, MAT_GLASS = 750)
build_path = /obj/item/cautery
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/hemostat
name = "Hemostat"
id = "hemostat"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
build_path = /obj/item/hemostat
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/beaker
name = "Beaker"
id = "beaker"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_GLASS = 500)
build_path = /obj/item/reagent_containers/glass/beaker
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/large_beaker
name = "Large Beaker"
id = "large_beaker"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_GLASS = 2500)
build_path = /obj/item/reagent_containers/glass/beaker/large
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/healthanalyzer
name = "Health Analyzer"
@@ -141,10 +149,11 @@
/datum/design/pillbottle
name = "Pill Bottle"
id = "pillbottle"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 20, MAT_GLASS = 100)
build_path = /obj/item/storage/pill_bottle
- category = list("initial", "Medical")
+ category = list("initial", "Medical","Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/syringe
name = "Syringe"
@@ -165,15 +174,17 @@
/datum/design/hypovialsmall
name = "Hypovial"
id = "hypovial"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 500)
build_path = /obj/item/reagent_containers/glass/bottle/vial/small
- category = list("initial","Medical")
+ category = list("initial","Medical","Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/hypoviallarge
name = "Large Hypovial"
id = "large_hypovial"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 2500)
build_path = /obj/item/reagent_containers/glass/bottle/vial/large
- category = list("initial","Medical")
+ category = list("initial","Medical","Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm
index 29d28b7132..a0af3d8b1e 100644
--- a/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm
+++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm
@@ -68,58 +68,65 @@
/datum/design/pipe_painter
name = "Pipe Painter"
id = "pipe_painter"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2000)
build_path = /obj/item/pipe_painter
- category = list("initial", "Misc")
+ category = list("initial", "Misc","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/airlock_painter
name = "Airlock Painter"
id = "airlock_painter"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
build_path = /obj/item/airlock_painter
- category = list("initial", "Misc")
+ category = list("initial", "Misc","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/cultivator
name = "Cultivator"
id = "cultivator"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL=50)
build_path = /obj/item/cultivator
- category = list("initial","Misc")
+ category = list("initial","Misc","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/datum/design/plant_analyzer
name = "Plant Analyzer"
id = "plant_analyzer"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
build_path = /obj/item/plant_analyzer
- category = list("initial","Misc")
+ category = list("initial","Misc","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/datum/design/shovel
name = "Shovel"
id = "shovel"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 50)
build_path = /obj/item/shovel
- category = list("initial","Misc")
+ category = list("initial","Misc","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_CARGO
/datum/design/spade
name = "Spade"
id = "spade"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 50)
build_path = /obj/item/shovel/spade
- category = list("initial","Misc")
+ category = list("initial","Misc","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/datum/design/hatchet
name = "Hatchet"
id = "hatchet"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 15000)
build_path = /obj/item/hatchet
- category = list("initial","Misc")
+ category = list("initial","Misc","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/datum/design/recorder
name = "Universal Recorder"
@@ -220,10 +227,10 @@
/datum/design/packageWrap
name = "Package Wrapping"
id = "packagewrap"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 200, MAT_GLASS = 200)
build_path = /obj/item/stack/packageWrap
- category = list("initial", "Misc")
+ category = list("initial", "Misc","Equipment")
maxstack = 30
/datum/design/holodisk
@@ -248,4 +255,4 @@
build_type = AUTOLATHE
materials = list(MAT_METAL = 300, MAT_GLASS = 150)
build_path = /obj/item/key/collar
- category = list("initial", "Misc")
\ No newline at end of file
+ category = list("initial", "Misc")
diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm
index 0300658a84..c413f546f0 100644
--- a/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm
+++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm
@@ -7,18 +7,20 @@
/datum/design/bucket
name = "Bucket"
id = "bucket"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 200)
build_path = /obj/item/reagent_containers/glass/bucket
- category = list("initial","Tools")
+ category = list("initial","Tools","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/datum/design/crowbar
name = "Pocket Crowbar"
id = "crowbar"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 50)
build_path = /obj/item/crowbar
- category = list("initial","Tools")
+ category = list("initial","Tools","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/flashlight
name = "Flashlight"
@@ -63,10 +65,11 @@
/datum/design/tscanner
name = "T-Ray Scanner"
id = "tscanner"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 150)
build_path = /obj/item/t_scanner
- category = list("initial","Tools")
+ category = list("initial","Tools","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/weldingtool
name = "Welding Tool"
@@ -74,7 +77,8 @@
build_type = AUTOLATHE
materials = list(MAT_METAL = 70, MAT_GLASS = 20)
build_path = /obj/item/weldingtool
- category = list("initial","Tools")
+ category = list("initial","Tools","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/mini_weldingtool
name = "Emergency Welding Tool"
@@ -87,26 +91,28 @@
/datum/design/screwdriver
name = "Screwdriver"
id = "screwdriver"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 75)
build_path = /obj/item/screwdriver
- category = list("initial","Tools")
-
+ category = list("initial","Tools","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/wirecutters
name = "Wirecutters"
id = "wirecutters"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 80)
build_path = /obj/item/wirecutters
- category = list("initial","Tools")
+ category = list("initial","Tools","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/wrench
name = "Wrench"
id = "wrench"
- build_type = AUTOLATHE
+ build_type = AUTOLATHE | PROTOLATHE
materials = list(MAT_METAL = 150)
build_path = /obj/item/wrench
- category = list("initial","Tools")
+ category = list("initial","Tools","Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/welding_helmet
name = "Welding Helmet"
@@ -122,8 +128,9 @@
build_type = AUTOLATHE
materials = list(MAT_METAL = 10, MAT_GLASS = 5)
build_path = /obj/item/stack/cable_coil/random
- category = list("initial","Tools")
+ category = list("initial","Tools","Tool Designs")
maxstack = 30
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/toolbox
name = "Toolbox"
diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm
index 064e672d37..84fe526cd8 100644
--- a/code/modules/research/designs/bluespace_designs.dm
+++ b/code/modules/research/designs/bluespace_designs.dm
@@ -53,7 +53,7 @@
materials = list(MAT_DIAMOND = 1500, MAT_PLASMA = 1500)
build_path = /obj/item/stack/ore/bluespace_crystal/artificial
category = list("Bluespace Designs")
- departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/telesci_gps
name = "GPS Device"
diff --git a/code/modules/research/designs/electronics_designs.dm b/code/modules/research/designs/electronics_designs.dm
index f9af852eba..1525c6659e 100644
--- a/code/modules/research/designs/electronics_designs.dm
+++ b/code/modules/research/designs/electronics_designs.dm
@@ -23,6 +23,16 @@
category = list("Electronics")
departmental_flags = DEPARTMENTAL_FLAG_ALL
+/datum/design/ai_cam_upgrade
+ name = "AI Surveillance Software Update"
+ desc = "A software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading."
+ id = "ai_cam_upgrade"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_GOLD = 15000, MAT_SILVER = 15000, MAT_DIAMOND = 20000, MAT_PLASMA = 10000)
+ build_path = /obj/item/surveillance_upgrade
+ category = list("Electronics")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
+
///////////////////////////////////
//////////Nanite Devices///////////
///////////////////////////////////
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index f2ded3a57b..99cb5bf8ab 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -162,16 +162,6 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-/datum/design/holobarrier_med
- name = "PENLITE holobarrier projector"
- desc = "PENLITE holobarriers, a device that halts individuals with malicious diseases."
- build_type = PROTOLATHE
- build_path = /obj/item/holosign_creator/medical
- materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease)
- id = "holobarrier_med"
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
/datum/design/healthanalyzer_advanced
name = "Advanced Health Analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy."
@@ -182,6 +172,16 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+/datum/design/medspray
+ name = "Medical Spray"
+ desc = "A medical spray bottle, designed for precision application, with an unscrewable cap."
+ id = "medspray"
+ build_path = /obj/item/reagent_containers/medspray
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2500, MAT_GLASS = 500)
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
/datum/design/medicalkit
name = "Empty Medkit"
desc = "A plastic medical kit for storging medical items."
@@ -217,7 +217,7 @@
desc = "Produce additional disks for storing genetic data."
id = "cloning_disk"
build_type = PROTOLATHE
- materials = list(MAT_METAL = 300, MAT_GLASS = 100, MAT_SILVER=50)
+ materials = list(MAT_METAL = 300, MAT_GLASS = 100, MAT_SILVER = 50)
build_path = /obj/item/disk/data
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
@@ -238,6 +238,7 @@
/datum/design/defibrillator
name = "Defibrillator"
+ desc = "A portable defibrillator, used for resuscitating recently deceased crew."
id = "defibrillator"
build_type = PROTOLATHE
build_path = /obj/item/defibrillator
@@ -257,10 +258,10 @@
/datum/design/defib_heal
name = "Defibrillator Healing disk"
- desc = "An upgrade which increases the healing power of the defibrillator"
+ desc = "An upgrade which increases the healing power of the defibrillator."
id = "defib_heal"
build_type = PROTOLATHE
- materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000)
+ materials = list(MAT_METAL = 16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000)
build_path = /obj/item/disk/medical/defib_heal
construction_time = 10
category = list("Misc")
@@ -268,10 +269,10 @@
/datum/design/defib_shock
name = "Defibrillator Anti-Shock Disk"
- desc = "A safety upgrade that guarantees only the patient will get shocked"
+ desc = "A safety upgrade that guarantees only the patient will get shocked."
id = "defib_shock"
build_type = PROTOLATHE
- materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000)
+ materials = list(MAT_METAL = 16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000)
build_path = /obj/item/disk/medical/defib_shock
construction_time = 10
category = list("Misc")
@@ -279,10 +280,10 @@
/datum/design/defib_decay
name = "Defibrillator Body-Decay Extender Disk"
- desc = "An upgrade allowing the defibrillator to work on more decayed bodies"
+ desc = "An upgrade allowing the defibrillator to work on more decayed bodies."
id = "defib_decay"
build_type = PROTOLATHE
- materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 16000, MAT_SILVER = 6000, MAT_TITANIUM = 2000)
+ materials = list(MAT_METAL = 16000, MAT_GLASS = 18000, MAT_GOLD = 16000, MAT_SILVER = 6000, MAT_TITANIUM = 2000)
build_path = /obj/item/disk/medical/defib_decay
construction_time = 10
category = list("Misc")
@@ -290,15 +291,23 @@
/datum/design/defib_speed
name = "Defibrillator Fast Charge Disk"
- desc = "An upgrade to the defibrillator capacitors, which let it charge faster"
+ desc = "An upgrade to the defibrillator's capacitors, which lets it charge faster."
id = "defib_speed"
build_type = PROTOLATHE
build_path = /obj/item/disk/medical/defib_speed
- materials = list(MAT_METAL=16000, MAT_GLASS = 8000, MAT_GOLD = 26000, MAT_SILVER = 26000)
+ materials = list(MAT_METAL = 16000, MAT_GLASS = 8000, MAT_GOLD = 26000, MAT_SILVER = 26000)
construction_time = 10
category = list("Misc")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+/datum/design/defibrillator_compact
+ name = "Compact Defibrillator"
+ desc = "A compact defibrillator that can be worn on a belt."
+ id = "defibrillator_compact"
+ build_type = PROTOLATHE
+ build_path = /obj/item/defibrillator/compact
+ materials = list(MAT_METAL = 16000, MAT_GLASS = 8000, MAT_SILVER = 6000, MAT_GOLD = 3000)
+
/////////////////////////////////////////
//////////Cybernetic Implants////////////
/////////////////////////////////////////
@@ -595,115 +604,6 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-/////////////////////
-//Adv Surgery Tools//
-/////////////////////
-
-/datum/design/drapes
- name = "Plastic Drapes"
- desc = "A large surgery drape made of plastic."
- id = "drapes"
- build_type = PROTOLATHE
- materials = list(MAT_PLASTIC = 2500)
- build_path = /obj/item/surgical_drapes
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/retractor_adv
- name = "Advanced Retractor"
- desc = "An almagation of rods and gears, able to function as both a surgical clamp and retractor. "
- id = "retractor_adv"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1500, MAT_GOLD = 1000)
- build_path = /obj/item/retractor/advanced
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/surgicaldrill_adv
- name = "Surgical Laser Drill"
- desc = "It projects a high power laser used for medical applications."
- id = "surgicaldrill_adv"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 2500, MAT_GLASS = 2500, MAT_SILVER = 6000, MAT_GOLD = 5500, MAT_DIAMOND = 3500)
- build_path = /obj/item/surgicaldrill/advanced
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/scalpel_adv
- name = "Laser Scalpel"
- desc = "An advanced scalpel which uses laser technology to cut."
- id = "scalpel_adv"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 1500, MAT_GLASS = 1500, MAT_SILVER = 4000, MAT_GOLD = 2500)
- build_path = /obj/item/scalpel/advanced
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-
-/////////////////////////////////////////
-//////////Alien Surgery Tools////////////
-/////////////////////////////////////////
-
-/datum/design/alienscalpel
- name = "Alien Scalpel"
- desc = "An advanced scalpel obtained through Abductor technology."
- id = "alien_scalpel"
- build_path = /obj/item/scalpel/alien
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/alienhemostat
- name = "Alien Hemostat"
- desc = "An advanced hemostat obtained through Abductor technology."
- id = "alien_hemostat"
- build_path = /obj/item/hemostat/alien
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/alienretractor
- name = "Alien Retractor"
- desc = "An advanced retractor obtained through Abductor technology."
- id = "alien_retractor"
- build_path = /obj/item/retractor/alien
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/aliensaw
- name = "Alien Circular Saw"
- desc = "An advanced surgical saw obtained through Abductor technology."
- id = "alien_saw"
- build_path = /obj/item/circular_saw/alien
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/aliendrill
- name = "Alien Drill"
- desc = "An advanced drill obtained through Abductor technology."
- id = "alien_drill"
- build_path = /obj/item/surgicaldrill/alien
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/aliencautery
- name = "Alien Cautery"
- desc = "An advanced cautery obtained through Abductor technology."
- id = "alien_cautery"
- build_path = /obj/item/cautery/alien
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
/datum/design/cybernetic_ears
name = "Cybernetic Ears"
desc = "A pair of cybernetic ears."
diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm
index b18db566af..54a7af8f8c 100644
--- a/code/modules/research/designs/misc_designs.dm
+++ b/code/modules/research/designs/misc_designs.dm
@@ -257,7 +257,7 @@
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/datum/design/roastingstick
- name = "Advanced roasting stick"
+ name = "Advanced Roasting Stick"
desc = "A roasting stick for cooking sausages in exotic ovens."
id = "roastingstick"
build_type = PROTOLATHE
@@ -267,7 +267,7 @@
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/datum/design/locator
- name = "Bluespace locator"
+ name = "Bluespace Locator"
desc = "Used to track portable teleportation beacons and targets with embedded tracking implants."
id = "locator"
build_type = PROTOLATHE
@@ -276,6 +276,15 @@
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+/datum/design/donksoft_refill
+ name = "Donksoft Toy Vendor Refill"
+ desc = "A refill canister for Donksoft Toy Vendors."
+ id = "donksoft_refill"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 25000, MAT_GLASS = 15000, MAT_PLASMA = 20000, MAT_GOLD = 10000, MAT_SILVER = 10000)
+ build_path = /obj/item/vending_refill/donksoft
+ category = list("Equipment")
+
/////////////////////////////////////////
////////////Janitor Designs//////////////
/////////////////////////////////////////
@@ -320,8 +329,28 @@
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
+/datum/design/spraybottle
+ name = "Spray Bottle"
+ desc = "A spray bottle, with an unscrewable top."
+ id = "spraybottle"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 3000, MAT_GLASS = 200)
+ build_path = /obj/item/reagent_containers/spray
+ category = list("Equipment")
+ departmental_flags = DEPARTMENTAL_FLAG_SERVICE
+
+/datum/design/beartrap
+ name = "Bear Trap"
+ desc = "A trap used to catch space bears and other legged creatures."
+ id = "beartrap"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_TITANIUM = 1000)
+ build_path = /obj/item/restraints/legcuffs/beartrap
+ category = list("Equipment")
+ departmental_flags = DEPARTMENTAL_FLAG_SERVICE
+
/////////////////////////////////////////
-////////////Holosign Designs//////////////
+////////////Holosign Designs/////////////
/////////////////////////////////////////
/datum/design/holosign
@@ -384,141 +413,20 @@
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+/datum/design/holobarrier_med
+ name = "PENLITE holobarrier projector"
+ desc = "PENLITE holobarriers, a device that halts individuals with malicious diseases."
+ build_type = PROTOLATHE
+ build_path = /obj/item/holosign_creator/medical
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease)
+ id = "holobarrier_med"
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
///////////////////////////////
////////////Tools//////////////
///////////////////////////////
-/datum/design/rcd_upgrade/frames
- name = "RCD frames designs upgrade"
- desc = "Adds the computer frame and machine frame to the RCD."
- id = "rcd_upgrade_frames"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000)
- build_path = /obj/item/rcd_upgrade/frames
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/rcd_upgrade/simple_circuits
- name = "RCD simple circuits designs upgrade"
- desc = "Adds the simple circuits to the RCD."
- id = "rcd_upgrade_simple_circuits"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000)
- build_path = /obj/item/rcd_upgrade/simple_circuits
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/exwelder
- name = "Experimental Welding Tool"
- desc = "An experimental welder capable of self-fuel generation."
- id = "exwelder"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_PLASMA = 1500, MAT_URANIUM = 200)
- build_path = /obj/item/weldingtool/experimental
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/handdrill
- name = "Hand Drill"
- desc = "A small electric hand drill with an interchangeable screwdriver and bolt bit"
- id = "handdrill"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 3500, MAT_SILVER = 1500, MAT_TITANIUM = 2500)
- build_path = /obj/item/screwdriver/power
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/jawsoflife
- name = "Jaws of Life"
- desc = "A small, compact Jaws of Life with an interchangeable pry jaws and cutting jaws"
- id = "jawsoflife" // added one more requirment since the Jaws of Life are a bit OP
- build_path = /obj/item/crowbar/power
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 4500, MAT_SILVER = 2500, MAT_TITANIUM = 3500)
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/rcd_loaded
- name = "Rapid Construction Device"
- desc = "A tool that can construct and deconstruct walls, airlocks and floors on the fly."
- id = "rcd_loaded"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) // costs more than what it did in the autolathe, this one comes loaded.
- build_path = /obj/item/construction/rcd/loaded
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/rpd
- name = "Rapid Pipe Dispenser"
- desc = "A tool that can construct and deconstruct pipes on the fly."
- id = "rpd"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 75000, MAT_GLASS = 37500)
- build_path = /obj/item/pipe_dispenser
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/alienwrench
- name = "Alien Wrench"
- desc = "An advanced wrench obtained through Abductor technology."
- id = "alien_wrench"
- build_path = /obj/item/wrench/abductor
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/alienwirecutters
- name = "Alien Wirecutters"
- desc = "Advanced wirecutters obtained through Abductor technology."
- id = "alien_wirecutters"
- build_path = /obj/item/wirecutters/abductor
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/alienscrewdriver
- name = "Alien Screwdriver"
- desc = "An advanced screwdriver obtained through Abductor technology."
- id = "alien_screwdriver"
- build_path = /obj/item/screwdriver/abductor
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/aliencrowbar
- name = "Alien Crowbar"
- desc = "An advanced crowbar obtained through Abductor technology."
- id = "alien_crowbar"
- build_path = /obj/item/crowbar/abductor
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/alienwelder
- name = "Alien Welding Tool"
- desc = "An advanced welding tool obtained through Abductor technology."
- id = "alien_welder"
- build_path = /obj/item/weldingtool/abductor
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
-/datum/design/alienmultitool
- name = "Alien Multitool"
- desc = "An advanced multitool obtained through Abductor technology."
- id = "alien_multitool"
- build_path = /obj/item/multitool/abductor
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
- category = list("Equipment")
- departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
-
/datum/design/quantum_keycard
name = "Quantum Keycard"
desc = "Allows for the construction of a quantum keycard."
@@ -550,7 +458,7 @@
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/////////////////////////////////////////
-////////////Armour///////////////////////
+/////////////////Armour//////////////////
/////////////////////////////////////////
/datum/design/reactive_armour
@@ -564,7 +472,71 @@
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
/////////////////////////////////////////
-////////////Meteor///////////////////////
+/////////////Security////////////////////
+/////////////////////////////////////////
+
+/datum/design/seclite
+ name = "Seclite"
+ desc = "A robust flashlight used by security."
+ id = "seclite"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2500)
+ build_path = /obj/item/flashlight/seclite
+ category = list("Equipment")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/detective_scanner
+ name = "Forensic Scanner"
+ desc = "Used to remotely scan objects and biomass for DNA and fingerprints. Can print a report of the findings."
+ id = "detective_scanner"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 2500, MAT_SILVER = 2000)
+ build_path = /obj/item/detective_scanner
+ category = list("Equipment")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/pepperspray
+ name = "Pepper Spray"
+ desc = "Manufactured by UhangInc, used to blind and down an opponent quickly. Printed pepper sprays do not contain reagents."
+ id = "pepperspray"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 1000)
+ build_path = /obj/item/reagent_containers/spray/pepper/empty
+ category = list("Equipment")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/bola_energy
+ name = "Energy Bola"
+ desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests."
+ id = "bola_energy"
+ build_type = PROTOLATHE
+ materials = list(MAT_SILVER = 500, MAT_PLASMA = 500, MAT_TITANIUM = 500)
+ build_path = /obj/item/restraints/legcuffs/bola/energy
+ category = list("Equipment")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/zipties
+ name = "Zipties"
+ desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use."
+ id = "zipties"
+ build_type = PROTOLATHE
+ materials = list(MAT_PLASTIC = 250)
+ build_path = /obj/item/restraints/handcuffs/cable/zipties
+ category = list("Equipment")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/evidencebag
+ name = "Evidence Bag"
+ desc = "An empty evidence bag."
+ id = "evidencebag"
+ build_type = PROTOLATHE
+ materials = list(MAT_PLASTIC = 100)
+ build_path = /obj/item/evidencebag
+ category = list("Equipment")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/////////////////////////////////////////
+/////////////////Meteors/////////////////
/////////////////////////////////////////
/datum/design/meteor_defence
diff --git a/code/modules/research/designs/smelting_designs.dm b/code/modules/research/designs/smelting_designs.dm
index c2cbb5685e..64dcb5f754 100644
--- a/code/modules/research/designs/smelting_designs.dm
+++ b/code/modules/research/designs/smelting_designs.dm
@@ -68,4 +68,4 @@
materials = list(MAT_METAL = 4000, MAT_PLASMA = 4000)
build_path = /obj/item/stack/sheet/mineral/abductor
category = list("Stock Parts")
- departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE
+ departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
diff --git a/code/modules/research/designs/tool_designs.dm b/code/modules/research/designs/tool_designs.dm
new file mode 100644
index 0000000000..300fe6c68a
--- /dev/null
+++ b/code/modules/research/designs/tool_designs.dm
@@ -0,0 +1,246 @@
+/////////////////////////////////////////
+/////////////////Tools///////////////////
+/////////////////////////////////////////
+
+/datum/design/rcd_upgrade/frames
+ name = "RCD frames designs upgrade"
+ desc = "Adds the computer frame and machine frame to the RCD."
+ id = "rcd_upgrade_frames"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000)
+ build_path = /obj/item/rcd_upgrade/frames
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/rcd_upgrade/simple_circuits
+ name = "RCD simple circuits designs upgrade"
+ desc = "Adds the simple circuits to the RCD."
+ id = "rcd_upgrade_simple_circuits"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000)
+ build_path = /obj/item/rcd_upgrade/simple_circuits
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/rcd_loaded
+ name = "Rapid Construction Device"
+ desc = "A tool that can construct and deconstruct walls, airlocks and floors on the fly."
+ id = "rcd_loaded"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) // costs more than what it did in the autolathe, this one comes loaded.
+ build_path = /obj/item/construction/rcd/loaded
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/rpd
+ name = "Rapid Pipe Dispenser"
+ desc = "A tool that can construct and deconstruct pipes on the fly."
+ id = "rpd"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 75000, MAT_GLASS = 37500)
+ build_path = /obj/item/pipe_dispenser
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/handdrill
+ name = "Hand Drill"
+ desc = "A small electric hand drill with an interchangeable screwdriver and bolt bit"
+ id = "handdrill"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 3500, MAT_SILVER = 1500, MAT_TITANIUM = 2500)
+ build_path = /obj/item/screwdriver/power
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/jawsoflife
+ name = "Jaws of Life"
+ desc = "A small, compact Jaws of Life with an interchangeable pry jaws and cutting jaws"
+ id = "jawsoflife" // added one more requirment since the Jaws of Life are a bit OP
+ build_path = /obj/item/crowbar/power
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 4500, MAT_SILVER = 2500, MAT_TITANIUM = 3500)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/exwelder
+ name = "Experimental Welding Tool"
+ desc = "An experimental welder capable of self-fuel generation."
+ id = "exwelder"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_PLASMA = 1500, MAT_URANIUM = 200)
+ build_path = /obj/item/weldingtool/experimental
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
+
+/////////////////////////////////////////
+//////////////Alien Tools////////////////
+/////////////////////////////////////////
+
+/datum/design/alienwrench
+ name = "Alien Wrench"
+ desc = "An advanced wrench obtained through Abductor technology."
+ id = "alien_wrench"
+ build_path = /obj/item/wrench/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/alienwirecutters
+ name = "Alien Wirecutters"
+ desc = "Advanced wirecutters obtained through Abductor technology."
+ id = "alien_wirecutters"
+ build_path = /obj/item/wirecutters/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/alienscrewdriver
+ name = "Alien Screwdriver"
+ desc = "An advanced screwdriver obtained through Abductor technology."
+ id = "alien_screwdriver"
+ build_path = /obj/item/screwdriver/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/aliencrowbar
+ name = "Alien Crowbar"
+ desc = "An advanced crowbar obtained through Abductor technology."
+ id = "alien_crowbar"
+ build_path = /obj/item/crowbar/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/alienwelder
+ name = "Alien Welding Tool"
+ desc = "An advanced welding tool obtained through Abductor technology."
+ id = "alien_welder"
+ build_path = /obj/item/weldingtool/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/datum/design/alienmultitool
+ name = "Alien Multitool"
+ desc = "An advanced multitool obtained through Abductor technology."
+ id = "alien_multitool"
+ build_path = /obj/item/multitool/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
+
+/////////////////////////////////////////
+/////////Alien Surgical Tools////////////
+/////////////////////////////////////////
+
+/datum/design/alienscalpel
+ name = "Alien Scalpel"
+ desc = "An advanced scalpel obtained through Abductor technology."
+ id = "alien_scalpel"
+ build_path = /obj/item/scalpel/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/alienhemostat
+ name = "Alien Hemostat"
+ desc = "An advanced hemostat obtained through Abductor technology."
+ id = "alien_hemostat"
+ build_path = /obj/item/hemostat/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/alienretractor
+ name = "Alien Retractor"
+ desc = "An advanced retractor obtained through Abductor technology."
+ id = "alien_retractor"
+ build_path = /obj/item/retractor/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/aliensaw
+ name = "Alien Circular Saw"
+ desc = "An advanced surgical saw obtained through Abductor technology."
+ id = "alien_saw"
+ build_path = /obj/item/circular_saw/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/aliendrill
+ name = "Alien Drill"
+ desc = "An advanced drill obtained through Abductor technology."
+ id = "alien_drill"
+ build_path = /obj/item/surgicaldrill/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/aliencautery
+ name = "Alien Cautery"
+ desc = "An advanced cautery obtained through Abductor technology."
+ id = "alien_cautery"
+ build_path = /obj/item/cautery/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+
+//////////////////////
+//Adv. Surgery Tools//
+//////////////////////
+
+/datum/design/drapes
+ name = "Plastic Drapes"
+ desc = "A large surgery drape made of plastic."
+ id = "drapes"
+ build_type = PROTOLATHE
+ materials = list(MAT_PLASTIC = 2500)
+ build_path = /obj/item/surgical_drapes
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/retractor_adv
+ name = "Advanced Retractor"
+ desc = "An almagation of rods and gears, able to function as both a surgical clamp and retractor. "
+ id = "retractor_adv"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1500, MAT_GOLD = 1000)
+ build_path = /obj/item/retractor/advanced
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/surgicaldrill_adv
+ name = "Surgical Laser Drill"
+ desc = "It projects a high power laser used for medical applications."
+ id = "surgicaldrill_adv"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2500, MAT_GLASS = 2500, MAT_SILVER = 6000, MAT_GOLD = 5500, MAT_DIAMOND = 3500)
+ build_path = /obj/item/surgicaldrill/advanced
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/scalpel_adv
+ name = "Laser Scalpel"
+ desc = "An advanced scalpel which uses laser technology to cut."
+ id = "scalpel_adv"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 1500, MAT_GLASS = 1500, MAT_SILVER = 4000, MAT_GOLD = 2500)
+ build_path = /obj/item/scalpel/advanced
+ category = list("Tool Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
diff --git a/code/modules/research/machinery/protolathe.dm b/code/modules/research/machinery/protolathe.dm
index 2467def64e..684f27ccad 100644
--- a/code/modules/research/machinery/protolathe.dm
+++ b/code/modules/research/machinery/protolathe.dm
@@ -9,6 +9,7 @@
"Bluespace Designs",
"Stock Parts",
"Equipment",
+ "Tool Designs",
"Mining Designs",
"Electronics",
"Weapons",
@@ -21,4 +22,4 @@
/obj/machinery/rnd/production/protolathe/disconnect_console()
linked_console.linked_lathe = null
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/modules/research/machinery/techfab.dm b/code/modules/research/machinery/techfab.dm
index 0e809fa0e1..885f27c2cb 100644
--- a/code/modules/research/machinery/techfab.dm
+++ b/code/modules/research/machinery/techfab.dm
@@ -9,6 +9,7 @@
"Bluespace Designs",
"Stock Parts",
"Equipment",
+ "Tool Designs",
"Mining Designs",
"Electronics",
"Weapons",
@@ -31,4 +32,4 @@
production_animation = "protolathe_n"
requires_console = FALSE
consoleless_interface = TRUE
- allowed_buildtypes = PROTOLATHE | IMPRINTER
\ No newline at end of file
+ allowed_buildtypes = PROTOLATHE | IMPRINTER
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index b6a1105cf4..178921dacd 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -8,9 +8,9 @@
display_name = "Basic Research Technology"
description = "NT default research technologies."
// Default research tech, prevents bricking
- design_ids = list("basic_matter_bin", "basic_cell", "basic_scanning", "basic_capacitor", "basic_micro_laser", "micro_mani",
+ design_ids = list("basic_matter_bin", "basic_cell", "basic_scanning", "basic_capacitor", "basic_micro_laser", "micro_mani", "desttagger", "handlabel", "packagewrap",
"destructive_analyzer", "circuit_imprinter", "experimentor", "rdconsole", "design_disk", "tech_disk", "rdserver", "rdservercontrol", "mechfab",
- "space_heater", "xlarge_beaker", "sec_beanbag", "sec_rshot", "sec_bshot", "sec_slug", "sec_Islug", "sec_dart", "sec_38", "sec_38lethal",
+ "space_heater", "beaker", "large_beaker", "bucket", "xlarge_beaker", "sec_beanbag", "sec_rshot", "sec_bshot", "sec_slug", "sec_Islug", "sec_dart", "sec_38", "sec_38lethal",
"rglass","plasteel","plastitanium","plasmaglass","plasmareinforcedglass","titaniumglass","plastitaniumglass")
/datum/techweb_node/mmi
@@ -71,7 +71,7 @@
display_name = "Biological Technology"
description = "What makes us tick." //the MC, silly!
prereq_ids = list("base")
- design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen", "telescopiciv")
+ design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibrillator", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen", "telescopiciv", "medspray")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
@@ -80,7 +80,7 @@
display_name = "Advanced Biotechnology"
description = "Advanced Biotechnology"
prereq_ids = list("biotech")
- design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "defibrillator", "meta_beaker", "healthanalyzer_advanced","harvester","holobarrier_med","smartdartgun","medicinalsmartdart", "pHmeter")
+ design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "harvester", "holobarrier_med", "detective_scanner", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
@@ -595,6 +595,15 @@
export_price = 5000
////////////////////////Tools////////////////////////
+/datum/techweb_node/basic_tools
+ id = "basic_tools"
+ display_name = "Basic Tools"
+ description = "Basic mechanical, electronic, surgical and botanical tools."
+ prereq_ids = list("base")
+ design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet")
+ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500)
+ export_price = 5000
+
/datum/techweb_node/basic_mining
id = "basic_mining"
display_name = "Mining Technology"
@@ -618,7 +627,7 @@
display_name = "Advanced Sanitation Technology"
description = "Clean things better, faster, stronger, and harder!"
prereq_ids = list("adv_engi")
- design_ids = list("advmop", "buffer", "light_replacer")
+ design_ids = list("advmop", "buffer", "light_replacer", "spraybottle", "beartrap")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1750) // No longer has its bag
export_price = 5000
@@ -640,6 +649,15 @@
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750)
export_price = 5000
+/datum/techweb_node/sec_basic
+ id = "sec_basic"
+ display_name = "Basic Security Equipment"
+ description = "Standard equipment used by security."
+ design_ids = list("seclite", "pepperspray", "bola_energy", "zipties", "evidencebag")
+ prereq_ids = list("base")
+ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 750)
+ export_price = 5000
+
/////////////////////////weaponry tech/////////////////////////
/datum/techweb_node/weaponry
id = "weaponry"
@@ -1081,7 +1099,7 @@
display_name = "Illegal Technology"
description = "Dangerous research used to create dangerous objects."
prereq_ids = list("adv_engi", "adv_weaponry", "explosive_weapons")
- design_ids = list("decloner", "borg_syndicate_module", "suppressor", "largecrossbow", "donksofttoyvendor", "syndiesleeper")
+ design_ids = list("decloner", "borg_syndicate_module", "ai_cam_upgrade", "suppressor", "largecrossbow", "donksofttoyvendor", "donksoft_refill", "syndiesleeper")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
export_price = 5000
hidden = TRUE
diff --git a/tgstation.dme b/tgstation.dme
index c52912196b..7d64b2ce7f 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -2751,6 +2751,7 @@
#include "code\modules\research\designs\smelting_designs.dm"
#include "code\modules\research\designs\stock_parts_designs.dm"
#include "code\modules\research\designs\telecomms_designs.dm"
+#include "code\modules\research\designs\tool_designs.dm"
#include "code\modules\research\designs\weapon_designs.dm"
#include "code\modules\research\designs\autolathe_desings\autolathe_designs_construction.dm"
#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm"