Robotics can print cybernetic organs (also new upgraded cybernetic heart) (#41753)

🆑 coiax
add: Robotics can print cybernetic hearts, lungs and livers at their exofabricators (along
with their upgraded versions).
add: Added upgraded cybernetic heart, just like the regular cybernetic heart,
that doses you with epinephrine when unconscious. But the upgraded version generates a new
dose after five minutes.
/🆑

Robotics should be able to upgrade people with cybernetic organs. Medical want the organs
to save people's lives, Robotics want the organs for augmentation giggles.

Also, there was an upgraded cyberlungs and cyberliver, so I just made an upgraded
cybernetic heart as well.
This commit is contained in:
coiax
2018-12-12 21:47:27 -05:00
committed by moo
parent a8e5b91514
commit 8c8ee67e23
4 changed files with 55 additions and 24 deletions
@@ -451,50 +451,66 @@
name = "Cybernetic Liver"
desc = "A cybernetic liver"
id = "cybernetic_liver"
build_type = PROTOLATHE
build_type = PROTOLATHE | MECHFAB
construction_time = 40
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")
category = list("Misc", "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
build_type = PROTOLATHE | MECHFAB
construction_time = 50
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/organ/liver/cybernetic/upgraded
category = list("Medical Designs")
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/cybernetic_heart
name = "Cybernetic Heart"
desc = "A cybernetic heart"
id = "cybernetic_heart"
build_type = PROTOLATHE | MECHFAB
construction_time = 40
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/organ/heart/cybernetic
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/cybernetic_heart_u
name = "Upgraded Cybernetic Heart"
desc = "An upgraded cybernetic heart"
id = "cybernetic_heart_u"
build_type = PROTOLATHE | MECHFAB
construction_time = 50
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER=500)
build_path = /obj/item/organ/heart/cybernetic/upgraded
category = list("Misc", "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
build_type = PROTOLATHE | MECHFAB
construction_time = 40
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/organ/lungs/cybernetic
category = list("Medical Designs")
category = list("Misc", "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
build_type = PROTOLATHE | MECHFAB
construction_time = 50
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500)
build_path = /obj/item/organ/lungs/cybernetic/upgraded
category = list("Medical Designs")
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/////////////////////
+1 -1
View File
@@ -462,7 +462,7 @@
display_name = "Upgraded Cybernetic Organs"
description = "We have the technology to upgrade him."
prereq_ids = list("cyber_organs")
design_ids = list("cybernetic_liver_u", "cybernetic_lungs_u")
design_ids = list("cybernetic_heart_u", "cybernetic_liver_u", "cybernetic_lungs_u")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500)
export_price = 5000
+20 -5
View File
@@ -142,7 +142,7 @@
/datum/client_colour/cursed_heart_blood
priority = 100 //it's an indicator you're dieing, so it's very high priority
priority = 100 //it's an indicator you're dying, so it's very high priority
colour = "red"
/obj/item/organ/heart/cybernetic
@@ -150,7 +150,10 @@
desc = "An electronic device designed to mimic the functions of an organic human heart. Also holds an emergency dose of epinephrine, used automatically after facing severe trauma."
icon_state = "heart-c"
synthetic = TRUE
var/crituse = FALSE // doses with epi if in crit once.
var/dose_available = TRUE
var/rid = "epinephrine"
var/ramount = 10
/obj/item/organ/heart/cybernetic/emp_act()
. = ..()
@@ -160,9 +163,21 @@
/obj/item/organ/heart/cybernetic/on_life()
. = ..()
if(!crituse && owner.stat == UNCONSCIOUS)
crituse = TRUE
owner.reagents.add_reagent("epinephrine", 10)
if(dose_available && owner.stat == UNCONSCIOUS && !owner.reagents.has_reagent(rid))
owner.reagents.add_reagent(rid, ramount)
used_dose()
/obj/item/organ/heart/cybernetic/proc/used_dose()
dose_available = FALSE
/obj/item/organ/heart/cybernetic/upgraded
name = "upgraded cybernetic heart"
desc = "An electronic device designed to mimic the functions of an organic human heart. Also holds an emergency dose of epinephrine, used automatically after facing severe trauma. This upgraded model can regenerate its dose after use."
icon_state = "heart-c-u"
/obj/item/organ/heart/cybernetic/upgraded/used_dose()
. = ..()
addtimer(VARSET_CALLBACK(src, dose_available, TRUE), 5 MINUTES)
/obj/item/organ/heart/freedom
name = "heart of freedom"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB