Merge pull request #3892 from VOREStation/upstream-merge-5355

[MIRROR] Bioprinters and Cloners now use Biomass reagent, maps in a Bioprinter
This commit is contained in:
Aronai Sieyes
2018-06-20 13:40:07 -04:00
committed by GitHub
10 changed files with 11656 additions and 152 deletions
@@ -482,3 +482,11 @@
/datum/reagent/luminol/touch_mob(var/mob/living/L)
L.reveal_blood()
/datum/reagent/nutriment/biomass
name = "Biomass"
id = "biomass"
description = "A slurry of compounds that contains the basic requirements for life."
taste_description = "salty meat"
reagent_state = LIQUID
color = "#DF9FBF"
+10 -1
View File
@@ -501,6 +501,7 @@
id = "ammonia"
result = "ammonia"
required_reagents = list("hydrogen" = 3, "nitrogen" = 1)
inhibitors = list("phoron" = 1) // Messes with lexorin
result_amount = 3
/datum/chemical_reaction/diethylamine
@@ -2244,4 +2245,12 @@
id = "qerr_quem"
result = "qerr_quem"
required_reagents = list("nicotine" = 1, "carbon" = 1, "sugar" = 2)
result_amount = 4
result_amount = 4
// Biomass, for cloning and bioprinters
/datum/chemical_reaction/biomass
name = "Biomass"
id = "biomass"
result = "biomass"
required_reagents = list("protein" = 1, "sugar" = 1, "phoron" = 1)
result_amount = 6 // Roughly 120u per phoron sheet //VOREStation Edit
@@ -55,7 +55,6 @@
var/image/lid = image(icon, src, "lid_bottle")
overlays += lid
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline
name = "inaprovaline bottle"
desc = "A small bottle. Contains inaprovaline - used to stabilize patients."
@@ -63,7 +62,6 @@
icon_state = "bottle-4"
prefill = list("inaprovaline" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/toxin
name = "toxin bottle"
desc = "A small bottle of toxins. Do not drink, it is poisonous."
@@ -71,7 +69,6 @@
icon_state = "bottle-3"
prefill = list("toxin" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/cyanide
name = "cyanide bottle"
desc = "A small bottle of cyanide. Bitter almonds?"
@@ -79,7 +76,6 @@
icon_state = "bottle-3"
prefill = list("cyanide" = 30) //volume changed to match chloral
/obj/item/weapon/reagent_containers/glass/bottle/stoxin
name = "soporific bottle"
desc = "A small bottle of soporific. Just the fumes make you sleepy."
@@ -87,15 +83,13 @@
icon_state = "bottle-3"
prefill = list("stoxin" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate
name = "Chloral Hydrate Bottle"
name = "chloral hydrate bottle"
desc = "A small bottle of Choral Hydrate. Mickey's Favorite!"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
prefill = list("chloralhydrate" = 30) //Intentionally low since it is so strong. Still enough to knock someone out.
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin
name = "dylovene bottle"
desc = "A small bottle of dylovene. Counters poisons, and repairs damage. A wonder drug."
@@ -103,7 +97,6 @@
icon_state = "bottle-4"
prefill = list("anti_toxin" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/mutagen
name = "unstable mutagen bottle"
desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact."
@@ -111,7 +104,6 @@
icon_state = "bottle-1"
prefill = list("mutagen" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/ammonia
name = "ammonia bottle"
desc = "A small bottle."
@@ -119,7 +111,6 @@
icon_state = "bottle-1"
prefill = list("ammonia" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/eznutrient
name = "\improper EZ NUtrient bottle"
desc = "A small bottle."
@@ -127,7 +118,6 @@
icon_state = "bottle-4"
prefill = list("eznutrient" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/left4zed
name = "\improper Left-4-Zed bottle"
desc = "A small bottle."
@@ -135,7 +125,6 @@
icon_state = "bottle-4"
prefill = list("left4zed" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/robustharvest
name = "\improper Robust Harvest"
desc = "A small bottle."
@@ -143,7 +132,6 @@
icon_state = "bottle-4"
prefill = list("robustharvest" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine
name = "diethylamine bottle"
desc = "A small bottle."
@@ -152,32 +140,36 @@
prefill = list("diethylamine" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/pacid
name = "Polytrinic Acid Bottle"
name = "polytrinic acid bottle"
desc = "A small bottle. Contains a small amount of Polytrinic Acid"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("pacid" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine
name = "Adminordrazine Bottle"
name = "adminordrazine bottle"
desc = "A small bottle. Contains the liquid essence of the gods."
icon = 'icons/obj/drinks.dmi'
icon_state = "holyflask"
prefill = list("adminordrazine" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/capsaicin
name = "Capsaicin Bottle"
name = "capsaicin bottle"
desc = "A small bottle. Contains hot sauce."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("capsaicin" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/frostoil
name = "Frost Oil Bottle"
name = "frost oil bottle"
desc = "A small bottle. Contains cold sauce."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
prefill = list("frostoil" = 60)
/obj/item/weapon/reagent_containers/glass/bottle/biomass
name = "biomass bottle"
desc = "A bottle of raw biomass! Gross!"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
prefill = list("biomass" = 60)
+2 -2
View File
@@ -121,7 +121,7 @@
var/pods_list_ui[0]
for(var/obj/machinery/clonepod/transhuman/pod in pods)
pods_list_ui[++pods_list_ui.len] = list("pod" = pod, "biomass" = pod.biomass)
pods_list_ui[++pods_list_ui.len] = list("pod" = pod, "biomass" = pod.get_biomass())
var/spods_list_ui[0]
for(var/obj/machinery/transhuman/synthprinter/spod in spods)
@@ -294,7 +294,7 @@
temp = "Error: Growpod is currently occupied."
//Not enough materials.
else if(pod.biomass < CLONE_BIOMASS)
else if(pod.get_biomass() < CLONE_BIOMASS)
temp = "Error: Not enough biomass."
//Gross pod (broke mid-cloning or something).
+3 -10
View File
@@ -18,6 +18,9 @@
spawn(30)
eject_wait = 0
// Remove biomass when the cloning is started, rather than when the guy pops out
remove_biomass(CLONE_BIOMASS)
//Get the DNA and generate a new mob
var/datum/dna2/record/R = current_project.mydna
var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species)
@@ -110,16 +113,6 @@
return 1
/obj/machinery/clonepod/transhuman/process()
var/visible_message = 0
for(var/obj/item/weapon/reagent_containers/food/snacks/meat/meat in range(1, src))
qdel(meat)
biomass += 50
visible_message = 1 // Prevent chatspam if multiple meat are near
if(visible_message)
visible_message("[src] sucks in and processes the nearby biomass.")
if(stat & NOPOWER)
if(occupant)
locked = 0