oba!-iPHzuyg
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
Date: Mon, 23 Sep 2019 18:23:32 -0700
Subject: [PATCH 09/17] Add files via upload
---
icons/obj/reagentfillings.dmi | Bin 0 -> 4337 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 icons/obj/reagentfillings.dmi
diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..fa74d50e5198ca768d92575ed0847362ff366824
GIT binary patch
literal 4337
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
O18{V3wy(7HO!^<7M%st~
literal 0
HcmV?d00001
From 37a0d1fb19b8d55ae7ab72cc19781b8d3d5f529e Mon Sep 17 00:00:00 2001
From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:29:47 -0700
Subject: [PATCH 10/17] Delete chem_pack.dm
---
.../reagents/reagent_containers/chem_pack.dm | 51 -------------------
1 file changed, 51 deletions(-)
delete mode 100644 code/modules/reagents/reagent_containers/chem_pack.dm
diff --git a/code/modules/reagents/reagent_containers/chem_pack.dm b/code/modules/reagents/reagent_containers/chem_pack.dm
deleted file mode 100644
index e8a4c843..00000000
--- a/code/modules/reagents/reagent_containers/chem_pack.dm
+++ /dev/null
@@ -1,51 +0,0 @@
-/obj/item/reagent_containers/chem_pack
- name = "intravenous medicine bag"
- desc = "A plastic pressure bag, or 'chem pack', for IV administration of drugs. It is fitted with a thermosealing strip."
- icon = 'icons/obj/bloodpack.dmi'
- icon_state = "chempack"
- volume = 100
- reagent_flags = OPENCONTAINER
- spillable = TRUE
- obj_flags = UNIQUE_RENAME
- resistance_flags = ACID_PROOF
- var/sealed = FALSE
-
-/obj/item/reagent_containers/chem_pack/on_reagent_change(changetype)
- update_icon()
-
-/obj/item/reagent_containers/chem_pack/update_icon()
- cut_overlays()
-
- var/v = min(round(reagents.total_volume / volume * 10), 10)
- if(v > 0)
- var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "chempack1")
- filling.icon_state = "chempack[v]"
- filling.color = mix_color_from_reagents(reagents.reagent_list)
- add_overlay(filling)
-
-/obj/item/reagent_containers/chem_pack/AltClick(mob/living/user)
- if(user.canUseTopic(src, BE_CLOSE, NO_DEXTERY) && !sealed)
- if(iscarbon(user) && (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)))
- to_chat(user, "Uh... whoops! You accidentally spill the content of the bag onto yourself.")
- SplashReagents(user)
- return
-
- reagents.flags = NONE
- reagent_flags = DRAWABLE | INJECTABLE //To allow for sabotage or ghetto use.
- reagents.flags = reagent_flags
- spillable = FALSE
- sealed = TRUE
- to_chat(user, "You seal the bag.")
-
-/obj/item/reagent_containers/chem_pack/examine()
- . = ..()
- if(sealed)
- . += "The bag is sealed shut."
- else
- . += "Alt-click to seal it."
-
-
-obj/item/reagent_containers/chem_pack/attack_self(mob/user)
- if(sealed)
- return
- ..()
\ No newline at end of file
From dad1e738c7f640b50bee4c7a0ff27da74f9726c0 Mon Sep 17 00:00:00 2001
From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:30:11 -0700
Subject: [PATCH 11/17] Add files via upload
---
.../reagents/reagent_containers/chem_pack.dm | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 code/modules/reagents/reagent_containers/chem_pack.dm
diff --git a/code/modules/reagents/reagent_containers/chem_pack.dm b/code/modules/reagents/reagent_containers/chem_pack.dm
new file mode 100644
index 00000000..9a62cf47
--- /dev/null
+++ b/code/modules/reagents/reagent_containers/chem_pack.dm
@@ -0,0 +1,49 @@
+/obj/item/reagent_containers/chem_pack
+ name = "intravenous medicine bag"
+ desc = "A plastic pressure bag, or 'chem pack', for IV administration of drugs. It is fitted with a thermosealing strip."
+ icon = 'icons/obj/blood_pack.dmi'
+ icon_state = "chempack"
+ volume = 100
+ reagent_flags = OPENCONTAINER
+ spillable = TRUE
+ obj_flags = UNIQUE_RENAME
+ resistance_flags = ACID_PROOF
+ var/sealed = FALSE
+
+/obj/item/reagent_containers/chem_pack/on_reagent_change(changetype)
+ update_icon()
+
+/obj/item/reagent_containers/chem_pack/update_icon()
+ cut_overlays()
+
+ var/v = min(round(reagents.total_volume / volume * 10), 10)
+ if(v > 0)
+ var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "chempack1")
+ filling.icon_state = "chempack[v]"
+ filling.color = mix_color_from_reagents(reagents.reagent_list)
+ add_overlay(filling)
+
+/obj/item/reagent_containers/chem_pack/AltClick(mob/living/user)
+ if(user.canUseTopic(src, BE_CLOSE, NO_DEXTERY) && !sealed)
+ if(iscarbon(user) && (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)))
+ to_chat(user, "Uh... whoops! You accidentally spill the content of the bag onto yourself.")
+ SplashReagents(user)
+ return
+
+ reagent_flags = DRAWABLE | INJECTABLE //To allow for sabotage or ghetto use.
+ spillable = FALSE
+ sealed = TRUE
+ to_chat(user, "You seal the bag.")
+
+/obj/item/reagent_containers/chem_pack/examine()
+ . = ..()
+ if(sealed)
+ . += "The bag is sealed shut."
+ else
+ . += "Alt-click to seal it."
+
+
+obj/item/reagent_containers/chem_pack/attack_self(mob/user)
+ if(sealed)
+ return
+ ..()
\ No newline at end of file
From 112c085832a274697429c4d6c920c7aba0e61d0b Mon Sep 17 00:00:00 2001
From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:31:06 -0700
Subject: [PATCH 12/17] Delete medical_designs.dm
---
.../research/designs/medical_designs.dm | 888 ------------------
1 file changed, 888 deletions(-)
delete mode 100644 code/modules/research/designs/medical_designs.dm
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
deleted file mode 100644
index 011f63df..00000000
--- a/code/modules/research/designs/medical_designs.dm
+++ /dev/null
@@ -1,888 +0,0 @@
-/////////////////////////////////////////
-////////////Medical Tools////////////////
-/////////////////////////////////////////
-
-/datum/design/mmi
- name = "Man-Machine Interface"
- desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity."
- id = "mmi"
- build_type = PROTOLATHE | MECHFAB
- materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
- construction_time = 75
- build_path = /obj/item/mmi
- category = list("Misc","Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/posibrain
- name = "Positronic Brain"
- desc = "The latest in Artificial Intelligences."
- id = "mmi_posi"
- build_type = PROTOLATHE | MECHFAB
- materials = list(MAT_METAL = 1700, MAT_GLASS = 1350, MAT_GOLD = 500) //Gold, because SWAG.
- construction_time = 75
- build_path = /obj/item/mmi/posibrain
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/bluespacebeaker
- name = "Bluespace Beaker"
- 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"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 3000, MAT_PLASMA = 3000, MAT_DIAMOND = 250, MAT_BLUESPACE = 250)
- build_path = /obj/item/reagent_containers/glass/beaker/bluespace
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/noreactbeaker
- name = "Cryostasis Beaker"
- desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units."
- id = "splitbeaker"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 3000)
- build_path = /obj/item/reagent_containers/glass/beaker/noreact
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/xlarge_beaker
- name = "X-large Beaker"
- id = "xlarge_beaker"
- build_type = PROTOLATHE
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
- materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000)
- build_path = /obj/item/reagent_containers/glass/beaker/plastic
- category = list("Medical Designs")
-
-/datum/design/meta_beaker
- name = "Metamaterial Beaker"
- id = "meta_beaker"
- build_type = PROTOLATHE
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
- materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000, MAT_GOLD = 1000, MAT_TITANIUM = 1000)
- build_path = /obj/item/reagent_containers/glass/beaker/meta
- category = list("Medical Designs")
-
-/datum/design/bluespacesyringe
- name = "Bluespace Syringe"
- desc = "An advanced syringe that can hold 60 units of chemicals"
- id = "bluespacesyringe"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 2000, MAT_PLASMA = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 500)
- build_path = /obj/item/reagent_containers/syringe/bluespace
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/noreactsyringe
- name = "Cryo Syringe"
- desc = "An advanced syringe that stops reagents inside from reacting. It can hold up to 20 units."
- id = "noreactsyringe"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 2000, MAT_GOLD = 1000)
- build_path = /obj/item/reagent_containers/syringe/noreact
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/piercesyringe
- name = "Piercing Syringe"
- desc = "A diamond-tipped syringe that pierces armor when launched at high velocity. It can hold up to 10 units."
- id = "piercesyringe"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 2000, MAT_DIAMOND = 1000)
- build_path = /obj/item/reagent_containers/syringe/piercing
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/medicinalsmartdart
- name = "Medicinal Smartdart"
- desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented."
- id = "medicinalsmartdart"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 100, MAT_PLASTIC = 100, MAT_METAL = 100)
- build_path = /obj/item/reagent_containers/syringe/dart
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/bluespacesmartdart
- name = "bluespace smartdart"
- desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented. Has an extended volume capacity thanks to bluespace foam."
- id = "bluespacesmartdart"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 250, MAT_PLASTIC = 250, MAT_METAL = 250, MAT_BLUESPACE = 250)
- build_path = /obj/item/reagent_containers/syringe/dart/bluespace
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/smartdartgun
- name = "dart gun"
- desc = "A compressed air gun, designed to fit medicinal darts for application of medicine for those patients just out of reach."
- id = "smartdartgun"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 500, MAT_PLASTIC = 1000, MAT_METAL = 500)
- build_path = /obj/item/gun/syringe/dart
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/bluespacebodybag
- name = "Bluespace Body Bag"
- desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures."
- id = "bluespacebodybag"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500, MAT_BLUESPACE = 500)
- build_path = /obj/item/bodybag/bluespace
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/plasmarefiller
- name = "Plasma-Man Jumpsuit Refill"
- desc = "A refill pack for the auto-extinguisher on Plasma-man suits."
- id = "plasmarefiller" //Why did this have no plasmatech
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 4000, MAT_PLASMA = 1000)
- build_path = /obj/item/extinguisher_refill
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_ALL
-
-/datum/design/crewpinpointer
- name = "Crew Pinpointer"
- desc = "Allows tracking of someone's location if their suit sensors are turned to tracking beacon."
- id = "crewpinpointer"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 3000, MAT_GLASS = 1500, MAT_GOLD = 200)
- build_path = /obj/item/pinpointer/crew
- 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."
- id = "healthanalyzer_advanced"
- build_path = /obj/item/healthanalyzer/advanced
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/medicalkit
- name = "Empty Medkit"
- desc = "A plastic medical kit for storging medical items."
- id = "medicalkit"
- build_type = PROTOLATHE
- materials = list(MAT_PLASTIC = 5000)
- build_path = /obj/item/storage/firstaid //So we dont spawn medical items in it
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-
-/datum/design/chem_pack
- name = "Intravenous Medicine Bag"
- desc = "A plastic pressure bag for IV administration of drugs."
- id = "chem_pack"
- build_type = PROTOLATHE
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
- materials = list(MAT_PLASTIC = 2000)
- build_path = /obj/item/reagent_containers/chem_pack
- category = list("Medical Designs")
-
-/datum/design/blood_bag
- name = "Empty Blood Bag"
- desc = "A small sterilized plastic bag for blood."
- id = "blood_bag"
- build_path = /obj/item/reagent_containers/blood
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 1500, MAT_PLASTIC = 3500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cloning_disk
- name = "Cloning Data Disk"
- 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)
- build_path = /obj/item/disk/data
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/organbox
- name = "Empty Organ Box"
- desc = "A large cool box that can hold large amouts of medical tools or organs."
- id = "organbox"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 3000, MAT_GLASS = 1000, MAT_SILVER= 3500, MAT_GOLD = 3500, MAT_PLASTIC = 5000)
- build_path = /obj/item/storage/belt/organbox
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-////////////////////////////////////////
-//////////Defibrillator Tech////////////
-////////////////////////////////////////
-
-/datum/design/defibrillator
- name = "Defibrillator"
- id = "defibrillator"
- build_type = PROTOLATHE
- build_path = /obj/item/defibrillator
- materials = list(MAT_METAL = 8000, MAT_GLASS = 4000, MAT_SILVER = 3000, MAT_GOLD = 1500)
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/defibrillator_mount
- name = "Defibrillator Wall Mount"
- desc = "An all-in-one mounted frame for holding defibrillators, complete with ID-locked clamps and recharging cables."
- id = "defibmount"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 2000, MAT_GLASS = 1000)
- build_path = /obj/item/wallframe/defib_mount
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/defib_heal
- name = "Defibrillator Healing disk"
- 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)
- build_path = /obj/item/disk/medical/defib_heal
- construction_time = 10
- category = list("Misc")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/defib_shock
- name = "Defibrillator Anti-Shock Disk"
- 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)
- build_path = /obj/item/disk/medical/defib_shock
- construction_time = 10
- category = list("Misc")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/defib_decay
- name = "Defibrillator Body-Decay Extender Disk"
- 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)
- build_path = /obj/item/disk/medical/defib_decay
- construction_time = 10
- category = list("Misc")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/defib_speed
- name = "Defibrillator Fast Charge Disk"
- desc = "An upgrade to the defibrillator capacitors, which let 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)
- construction_time = 10
- category = list("Misc")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/////////////////////////////////////////
-//////////Cybernetic Implants////////////
-/////////////////////////////////////////
-
-/datum/design/cyberimp_welding
- name = "Welding Shield Eyes"
- desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision."
- id = "ci-welding"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 40
- materials = list(MAT_METAL = 600, MAT_GLASS = 400)
- build_path = /obj/item/organ/eyes/robotic/shield
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_gloweyes
- name = "Luminescent Eyes"
- desc = "A pair of cybernetic eyes that can emit multicolored light"
- id = "ci-gloweyes"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 40
- materials = list(MAT_METAL = 600, MAT_GLASS = 1000)
- build_path = /obj/item/organ/eyes/robotic/glow
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_breather
- name = "Breathing Tube Implant"
- desc = "This simple implant adds an internals connector to your back, allowing you to use internals without a mask and protecting you from being choked."
- id = "ci-breather"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 35
- materials = list(MAT_METAL = 600, MAT_GLASS = 250)
- build_path = /obj/item/organ/cyberimp/mouth/breathing_tube
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_surgical
- name = "Surgical Arm Implant"
- desc = "A set of surgical tools hidden behind a concealed panel on the user's arm."
- id = "ci-surgery"
- build_type = PROTOLATHE | MECHFAB
- materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
- construction_time = 200
- build_path = /obj/item/organ/cyberimp/arm/surgery
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_toolset
- name = "Toolset Arm Implant"
- desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm."
- id = "ci-toolset"
- build_type = PROTOLATHE | MECHFAB
- materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
- construction_time = 200
- build_path = /obj/item/organ/cyberimp/arm/toolset
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_medical_hud
- name = "Medical HUD Implant"
- desc = "These cybernetic eyes will display a medical HUD over everything you see. Wiggle eyes to control."
- id = "ci-medhud"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 50
- materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 500)
- build_path = /obj/item/organ/cyberimp/eyes/hud/medical
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_security_hud
- name = "Security HUD Implant"
- desc = "These cybernetic eyes will display a security HUD over everything you see. Wiggle eyes to control."
- id = "ci-sechud"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 50
- materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 750, MAT_GOLD = 750)
- build_path = /obj/item/organ/cyberimp/eyes/hud/security
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_xray
- name = "X-ray Eyes"
- desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile."
- id = "ci-xray"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 60
- materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 1000)
- build_path = /obj/item/organ/eyes/robotic/xray
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_thermals
- name = "Thermal Eyes"
- desc = "These cybernetic eyes will give you Thermal vision. Vertical slit pupil included."
- id = "ci-thermals"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 60
- materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
- build_path = /obj/item/organ/eyes/robotic/thermals
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_antidrop
- name = "Anti-Drop Implant"
- desc = "This cybernetic brain implant will allow you to force your hand muscles to contract, preventing item dropping. Twitch ear to toggle."
- id = "ci-antidrop"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 60
- materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 400, MAT_GOLD = 400)
- build_path = /obj/item/organ/cyberimp/brain/anti_drop
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_antistun
- name = "CNS Rebooter Implant"
- desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned."
- id = "ci-antistun"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 60
- materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000)
- build_path = /obj/item/organ/cyberimp/brain/anti_stun
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_nutriment
- name = "Nutriment Pump Implant"
- desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are starving."
- id = "ci-nutriment"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 40
- materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500)
- build_path = /obj/item/organ/cyberimp/chest/nutriment
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_nutriment_plus
- name = "Nutriment Pump Implant PLUS"
- desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are hungry."
- id = "ci-nutrimentplus"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 50
- materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_GOLD = 500, MAT_URANIUM = 750)
- build_path = /obj/item/organ/cyberimp/chest/nutriment/plus
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_reviver
- name = "Reviver Implant"
- desc = "This implant will attempt to revive you if you lose consciousness. For the faint of heart!"
- id = "ci-reviver"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 60
- materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 300, MAT_URANIUM = 500)
- build_path = /obj/item/organ/cyberimp/chest/reviver
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cyberimp_thrusters
- name = "Thrusters Set Implant"
- desc = "This implant will allow you to use gas from environment or your internals for propulsion in zero-gravity areas."
- id = "ci-thrusters"
- build_type = PROTOLATHE | MECHFAB
- construction_time = 80
- materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 1000)
- build_path = /obj/item/organ/cyberimp/chest/thrusters
- category = list("Misc", "Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/////////////////////////////////////////
-////////////Regular Implants/////////////
-/////////////////////////////////////////
-
-/datum/design/implanter
- name = "Implanter"
- desc = "A sterile automatic implant injector."
- id = "implanter"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 600, MAT_GLASS = 200)
- build_path = /obj/item/implanter
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/implantcase
- name = "Implant Case"
- desc = "A glass case for containing an implant."
- id = "implantcase"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 500)
- build_path = /obj/item/implantcase
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/implant_sadtrombone
- name = "Sad Trombone Implant Case"
- desc = "Makes death amusing."
- id = "implant_trombone"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 500, MAT_BANANIUM = 500)
- build_path = /obj/item/implantcase/sad_trombone
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_ALL //if you get bananium you get the sad trombones.
-
-/datum/design/implant_chem
- name = "Chemical Implant Case"
- desc = "A glass case containing an implant."
- id = "implant_chem"
- build_type = PROTOLATHE
- materials = list(MAT_GLASS = 700)
- build_path = /obj/item/implantcase/chem
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/implant_tracking
- name = "Tracking Implant Case"
- desc = "A glass case containing an implant."
- id = "implant_tracking"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500)
- build_path = /obj/item/implantcase/track
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
-
-//Cybernetic organs
-
-/datum/design/cybernetic_liver
- name = "Cybernetic Liver"
- desc = "A cybernetic liver"
- id = "cybernetic_liver"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500)
- build_path = /obj/item/organ/liver/cybernetic
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cybernetic_heart
- name = "Cybernetic Heart"
- desc = "A cybernetic heart"
- id = "cybernetic_heart"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500)
- build_path = /obj/item/organ/heart/cybernetic
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cybernetic_liver_u
- name = "Upgraded Cybernetic Liver"
- desc = "An upgraded cybernetic liver"
- id = "cybernetic_liver_u"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500)
- build_path = /obj/item/organ/liver/cybernetic/upgraded
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cybernetic_lungs
- name = "Cybernetic Lungs"
- desc = "A pair of cybernetic lungs."
- id = "cybernetic_lungs"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500)
- build_path = /obj/item/organ/lungs/cybernetic
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cybernetic_lungs_u
- name = "Upgraded Cybernetic Lungs"
- desc = "A pair of upgraded cybernetic lungs."
- id = "cybernetic_lungs_u"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500)
- build_path = /obj/item/organ/lungs/cybernetic/upgraded
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/cybernetic_tongue
- name = "Cybernetic tongue"
- desc = "A fancy cybernetic tongue."
- id = "cybernetic_tongue"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500)
- build_path = /obj/item/organ/tongue/cybernetic
- 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 = "A high-class, premium retractor, featuring precision crafted, silver-plated hook-ends and an electrum handle."
- 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/adv
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/hemostat_adv
- name = "Advanced Hemostat"
- desc = "An exceptionally fine pair of arterial forceps. These appear to be plated in electrum and feel soft to the touch."
- id = "hemostat_adv"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1000, MAT_GOLD = 1500)
- build_path = /obj/item/hemostat/adv
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/cautery_adv
- name = "Electrocautery" //This is based on real-life science.
- desc = "A high-tech unipolar Electrocauter. This tiny device contains an extremely powerful microbattery that uses arcs of electricity to painlessly sear wounds shut. It seems to recharge with the user's body-heat. Wow!"
- id = "cautery_adv"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1000, MAT_GOLD = 1500)
- build_path = /obj/item/cautery/adv
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/surgicaldrill_adv
- name = "Surgical Autodrill"
- desc = "With a diamond tip and built-in depth and safety sensors, this drill alerts the user before overpenetrating a patient's skull or tooth. There also appears to be a disable switch."
- 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/adv
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/scalpel_adv
- name = "Precision Scalpel"
- desc = "A perfectly balanced electrum scalpel with a silicon-coated edge to eliminate wear and tear."
- 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/adv
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
-/datum/design/circular_saw_adv
- name = "Diamond-Grit Circular Saw"
- desc = "For those Assistants with REALLY thick skulls."
- id = "circular_saw_adv"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 7500, MAT_GLASS = 6000, MAT_SILVER = 6500, MAT_GOLD = 7500, MAT_DIAMOND = 4500)
- build_path = /obj/item/circular_saw/adv
- 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
-
-/////////////////////
-///Surgery Designs///
-/////////////////////
-
-/datum/design/surgery
- name = "Surgery Design"
- desc = "what"
- id = "surgery_parent"
- research_icon = 'icons/obj/surgery.dmi'
- research_icon_state = "surgery_any"
- var/surgery
-
-/datum/design/surgery/lobotomy
- name = "Lobotomy"
- desc = "An invasive surgical procedure which guarantees removal of almost all brain traumas, but might cause another permanent trauma in return."
- id = "surgery_lobotomy"
- surgery = /datum/surgery/advanced/lobotomy
- research_icon_state = "surgery_head"
-
-/datum/design/surgery/pacify
- name = "Pacification"
- desc = "A surgical procedure which permanently inhibits the aggression center of the brain, making the patient unwilling to cause direct harm."
- id = "surgery_pacify"
- surgery = /datum/surgery/advanced/pacify
- research_icon_state = "surgery_head"
-
-/datum/design/surgery/viral_bonding
- name = "Viral Bonding"
- desc = "A surgical procedure that forces a symbiotic relationship between a virus and its host. The patient must be dosed with spaceacillin, virus food, and formaldehyde."
- id = "surgery_viral_bond"
- surgery = /datum/surgery/advanced/viral_bonding
- research_icon_state = "surgery_chest"
-
-/datum/design/surgery/reconstruction
- name = "Reconstruction"
- desc = "A surgical procedure that gradually repairs damage done to a body without the assistance of chemicals. Unlike classic medicine, it is effective on corpses."
- id = "surgery_reconstruction"
- surgery = /datum/surgery/advanced/reconstruction
- research_icon_state = "surgery_chest"
-
-/datum/design/surgery/revival
- name = "Revival"
- desc = "An experimental surgical procedure which involves reconstruction and reactivation of the patient's brain even long after death. The body must still be able to sustain life."
- id = "surgery_revival"
- surgery = /datum/surgery/advanced/revival
- research_icon_state = "surgery_head"
-
-/datum/design/surgery/brainwashing
- name = "Brainwashing"
- desc = "A surgical procedure which directly implants a directive into the patient's brain, making it their absolute priority. It can be cleared using a mindshield implant."
- id = "surgery_brainwashing"
- surgery = /datum/surgery/advanced/brainwashing
- research_icon_state = "surgery_head"
-
-/datum/design/surgery/nerve_splicing
- name = "Nerve Splicing"
- desc = "A surgical procedure which splices the patient's nerves, making them more resistant to stuns."
- id = "surgery_nerve_splice"
- surgery = /datum/surgery/advanced/bioware/nerve_splicing
- research_icon_state = "surgery_chest"
-
-/datum/design/surgery/nerve_grounding
- name = "Nerve Grounding"
- desc = "A surgical procedure which makes the patient's nerves act as grounding rods, protecting them from electrical shocks."
- id = "surgery_nerve_ground"
- surgery = /datum/surgery/advanced/bioware/nerve_grounding
- research_icon_state = "surgery_chest"
-
-/datum/design/surgery/vein_threading
- name = "Vein Threading"
- desc = "A surgical procedure which severely reduces the amount of blood lost in case of injury."
- id = "surgery_vein_thread"
- surgery = /datum/surgery/advanced/bioware/vein_threading
- research_icon_state = "surgery_chest"
-
-/datum/design/surgery/necrotic_revival
- name = "Necrotic Revival"
- desc = "An experimental surgical procedure that stimulates the growth of a Romerol tumor inside the patient's brain. Requires zombie powder or rezadone."
- id = "surgery_zombie"
- surgery = /datum/surgery/advanced/necrotic_revival
- research_icon_state = "surgery_head"
-
-/////////////////////////////////////////
-////////////Medical Prosthetics//////////
-/////////////////////////////////////////
-
-/datum/design/basic_l_arm
- name = "Surplus prosthetic left arm"
- desc = "Basic outdated and fragile prosthetic left arm."
- id = "basic_l_arm"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
- construction_time = 20
- build_path = /obj/item/bodypart/l_arm/robot/surplus
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/basic_r_arm
- name = "Surplus prosthetic right arm"
- desc = "Basic outdated and fragile prosthetic left arm."
- id = "basic_r_arm"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
- construction_time = 20
- build_path = /obj/item/bodypart/r_arm/robot/surplus
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/basic_l_leg
- name = "Surplus prosthetic left leg"
- desc = "Basic outdated and fragile prosthetic left leg."
- id = "basic_l_leg"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
- construction_time = 20
- build_path = /obj/item/bodypart/l_leg/robot/surplus
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/basic_r_leg
- name = "Surplus prosthetic right leg"
- desc = "Basic outdated and fragile prosthetic right leg."
- id = "basic_r_leg"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
- construction_time = 20
- build_path = /obj/item/bodypart/r_leg/robot/surplus
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/adv_r_leg
- name = "Advanced prosthetic right leg"
- desc = "A renforced prosthetic right leg."
- id = "adv_r_leg"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
- construction_time = 40
- build_path = /obj/item/bodypart/r_leg/robot/surplus_upgraded
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/adv_l_leg
- name = "Advanced prosthetic left leg"
- desc = "A renforced prosthetic left leg."
- id = "adv_l_leg"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
- construction_time = 40
- build_path = /obj/item/bodypart/l_leg/robot/surplus_upgraded
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/adv_l_arm
- name = "Advanced prosthetic left arm"
- desc = "A renforced prosthetic left arm."
- id = "adv_l_arm"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
- construction_time = 40
- build_path = /obj/item/bodypart/l_arm/robot/surplus_upgraded
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-
-/datum/design/adv_r_arm
- name = "Advanced prosthetic right arm"
- desc = "A renforced prosthetic right arm."
- id = "adv_r_arm"
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
- construction_time = 40
- build_path = /obj/item/bodypart/r_arm/robot/surplus_upgraded
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
From 9c89c068fc32530c5556b25b0013d6e33c82c5a9 Mon Sep 17 00:00:00 2001
From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:31:18 -0700
Subject: [PATCH 13/17] Add files via upload
---
.../research/designs/medical_designs.dm | 888 ++++++++++++++++++
1 file changed, 888 insertions(+)
create mode 100644 code/modules/research/designs/medical_designs.dm
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
new file mode 100644
index 00000000..011f63df
--- /dev/null
+++ b/code/modules/research/designs/medical_designs.dm
@@ -0,0 +1,888 @@
+/////////////////////////////////////////
+////////////Medical Tools////////////////
+/////////////////////////////////////////
+
+/datum/design/mmi
+ name = "Man-Machine Interface"
+ desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity."
+ id = "mmi"
+ build_type = PROTOLATHE | MECHFAB
+ materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
+ construction_time = 75
+ build_path = /obj/item/mmi
+ category = list("Misc","Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/posibrain
+ name = "Positronic Brain"
+ desc = "The latest in Artificial Intelligences."
+ id = "mmi_posi"
+ build_type = PROTOLATHE | MECHFAB
+ materials = list(MAT_METAL = 1700, MAT_GLASS = 1350, MAT_GOLD = 500) //Gold, because SWAG.
+ construction_time = 75
+ build_path = /obj/item/mmi/posibrain
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/bluespacebeaker
+ name = "Bluespace Beaker"
+ 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"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 3000, MAT_PLASMA = 3000, MAT_DIAMOND = 250, MAT_BLUESPACE = 250)
+ build_path = /obj/item/reagent_containers/glass/beaker/bluespace
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/noreactbeaker
+ name = "Cryostasis Beaker"
+ desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units."
+ id = "splitbeaker"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 3000)
+ build_path = /obj/item/reagent_containers/glass/beaker/noreact
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/xlarge_beaker
+ name = "X-large Beaker"
+ id = "xlarge_beaker"
+ build_type = PROTOLATHE
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+ materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000)
+ build_path = /obj/item/reagent_containers/glass/beaker/plastic
+ category = list("Medical Designs")
+
+/datum/design/meta_beaker
+ name = "Metamaterial Beaker"
+ id = "meta_beaker"
+ build_type = PROTOLATHE
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+ materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000, MAT_GOLD = 1000, MAT_TITANIUM = 1000)
+ build_path = /obj/item/reagent_containers/glass/beaker/meta
+ category = list("Medical Designs")
+
+/datum/design/bluespacesyringe
+ name = "Bluespace Syringe"
+ desc = "An advanced syringe that can hold 60 units of chemicals"
+ id = "bluespacesyringe"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 2000, MAT_PLASMA = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 500)
+ build_path = /obj/item/reagent_containers/syringe/bluespace
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/noreactsyringe
+ name = "Cryo Syringe"
+ desc = "An advanced syringe that stops reagents inside from reacting. It can hold up to 20 units."
+ id = "noreactsyringe"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 2000, MAT_GOLD = 1000)
+ build_path = /obj/item/reagent_containers/syringe/noreact
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/piercesyringe
+ name = "Piercing Syringe"
+ desc = "A diamond-tipped syringe that pierces armor when launched at high velocity. It can hold up to 10 units."
+ id = "piercesyringe"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 2000, MAT_DIAMOND = 1000)
+ build_path = /obj/item/reagent_containers/syringe/piercing
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/medicinalsmartdart
+ name = "Medicinal Smartdart"
+ desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented."
+ id = "medicinalsmartdart"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 100, MAT_PLASTIC = 100, MAT_METAL = 100)
+ build_path = /obj/item/reagent_containers/syringe/dart
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/bluespacesmartdart
+ name = "bluespace smartdart"
+ desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented. Has an extended volume capacity thanks to bluespace foam."
+ id = "bluespacesmartdart"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 250, MAT_PLASTIC = 250, MAT_METAL = 250, MAT_BLUESPACE = 250)
+ build_path = /obj/item/reagent_containers/syringe/dart/bluespace
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/smartdartgun
+ name = "dart gun"
+ desc = "A compressed air gun, designed to fit medicinal darts for application of medicine for those patients just out of reach."
+ id = "smartdartgun"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 500, MAT_PLASTIC = 1000, MAT_METAL = 500)
+ build_path = /obj/item/gun/syringe/dart
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/bluespacebodybag
+ name = "Bluespace Body Bag"
+ desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures."
+ id = "bluespacebodybag"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500, MAT_BLUESPACE = 500)
+ build_path = /obj/item/bodybag/bluespace
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/plasmarefiller
+ name = "Plasma-Man Jumpsuit Refill"
+ desc = "A refill pack for the auto-extinguisher on Plasma-man suits."
+ id = "plasmarefiller" //Why did this have no plasmatech
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 4000, MAT_PLASMA = 1000)
+ build_path = /obj/item/extinguisher_refill
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ALL
+
+/datum/design/crewpinpointer
+ name = "Crew Pinpointer"
+ desc = "Allows tracking of someone's location if their suit sensors are turned to tracking beacon."
+ id = "crewpinpointer"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 3000, MAT_GLASS = 1500, MAT_GOLD = 200)
+ build_path = /obj/item/pinpointer/crew
+ 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."
+ id = "healthanalyzer_advanced"
+ build_path = /obj/item/healthanalyzer/advanced
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500)
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/medicalkit
+ name = "Empty Medkit"
+ desc = "A plastic medical kit for storging medical items."
+ id = "medicalkit"
+ build_type = PROTOLATHE
+ materials = list(MAT_PLASTIC = 5000)
+ build_path = /obj/item/storage/firstaid //So we dont spawn medical items in it
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+
+/datum/design/chem_pack
+ name = "Intravenous Medicine Bag"
+ desc = "A plastic pressure bag for IV administration of drugs."
+ id = "chem_pack"
+ build_type = PROTOLATHE
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+ materials = list(MAT_PLASTIC = 2000)
+ build_path = /obj/item/reagent_containers/chem_pack
+ category = list("Medical Designs")
+
+/datum/design/blood_bag
+ name = "Empty Blood Bag"
+ desc = "A small sterilized plastic bag for blood."
+ id = "blood_bag"
+ build_path = /obj/item/reagent_containers/blood
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 1500, MAT_PLASTIC = 3500)
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cloning_disk
+ name = "Cloning Data Disk"
+ 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)
+ build_path = /obj/item/disk/data
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/organbox
+ name = "Empty Organ Box"
+ desc = "A large cool box that can hold large amouts of medical tools or organs."
+ id = "organbox"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 3000, MAT_GLASS = 1000, MAT_SILVER= 3500, MAT_GOLD = 3500, MAT_PLASTIC = 5000)
+ build_path = /obj/item/storage/belt/organbox
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+////////////////////////////////////////
+//////////Defibrillator Tech////////////
+////////////////////////////////////////
+
+/datum/design/defibrillator
+ name = "Defibrillator"
+ id = "defibrillator"
+ build_type = PROTOLATHE
+ build_path = /obj/item/defibrillator
+ materials = list(MAT_METAL = 8000, MAT_GLASS = 4000, MAT_SILVER = 3000, MAT_GOLD = 1500)
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/defibrillator_mount
+ name = "Defibrillator Wall Mount"
+ desc = "An all-in-one mounted frame for holding defibrillators, complete with ID-locked clamps and recharging cables."
+ id = "defibmount"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_GLASS = 1000)
+ build_path = /obj/item/wallframe/defib_mount
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/defib_heal
+ name = "Defibrillator Healing disk"
+ 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)
+ build_path = /obj/item/disk/medical/defib_heal
+ construction_time = 10
+ category = list("Misc")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/defib_shock
+ name = "Defibrillator Anti-Shock Disk"
+ 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)
+ build_path = /obj/item/disk/medical/defib_shock
+ construction_time = 10
+ category = list("Misc")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/defib_decay
+ name = "Defibrillator Body-Decay Extender Disk"
+ 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)
+ build_path = /obj/item/disk/medical/defib_decay
+ construction_time = 10
+ category = list("Misc")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/defib_speed
+ name = "Defibrillator Fast Charge Disk"
+ desc = "An upgrade to the defibrillator capacitors, which let 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)
+ construction_time = 10
+ category = list("Misc")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/////////////////////////////////////////
+//////////Cybernetic Implants////////////
+/////////////////////////////////////////
+
+/datum/design/cyberimp_welding
+ name = "Welding Shield Eyes"
+ desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision."
+ id = "ci-welding"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 40
+ materials = list(MAT_METAL = 600, MAT_GLASS = 400)
+ build_path = /obj/item/organ/eyes/robotic/shield
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_gloweyes
+ name = "Luminescent Eyes"
+ desc = "A pair of cybernetic eyes that can emit multicolored light"
+ id = "ci-gloweyes"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 40
+ materials = list(MAT_METAL = 600, MAT_GLASS = 1000)
+ build_path = /obj/item/organ/eyes/robotic/glow
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_breather
+ name = "Breathing Tube Implant"
+ desc = "This simple implant adds an internals connector to your back, allowing you to use internals without a mask and protecting you from being choked."
+ id = "ci-breather"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 35
+ materials = list(MAT_METAL = 600, MAT_GLASS = 250)
+ build_path = /obj/item/organ/cyberimp/mouth/breathing_tube
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_surgical
+ name = "Surgical Arm Implant"
+ desc = "A set of surgical tools hidden behind a concealed panel on the user's arm."
+ id = "ci-surgery"
+ build_type = PROTOLATHE | MECHFAB
+ materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
+ construction_time = 200
+ build_path = /obj/item/organ/cyberimp/arm/surgery
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_toolset
+ name = "Toolset Arm Implant"
+ desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm."
+ id = "ci-toolset"
+ build_type = PROTOLATHE | MECHFAB
+ materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
+ construction_time = 200
+ build_path = /obj/item/organ/cyberimp/arm/toolset
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_medical_hud
+ name = "Medical HUD Implant"
+ desc = "These cybernetic eyes will display a medical HUD over everything you see. Wiggle eyes to control."
+ id = "ci-medhud"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 50
+ materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 500)
+ build_path = /obj/item/organ/cyberimp/eyes/hud/medical
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_security_hud
+ name = "Security HUD Implant"
+ desc = "These cybernetic eyes will display a security HUD over everything you see. Wiggle eyes to control."
+ id = "ci-sechud"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 50
+ materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 750, MAT_GOLD = 750)
+ build_path = /obj/item/organ/cyberimp/eyes/hud/security
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_xray
+ name = "X-ray Eyes"
+ desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile."
+ id = "ci-xray"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
+ materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 1000)
+ build_path = /obj/item/organ/eyes/robotic/xray
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_thermals
+ name = "Thermal Eyes"
+ desc = "These cybernetic eyes will give you Thermal vision. Vertical slit pupil included."
+ id = "ci-thermals"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
+ materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
+ build_path = /obj/item/organ/eyes/robotic/thermals
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_antidrop
+ name = "Anti-Drop Implant"
+ desc = "This cybernetic brain implant will allow you to force your hand muscles to contract, preventing item dropping. Twitch ear to toggle."
+ id = "ci-antidrop"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
+ materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 400, MAT_GOLD = 400)
+ build_path = /obj/item/organ/cyberimp/brain/anti_drop
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_antistun
+ name = "CNS Rebooter Implant"
+ desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned."
+ id = "ci-antistun"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
+ materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000)
+ build_path = /obj/item/organ/cyberimp/brain/anti_stun
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_nutriment
+ name = "Nutriment Pump Implant"
+ desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are starving."
+ id = "ci-nutriment"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 40
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500)
+ build_path = /obj/item/organ/cyberimp/chest/nutriment
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_nutriment_plus
+ name = "Nutriment Pump Implant PLUS"
+ desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are hungry."
+ id = "ci-nutrimentplus"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 50
+ materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_GOLD = 500, MAT_URANIUM = 750)
+ build_path = /obj/item/organ/cyberimp/chest/nutriment/plus
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_reviver
+ name = "Reviver Implant"
+ desc = "This implant will attempt to revive you if you lose consciousness. For the faint of heart!"
+ id = "ci-reviver"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 60
+ materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 300, MAT_URANIUM = 500)
+ build_path = /obj/item/organ/cyberimp/chest/reviver
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cyberimp_thrusters
+ name = "Thrusters Set Implant"
+ desc = "This implant will allow you to use gas from environment or your internals for propulsion in zero-gravity areas."
+ id = "ci-thrusters"
+ build_type = PROTOLATHE | MECHFAB
+ construction_time = 80
+ materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 1000)
+ build_path = /obj/item/organ/cyberimp/chest/thrusters
+ category = list("Misc", "Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/////////////////////////////////////////
+////////////Regular Implants/////////////
+/////////////////////////////////////////
+
+/datum/design/implanter
+ name = "Implanter"
+ desc = "A sterile automatic implant injector."
+ id = "implanter"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 600, MAT_GLASS = 200)
+ build_path = /obj/item/implanter
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/implantcase
+ name = "Implant Case"
+ desc = "A glass case for containing an implant."
+ id = "implantcase"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 500)
+ build_path = /obj/item/implantcase
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/implant_sadtrombone
+ name = "Sad Trombone Implant Case"
+ desc = "Makes death amusing."
+ id = "implant_trombone"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 500, MAT_BANANIUM = 500)
+ build_path = /obj/item/implantcase/sad_trombone
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_ALL //if you get bananium you get the sad trombones.
+
+/datum/design/implant_chem
+ name = "Chemical Implant Case"
+ desc = "A glass case containing an implant."
+ id = "implant_chem"
+ build_type = PROTOLATHE
+ materials = list(MAT_GLASS = 700)
+ build_path = /obj/item/implantcase/chem
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/implant_tracking
+ name = "Tracking Implant Case"
+ desc = "A glass case containing an implant."
+ id = "implant_tracking"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500)
+ build_path = /obj/item/implantcase/track
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
+
+//Cybernetic organs
+
+/datum/design/cybernetic_liver
+ name = "Cybernetic Liver"
+ desc = "A cybernetic liver"
+ id = "cybernetic_liver"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500)
+ build_path = /obj/item/organ/liver/cybernetic
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cybernetic_heart
+ name = "Cybernetic Heart"
+ desc = "A cybernetic heart"
+ id = "cybernetic_heart"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500)
+ build_path = /obj/item/organ/heart/cybernetic
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cybernetic_liver_u
+ name = "Upgraded Cybernetic Liver"
+ desc = "An upgraded cybernetic liver"
+ id = "cybernetic_liver_u"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500)
+ build_path = /obj/item/organ/liver/cybernetic/upgraded
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cybernetic_lungs
+ name = "Cybernetic Lungs"
+ desc = "A pair of cybernetic lungs."
+ id = "cybernetic_lungs"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500)
+ build_path = /obj/item/organ/lungs/cybernetic
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cybernetic_lungs_u
+ name = "Upgraded Cybernetic Lungs"
+ desc = "A pair of upgraded cybernetic lungs."
+ id = "cybernetic_lungs_u"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500)
+ build_path = /obj/item/organ/lungs/cybernetic/upgraded
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/cybernetic_tongue
+ name = "Cybernetic tongue"
+ desc = "A fancy cybernetic tongue."
+ id = "cybernetic_tongue"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500)
+ build_path = /obj/item/organ/tongue/cybernetic
+ 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 = "A high-class, premium retractor, featuring precision crafted, silver-plated hook-ends and an electrum handle."
+ 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/adv
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/hemostat_adv
+ name = "Advanced Hemostat"
+ desc = "An exceptionally fine pair of arterial forceps. These appear to be plated in electrum and feel soft to the touch."
+ id = "hemostat_adv"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1000, MAT_GOLD = 1500)
+ build_path = /obj/item/hemostat/adv
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/cautery_adv
+ name = "Electrocautery" //This is based on real-life science.
+ desc = "A high-tech unipolar Electrocauter. This tiny device contains an extremely powerful microbattery that uses arcs of electricity to painlessly sear wounds shut. It seems to recharge with the user's body-heat. Wow!"
+ id = "cautery_adv"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1000, MAT_GOLD = 1500)
+ build_path = /obj/item/cautery/adv
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/surgicaldrill_adv
+ name = "Surgical Autodrill"
+ desc = "With a diamond tip and built-in depth and safety sensors, this drill alerts the user before overpenetrating a patient's skull or tooth. There also appears to be a disable switch."
+ 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/adv
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/scalpel_adv
+ name = "Precision Scalpel"
+ desc = "A perfectly balanced electrum scalpel with a silicon-coated edge to eliminate wear and tear."
+ 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/adv
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/circular_saw_adv
+ name = "Diamond-Grit Circular Saw"
+ desc = "For those Assistants with REALLY thick skulls."
+ id = "circular_saw_adv"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 7500, MAT_GLASS = 6000, MAT_SILVER = 6500, MAT_GOLD = 7500, MAT_DIAMOND = 4500)
+ build_path = /obj/item/circular_saw/adv
+ 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
+
+/////////////////////
+///Surgery Designs///
+/////////////////////
+
+/datum/design/surgery
+ name = "Surgery Design"
+ desc = "what"
+ id = "surgery_parent"
+ research_icon = 'icons/obj/surgery.dmi'
+ research_icon_state = "surgery_any"
+ var/surgery
+
+/datum/design/surgery/lobotomy
+ name = "Lobotomy"
+ desc = "An invasive surgical procedure which guarantees removal of almost all brain traumas, but might cause another permanent trauma in return."
+ id = "surgery_lobotomy"
+ surgery = /datum/surgery/advanced/lobotomy
+ research_icon_state = "surgery_head"
+
+/datum/design/surgery/pacify
+ name = "Pacification"
+ desc = "A surgical procedure which permanently inhibits the aggression center of the brain, making the patient unwilling to cause direct harm."
+ id = "surgery_pacify"
+ surgery = /datum/surgery/advanced/pacify
+ research_icon_state = "surgery_head"
+
+/datum/design/surgery/viral_bonding
+ name = "Viral Bonding"
+ desc = "A surgical procedure that forces a symbiotic relationship between a virus and its host. The patient must be dosed with spaceacillin, virus food, and formaldehyde."
+ id = "surgery_viral_bond"
+ surgery = /datum/surgery/advanced/viral_bonding
+ research_icon_state = "surgery_chest"
+
+/datum/design/surgery/reconstruction
+ name = "Reconstruction"
+ desc = "A surgical procedure that gradually repairs damage done to a body without the assistance of chemicals. Unlike classic medicine, it is effective on corpses."
+ id = "surgery_reconstruction"
+ surgery = /datum/surgery/advanced/reconstruction
+ research_icon_state = "surgery_chest"
+
+/datum/design/surgery/revival
+ name = "Revival"
+ desc = "An experimental surgical procedure which involves reconstruction and reactivation of the patient's brain even long after death. The body must still be able to sustain life."
+ id = "surgery_revival"
+ surgery = /datum/surgery/advanced/revival
+ research_icon_state = "surgery_head"
+
+/datum/design/surgery/brainwashing
+ name = "Brainwashing"
+ desc = "A surgical procedure which directly implants a directive into the patient's brain, making it their absolute priority. It can be cleared using a mindshield implant."
+ id = "surgery_brainwashing"
+ surgery = /datum/surgery/advanced/brainwashing
+ research_icon_state = "surgery_head"
+
+/datum/design/surgery/nerve_splicing
+ name = "Nerve Splicing"
+ desc = "A surgical procedure which splices the patient's nerves, making them more resistant to stuns."
+ id = "surgery_nerve_splice"
+ surgery = /datum/surgery/advanced/bioware/nerve_splicing
+ research_icon_state = "surgery_chest"
+
+/datum/design/surgery/nerve_grounding
+ name = "Nerve Grounding"
+ desc = "A surgical procedure which makes the patient's nerves act as grounding rods, protecting them from electrical shocks."
+ id = "surgery_nerve_ground"
+ surgery = /datum/surgery/advanced/bioware/nerve_grounding
+ research_icon_state = "surgery_chest"
+
+/datum/design/surgery/vein_threading
+ name = "Vein Threading"
+ desc = "A surgical procedure which severely reduces the amount of blood lost in case of injury."
+ id = "surgery_vein_thread"
+ surgery = /datum/surgery/advanced/bioware/vein_threading
+ research_icon_state = "surgery_chest"
+
+/datum/design/surgery/necrotic_revival
+ name = "Necrotic Revival"
+ desc = "An experimental surgical procedure that stimulates the growth of a Romerol tumor inside the patient's brain. Requires zombie powder or rezadone."
+ id = "surgery_zombie"
+ surgery = /datum/surgery/advanced/necrotic_revival
+ research_icon_state = "surgery_head"
+
+/////////////////////////////////////////
+////////////Medical Prosthetics//////////
+/////////////////////////////////////////
+
+/datum/design/basic_l_arm
+ name = "Surplus prosthetic left arm"
+ desc = "Basic outdated and fragile prosthetic left arm."
+ id = "basic_l_arm"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
+ construction_time = 20
+ build_path = /obj/item/bodypart/l_arm/robot/surplus
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/basic_r_arm
+ name = "Surplus prosthetic right arm"
+ desc = "Basic outdated and fragile prosthetic left arm."
+ id = "basic_r_arm"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
+ construction_time = 20
+ build_path = /obj/item/bodypart/r_arm/robot/surplus
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/basic_l_leg
+ name = "Surplus prosthetic left leg"
+ desc = "Basic outdated and fragile prosthetic left leg."
+ id = "basic_l_leg"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
+ construction_time = 20
+ build_path = /obj/item/bodypart/l_leg/robot/surplus
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/basic_r_leg
+ name = "Surplus prosthetic right leg"
+ desc = "Basic outdated and fragile prosthetic right leg."
+ id = "basic_r_leg"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
+ construction_time = 20
+ build_path = /obj/item/bodypart/r_leg/robot/surplus
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/adv_r_leg
+ name = "Advanced prosthetic right leg"
+ desc = "A renforced prosthetic right leg."
+ id = "adv_r_leg"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
+ construction_time = 40
+ build_path = /obj/item/bodypart/r_leg/robot/surplus_upgraded
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/adv_l_leg
+ name = "Advanced prosthetic left leg"
+ desc = "A renforced prosthetic left leg."
+ id = "adv_l_leg"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
+ construction_time = 40
+ build_path = /obj/item/bodypart/l_leg/robot/surplus_upgraded
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/adv_l_arm
+ name = "Advanced prosthetic left arm"
+ desc = "A renforced prosthetic left arm."
+ id = "adv_l_arm"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
+ construction_time = 40
+ build_path = /obj/item/bodypart/l_arm/robot/surplus_upgraded
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+
+/datum/design/adv_r_arm
+ name = "Advanced prosthetic right arm"
+ desc = "A renforced prosthetic right arm."
+ id = "adv_r_arm"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
+ construction_time = 40
+ build_path = /obj/item/bodypart/r_arm/robot/surplus_upgraded
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
From 3d5d4ac328b96b82ce3d7b10c6cf5cd547dd3421 Mon Sep 17 00:00:00 2001
From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:33:42 -0700
Subject: [PATCH 14/17] Delete iv_drip.dm
---
code/game/machinery/iv_drip.dm | 220 ---------------------------------
1 file changed, 220 deletions(-)
delete mode 100644 code/game/machinery/iv_drip.dm
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
deleted file mode 100644
index d9e78224..00000000
--- a/code/game/machinery/iv_drip.dm
+++ /dev/null
@@ -1,220 +0,0 @@
-#define IV_TAKING 0
-#define IV_INJECTING 1
-
-/obj/machinery/iv_drip
- name = "\improper IV drip"
- desc = "An IV drip with an advanced infusion pump that can both drain blood into and inject liquids from attached containers. Blood packs are processed at an accelerated rate."
- icon = 'icons/obj/iv_drip.dmi'
- icon_state = "iv_drip"
- anchored = FALSE
- mouse_drag_pointer = MOUSE_ACTIVE_POINTER
- var/mob/living/carbon/attached = null
- var/mode = IV_INJECTING
- var/obj/item/reagent_containers/beaker = null
- var/static/list/drip_containers = typecacheof(list(/obj/item/reagent_containers/blood,
- /obj/item/reagent_containers/food,
- /obj/item/reagent_containers/glass.
- /obj/item/reagent_containers/chem_pack))
-
-/obj/machinery/iv_drip/Initialize()
- . = ..()
- update_icon()
-
-/obj/machinery/iv_drip/Destroy()
- attached = null
- QDEL_NULL(beaker)
- return ..()
-
-/obj/machinery/iv_drip/update_icon()
- if(attached)
- if(mode)
- icon_state = "injecting"
- else
- icon_state = "donating"
- else
- if(mode)
- icon_state = "injectidle"
- else
- icon_state = "donateidle"
-
- cut_overlays()
-
- if(beaker)
- if(attached)
- add_overlay("beakeractive")
- else
- add_overlay("beakeridle")
- if(beaker.reagents.total_volume)
- var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/iv_drip.dmi', "reagent")
-
- var/percent = round((beaker.reagents.total_volume / beaker.volume) * 100)
- switch(percent)
- if(0 to 9)
- filling_overlay.icon_state = "reagent0"
- if(10 to 24)
- filling_overlay.icon_state = "reagent10"
- if(25 to 49)
- filling_overlay.icon_state = "reagent25"
- if(50 to 74)
- filling_overlay.icon_state = "reagent50"
- if(75 to 79)
- filling_overlay.icon_state = "reagent75"
- if(80 to 90)
- filling_overlay.icon_state = "reagent80"
- if(91 to INFINITY)
- filling_overlay.icon_state = "reagent100"
-
- filling_overlay.color = mix_color_from_reagents(beaker.reagents.reagent_list)
- add_overlay(filling_overlay)
-
-/obj/machinery/iv_drip/MouseDrop(mob/living/target)
- . = ..()
- if(!ishuman(usr) || !usr.canUseTopic(src, BE_CLOSE) || !isliving(target))
- return
-
- if(attached)
- visible_message("[attached] is detached from [src].")
- attached = null
- update_icon()
- return
-
- if(!target.has_dna())
- to_chat(usr, "The drip beeps: Warning, incompatible creature!")
- return
-
- if(Adjacent(target) && usr.Adjacent(target))
- if(beaker)
- usr.visible_message("[usr] attaches [src] to [target].", "You attach [src] to [target].")
- attached = target
- START_PROCESSING(SSmachines, src)
- update_icon()
- else
- to_chat(usr, "There's nothing attached to the IV drip!")
-
-
-/obj/machinery/iv_drip/attackby(obj/item/W, mob/user, params)
- if(is_type_in_typecache(W, drip_containers))
- if(beaker)
- to_chat(user, "There is already a reagent container loaded!")
- return
- if(!user.transferItemToLoc(W, src))
- return
- beaker = W
- to_chat(user, "You attach [W] to [src].")
- update_icon()
- return
- else
- return ..()
-
-/obj/machinery/iv_drip/deconstruct(disassembled = TRUE)
- if(!(flags_1 & NODECONSTRUCT_1))
- new /obj/item/stack/sheet/metal(loc)
- qdel(src)
-
-/obj/machinery/iv_drip/process()
- if(!attached)
- return PROCESS_KILL
-
- if(!(get_dist(src, attached) <= 1 && isturf(attached.loc)))
- to_chat(attached, "The IV drip needle is ripped out of you!")
- attached.apply_damage(3, BRUTE, pick(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM))
- attached = null
- update_icon()
- return PROCESS_KILL
-
- if(beaker)
- // Give blood
- if(mode)
- if(beaker.reagents.total_volume)
- var/transfer_amount = 5
- if(istype(beaker, /obj/item/reagent_containers/blood))
- // speed up transfer on blood packs
- transfer_amount = 10
- beaker.reagents.trans_to(attached, transfer_amount, method = INJECT, show_message = FALSE) //make reagents reacts, but don't spam messages
- update_icon()
-
- // Take blood
- else
- var/amount = beaker.reagents.maximum_volume - beaker.reagents.total_volume
- amount = min(amount, 4)
- // If the beaker is full, ping
- if(!amount)
- if(prob(5))
- visible_message("[src] pings.")
- return
-
- // If the human is losing too much blood, beep.
- if(attached.blood_volume < ( (BLOOD_VOLUME_SAFE*attached.blood_ratio) && prob(5) ) )
- visible_message("[src] beeps loudly.")
- playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
- attached.transfer_blood_to(beaker, amount)
- update_icon()
-
-/obj/machinery/iv_drip/attack_hand(mob/user)
- . = ..()
- if(.)
- return
- if(!ishuman(user))
- return
- if(attached)
- visible_message("[attached] is detached from [src]")
- attached = null
- update_icon()
- return
- else if(beaker)
- eject_beaker(user)
- else
- toggle_mode()
-
-/obj/machinery/iv_drip/verb/eject_beaker()
- set category = "Object"
- set name = "Remove IV Container"
- set src in view(1)
-
- if(!isliving(usr))
- to_chat(usr, "You can't do that!")
- return
-
- if(usr.incapacitated())
- return
-
- if(beaker)
- beaker.forceMove(drop_location())
- beaker = null
- update_icon()
-
-/obj/machinery/iv_drip/verb/toggle_mode()
- set category = "Object"
- set name = "Toggle Mode"
- set src in view(1)
-
- if(!isliving(usr))
- to_chat(usr, "You can't do that!")
- return
-
- if(usr.incapacitated())
- return
-
- mode = !mode
- to_chat(usr, "The IV drip is now [mode ? "injecting" : "taking blood"].")
- update_icon()
-
-/obj/machinery/iv_drip/examine(mob/user)
- ..()
- if(get_dist(user, src) > 2)
- return
-
- to_chat(user, "The IV drip is [mode ? "injecting" : "taking blood"].")
-
- if(beaker)
- if(beaker.reagents && beaker.reagents.reagent_list.len)
- to_chat(user, "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.")
- else
- to_chat(user, "Attached is an empty [beaker.name].")
- else
- to_chat(user, "No chemicals are attached.")
-
- to_chat(user, "[attached ? attached : "No one"] is attached.")
-
-#undef IV_TAKING
-#undef IV_INJECTING
From bc27a58613f8b842bac95a969698aefdbfbe09d6 Mon Sep 17 00:00:00 2001
From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:33:51 -0700
Subject: [PATCH 15/17] Add files via upload
---
code/game/machinery/iv_drip.dm | 220 +++++++++++++++++++++++++++++++++
1 file changed, 220 insertions(+)
create mode 100644 code/game/machinery/iv_drip.dm
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
new file mode 100644
index 00000000..9df7d206
--- /dev/null
+++ b/code/game/machinery/iv_drip.dm
@@ -0,0 +1,220 @@
+#define IV_TAKING 0
+#define IV_INJECTING 1
+
+/obj/machinery/iv_drip
+ name = "\improper IV drip"
+ desc = "An IV drip with an advanced infusion pump that can both drain blood into and inject liquids from attached containers. Blood packs are processed at an accelerated rate."
+ icon = 'icons/obj/iv_drip.dmi'
+ icon_state = "iv_drip"
+ anchored = FALSE
+ mouse_drag_pointer = MOUSE_ACTIVE_POINTER
+ var/mob/living/carbon/attached = null
+ var/mode = IV_INJECTING
+ var/obj/item/reagent_containers/beaker = null
+ var/static/list/drip_containers = typecacheof(list(/obj/item/reagent_containers/blood,
+ /obj/item/reagent_containers/food,
+ /obj/item/reagent_containers/glass,
+ /obj/item/reagent_containers/chem_pack))
+
+/obj/machinery/iv_drip/Initialize()
+ . = ..()
+ update_icon()
+
+/obj/machinery/iv_drip/Destroy()
+ attached = null
+ QDEL_NULL(beaker)
+ return ..()
+
+/obj/machinery/iv_drip/update_icon()
+ if(attached)
+ if(mode)
+ icon_state = "injecting"
+ else
+ icon_state = "donating"
+ else
+ if(mode)
+ icon_state = "injectidle"
+ else
+ icon_state = "donateidle"
+
+ cut_overlays()
+
+ if(beaker)
+ if(attached)
+ add_overlay("beakeractive")
+ else
+ add_overlay("beakeridle")
+ if(beaker.reagents.total_volume)
+ var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/iv_drip.dmi', "reagent")
+
+ var/percent = round((beaker.reagents.total_volume / beaker.volume) * 100)
+ switch(percent)
+ if(0 to 9)
+ filling_overlay.icon_state = "reagent0"
+ if(10 to 24)
+ filling_overlay.icon_state = "reagent10"
+ if(25 to 49)
+ filling_overlay.icon_state = "reagent25"
+ if(50 to 74)
+ filling_overlay.icon_state = "reagent50"
+ if(75 to 79)
+ filling_overlay.icon_state = "reagent75"
+ if(80 to 90)
+ filling_overlay.icon_state = "reagent80"
+ if(91 to INFINITY)
+ filling_overlay.icon_state = "reagent100"
+
+ filling_overlay.color = mix_color_from_reagents(beaker.reagents.reagent_list)
+ add_overlay(filling_overlay)
+
+/obj/machinery/iv_drip/MouseDrop(mob/living/target)
+ . = ..()
+ if(!ishuman(usr) || !usr.canUseTopic(src, BE_CLOSE) || !isliving(target))
+ return
+
+ if(attached)
+ visible_message("[attached] is detached from [src].")
+ attached = null
+ update_icon()
+ return
+
+ if(!target.has_dna())
+ to_chat(usr, "The drip beeps: Warning, incompatible creature!")
+ return
+
+ if(Adjacent(target) && usr.Adjacent(target))
+ if(beaker)
+ usr.visible_message("[usr] attaches [src] to [target].", "You attach [src] to [target].")
+ attached = target
+ START_PROCESSING(SSmachines, src)
+ update_icon()
+ else
+ to_chat(usr, "There's nothing attached to the IV drip!")
+
+
+/obj/machinery/iv_drip/attackby(obj/item/W, mob/user, params)
+ if(is_type_in_typecache(W, drip_containers))
+ if(beaker)
+ to_chat(user, "There is already a reagent container loaded!")
+ return
+ if(!user.transferItemToLoc(W, src))
+ return
+ beaker = W
+ to_chat(user, "You attach [W] to [src].")
+ update_icon()
+ return
+ else
+ return ..()
+
+/obj/machinery/iv_drip/deconstruct(disassembled = TRUE)
+ if(!(flags_1 & NODECONSTRUCT_1))
+ new /obj/item/stack/sheet/metal(loc)
+ qdel(src)
+
+/obj/machinery/iv_drip/process()
+ if(!attached)
+ return PROCESS_KILL
+
+ if(!(get_dist(src, attached) <= 1 && isturf(attached.loc)))
+ to_chat(attached, "The IV drip needle is ripped out of you!")
+ attached.apply_damage(3, BRUTE, pick(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM))
+ attached = null
+ update_icon()
+ return PROCESS_KILL
+
+ if(beaker)
+ // Give blood
+ if(mode)
+ if(beaker.reagents.total_volume)
+ var/transfer_amount = 5
+ if(istype(beaker, /obj/item/reagent_containers/blood))
+ // speed up transfer on blood packs
+ transfer_amount = 10
+ beaker.reagents.trans_to(attached, transfer_amount, method = INJECT, show_message = FALSE) //make reagents reacts, but don't spam messages
+ update_icon()
+
+ // Take blood
+ else
+ var/amount = beaker.reagents.maximum_volume - beaker.reagents.total_volume
+ amount = min(amount, 4)
+ // If the beaker is full, ping
+ if(!amount)
+ if(prob(5))
+ visible_message("[src] pings.")
+ return
+
+ // If the human is losing too much blood, beep.
+ if(attached.blood_volume < ( (BLOOD_VOLUME_SAFE*attached.blood_ratio) && prob(5) ) )
+ visible_message("[src] beeps loudly.")
+ playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
+ attached.transfer_blood_to(beaker, amount)
+ update_icon()
+
+/obj/machinery/iv_drip/attack_hand(mob/user)
+ . = ..()
+ if(.)
+ return
+ if(!ishuman(user))
+ return
+ if(attached)
+ visible_message("[attached] is detached from [src]")
+ attached = null
+ update_icon()
+ return
+ else if(beaker)
+ eject_beaker(user)
+ else
+ toggle_mode()
+
+/obj/machinery/iv_drip/verb/eject_beaker()
+ set category = "Object"
+ set name = "Remove IV Container"
+ set src in view(1)
+
+ if(!isliving(usr))
+ to_chat(usr, "You can't do that!")
+ return
+
+ if(usr.incapacitated())
+ return
+
+ if(beaker)
+ beaker.forceMove(drop_location())
+ beaker = null
+ update_icon()
+
+/obj/machinery/iv_drip/verb/toggle_mode()
+ set category = "Object"
+ set name = "Toggle Mode"
+ set src in view(1)
+
+ if(!isliving(usr))
+ to_chat(usr, "You can't do that!")
+ return
+
+ if(usr.incapacitated())
+ return
+
+ mode = !mode
+ to_chat(usr, "The IV drip is now [mode ? "injecting" : "taking blood"].")
+ update_icon()
+
+/obj/machinery/iv_drip/examine(mob/user)
+ ..()
+ if(get_dist(user, src) > 2)
+ return
+
+ to_chat(user, "The IV drip is [mode ? "injecting" : "taking blood"].")
+
+ if(beaker)
+ if(beaker.reagents && beaker.reagents.reagent_list.len)
+ to_chat(user, "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.")
+ else
+ to_chat(user, "Attached is an empty [beaker.name].")
+ else
+ to_chat(user, "No chemicals are attached.")
+
+ to_chat(user, "[attached ? attached : "No one"] is attached.")
+
+#undef IV_TAKING
+#undef IV_INJECTING
From 90e627bbdd62caa11f0d0cb1dff12a84d0a9cb1b Mon Sep 17 00:00:00 2001
From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:35:40 -0700
Subject: [PATCH 17/17] Add files via upload
---
icons/obj/blood_pack.dmi | Bin 0 -> 1186 bytes
icons/obj/bloodpack.dmi | Bin 950 -> 1186 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 icons/obj/blood_pack.dmi
diff --git a/icons/obj/blood_pack.dmi b/icons/obj/blood_pack.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..efcf670da5907902c145fbcd86fe177306e2e2d1
GIT binary patch
literal 1186
zcmV;T1YP@yP)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex7wuvIWN;^NFm
z%}mcIfpCgT5=&AQY!#G}a`N+23KEmEmAE)lGK-28Y!wW-IMa#}b5kK~xXPl$yp;Uh
zc;YoAXQbxhQ>d)q>gS^1;_Jx;0OM>n!GvtEkN^M!*hxe|RCt{2nm=e8R~*MbDkV)f
zt8Ls;W89%g#ZqID6ug-?bZV9h#0RYcrISa4=MEY&bm&ln7khO~;Jhe=PDb!39U2ND
zD&oLLmLjec`sYlC;3SlGuljZ^{zLEyyyE0@c58e3`oZ*FeZXJ=>U
z9#IA0LjSiv!u}HOO(6s-B9wHV1H!~D%Npowx7$FrLY(y9Xf&=pq!IN!{o4ng3sJ&F
zO8LPso5~{~2m&We-1EGF{;;pzZaZ0s5chw0c*wu}13(Rzi*H@zAq}3wrIVv!7)kemVN@6At*8d&kFb^MJoN#OGP*PniAm5`9-m1m(NH
zS;?n4FAYCW{SqC2!Ml9RJXemBf56mH^1z4e1Kd`zsl5nRDwXBa`aI9u)wQR~Xa99y
z`2Ee&5-wK(c=qFWd<0ys)qdUH-d4H`Xgvp1DwSm+1h#D>gaE*{?WjFVoKf)k{e9y8
zyWJx}g6{XcdF4w0R#sMesy4MpK>V)ZIL-@g*2MjA=E!Jbv7x`i7o8?I*$b
zl@E#k&WgDIPN%~UT;*=}cYdPI{u4cW+5&`EAb!QiJp$tX$_v+0+0&i^LI|d(r*RyI
zR;z`SlH;eYf#I12asT~(pZA|UA_xL%wVL)6IQJSbZsPvu=H{Xcu(h?toyDq_y;N(!
zxaRvf{A-N>&+~Srl+mrO)oKm&k0z`^f)W$XSvl}cs6zvp?}S*#)tU_ryKk^sJc
z^rA68KR+}{*LCrIpK`gZ5r&$7c>uCHe2DA#SDpgC@8h~IuImCMwqf#FaARX55?)Lt
zxAF5-P!gbCuiN!{-42u6+uKWQeczAH)d@n?f0*1mx02f%8yma2{SYK@d6m%845pem}25bKp}wX08CQ|U^)QPOuPWO
ztPdC^S^^BI4{#uVLgc1CAS;yCfRptBr)__SeU@b)Xh{jCny}@u4#M``auDwBczFRA$%;g%O
zJq7ZZSZlBtW<|u0obu&XQG
z<7_s;glw>o000BnNklljZ^{zLEyyyE0@c58e3`oZ*FeZXJ=>U9#IA0LjSiv!u}HOO(6s-B9wHV
z1H!~D%Npowx7$FrLY(y9Xf&=pq!IN!{o4nBo(oaJMN0X>Fq_IFAP52{Ox*Llf&Q?s
z-EKQsh!FRGczDRa`~yG@my2&*^Z}Wh^IK<~!=}(yb^b&nnNd)D)z*)(sIWG-APyG@df5E$a%RE2m)%gn)Vbp_Zl#6;{NC6=AsL*wY9~a#j2LQRBOPv=KDDOYmETU^LC|wl+mrO
z)oKm&k0z`^f)W$XSvl}cs6zvp?}S*#)tU_ryKk^sJc^rA68KR+}{*LCrIpK`gZ
z5r&$7c>uCHe2DA#SDpgC@8h~IuImCMwqf#FaARX55?)LtxAF5-P!gbCuiN!{-42u6
z+uKWQeczAH)d@n?f0*1mx02g`8yg$Dy8g8n!7$0Bb{vFBCbenoX?+lR6`A;tqJ;pa
z129b?faw5CGw}i#-x&%&aF}A^M?fKf=>SYq2w*w@(@eYoxvUQuC0YUusSj`j9y@x%_abUtE;OBAu_KI
z$O7#Vu(Pu>aJ;_0KDvm;OzOSCa1_Mbym79*L3qAfE2Yfk8lXJ|@|fgVO#Hh*A%N)s
zOrs<~xHYaqmRsamkem8|tkBvW?)7@k%*+hF?{iwKTN_~d`5|}p0i(uveL(I;z^g_f
nfaw5CQwU%>0Mkso0RICN9oGBrA5h;=00000NkvXXu0mjf{X7;R
delta 831
zcmV-F1Hk;E3AP827Y-l@1^@s6qMd$(0001fktK0|f*O<+T>V@WTzoyb0M^JV=gZML
zIRF3x^GQTORA_zOA76QQV^%^ogFfC
zaBy(Q(yT2Mu1iFmO5j5rEJA6d9OURC;Y9Gy1&5Nhhz{+Y?d5FlJDVKXJj;7`@9{qG
z`+Vqs_+_)Hb0{;R{(-wib0N08T;%S%|kpyrY
z$M8Q(CX;%USW)?xmX_31DwW(-+sDz?{=GjW8l4WX=I@;rV>N#aAwufzAqX
zoIjV#O>L3$eEZ*R;ExaqOoR}(+Qkgr0gmH;7;fQ~WwrQSU%6a1Iw69ezu9c^lOF(N
zG3me3&lWlMVeoi2v_mKXT=Jm8UAVq{K7ZySIF4gfpG?p8O^FjLhAk?bu*L*p?87PijVSM6uck!;9WoBI?owq?5Oxn1`dk{Zc_tT2@_L#5mXd^
zW%h4A%d*yF04eb{c;Eg@pwsD-{^M
z!S3!hnM-o*LhA<3+LZN^Vf}>McOM7+#e*SvB&dt3Y9LFJ>%}P&!e_jK+4L^T6o%RNx
zR4TDLk&%iQX$|PseD4OoR0mj=wI+n{wz@*0(BeOvv|1q=z(j`9Mh!(#TKFx0%VKpR
zgJ{60MBGpU*!JOv#_;fP+agWV#I|jc$)rRY;rK-ZM5cX<%kYPu0=8{qnkJ@c0t8yO
z_)cJ^SoDO~27;~sy)XzRfU2sxs;atM-1_=@ptWt=dsilju>5Xu*A|2AOtH8o%P+kM
zx