From 3beca956a0fe4f09bf54ed90995c9df40efa3e49 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Tue, 19 Sep 2017 19:41:41 -0500 Subject: [PATCH] Improves the bioprinter --- code/game/machinery/bioprinter.dm | 294 ++++++++++++++++++++++++------ code/modules/organs/organ.dm | 5 +- icons/obj/surgery.dmi | Bin 18678 -> 21367 bytes 3 files changed, 241 insertions(+), 58 deletions(-) diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index aab0560fe1..b9373e1818 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -1,84 +1,266 @@ -//These machines are mostly just here for debugging/spawning. Skeletons of the feature to come. +// GENERIC PRINTER - DO NOT USE THIS OBJECT. +// Flesh and robot printers are defined below this object. -/obj/machinery/bioprinter - name = "organ bioprinter" - desc = "It's a machine that grows replacement organs." +/obj/machinery/organ_printer + name = "organ printer" + desc = "It's a machine that prints organs." icon = 'icons/obj/surgery.dmi' + icon_state = "bioprinter" anchored = 1 density = 1 use_power = 1 idle_power_usage = 40 + active_power_usage = 300 - icon_state = "bioprinter" - - var/prints_prosthetics - var/stored_matter = 200 + var/stored_matter = 0 + var/max_stored_matter = 0 + var/print_delay = 100 + var/printing var/loaded_dna //Blood sample for DNA hashing. + + // These should be subtypes of /obj/item/organ var/list/products = list( - O_HEART = list(/obj/item/organ/internal/heart, 50), - O_LUNGS = list(/obj/item/organ/internal/lungs, 40), - O_KIDNEYS = list(/obj/item/organ/internal/kidneys,20), - O_EYES = list(/obj/item/organ/internal/eyes, 30), - O_LIVER = list(/obj/item/organ/internal/liver, 50) + "Heart" = list(/obj/item/organ/internal/heart, 25), + "Lungs" = list(/obj/item/organ/internal/lungs, 25), + "Kidneys" = list(/obj/item/organ/internal/kidneys,20), + "Eyes" = list(/obj/item/organ/internal/eyes, 20), + "Liver" = list(/obj/item/organ/internal/liver, 25), + "Arm, Left" = list(/obj/item/organ/external/arm, 65), + "Arm, Right" = list(/obj/item/organ/external/arm/right, 65), + "Leg, Left" = list(/obj/item/organ/external/leg, 65), + "Leg, Right" = list(/obj/item/organ/external/leg/right, 65), + "Foot, Left" = list(/obj/item/organ/external/foot, 40), + "Foot, Right" = list(/obj/item/organ/external/foot/right, 40), + "Hand, Left" = list(/obj/item/organ/external/hand, 40), + "Hand, Right" = list(/obj/item/organ/external/hand/right, 40) ) -/obj/machinery/bioprinter/prosthetics - name = "prosthetics fabricator" - desc = "It's a machine that prints prosthetic organs." - prints_prosthetics = 1 +/obj/machinery/organ_printer/attackby(var/obj/item/O, var/mob/user) + if(default_deconstruction_screwdriver(user, O)) + updateUsrDialog() + return + if(default_deconstruction_crowbar(user, O)) + return + if(default_part_replacement(user, O)) + return + return ..() -/obj/machinery/bioprinter/attack_hand(mob/user) +/obj/machinery/organ_printer/update_icon() + overlays.Cut() + if(panel_open) + overlays += "bioprinter_panel_open" + if(printing) + overlays += "bioprinter_working" - var/choice = input("What would you like to print?") as null|anything in products - if(!choice) +/obj/machinery/organ_printer/New() + ..() + component_parts = list() + component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + RefreshParts() + +/obj/machinery/organ_printer/examine(var/mob/user) + . = ..() + to_chat(user, "It is loaded with [stored_matter]/[max_stored_matter] matter units.") + +/obj/machinery/organ_printer/RefreshParts() + print_delay = initial(print_delay) + max_stored_matter = 0 + for(var/obj/item/weapon/stock_parts/matter_bin/bin in component_parts) + max_stored_matter += bin.rating * 100 + for(var/obj/item/weapon/stock_parts/manipulator/manip in component_parts) + print_delay -= (manip.rating-1)*10 + print_delay = max(0,print_delay) + . = ..() + +/obj/machinery/organ_printer/attack_hand(mob/user) + + if(stat & (BROKEN|NOPOWER)) return - if(stored_matter >= products[choice][2]) + if(panel_open) + to_chat(user, "Close the panel first!") + return - stored_matter -= products[choice][2] - var/new_organ = products[choice][1] - var/obj/item/organ/O = new new_organ(get_turf(src)) + if(printing) + to_chat(user, "\The [src] is busy!") + return - if(prints_prosthetics) - O.robotize() - else if(loaded_dna) - visible_message("The printer injects the stored DNA into the biomass..") - O.transplant_data = list() - var/mob/living/carbon/C = loaded_dna["donor"] - O.transplant_data["species"] = C.species.name - O.transplant_data["blood_type"] = loaded_dna["blood_type"] - O.transplant_data["blood_DNA"] = loaded_dna["blood_DNA"] + var/choice = input("What would you like to print?") as null|anything in products - visible_message("The bioprinter spits out a new organ.") + if(!choice || printing || (stat & (BROKEN|NOPOWER))) + return - else - user << "There is not enough matter in the printer." + if(!can_print(choice)) + return -/obj/machinery/bioprinter/attackby(obj/item/weapon/W, mob/user) + stored_matter -= products[choice][2] - // DNA sample from syringe. - if(!prints_prosthetics && istype(W,/obj/item/weapon/reagent_containers/syringe)) + use_power = 2 + printing = 1 + update_icon() + + visible_message("\The [src] begins churning.") + + sleep(print_delay) + + use_power = 1 + printing = 0 + update_icon() + + if(!choice || !src || (stat & (BROKEN|NOPOWER))) + return + + print_organ(choice) + +/obj/machinery/organ_printer/proc/can_print(var/choice) + if(stored_matter < products[choice][2]) + visible_message("\The [src] displays a warning: 'Not enough matter. [stored_matter] stored and [products[choice][2]] needed.'") + return 0 + + if(!loaded_dna || !loaded_dna["donor"]) + visible_message("\The [src] displays a warning: 'No DNA saved. Insert a blood sample.'") + return 0 + + return 1 + +/obj/machinery/organ_printer/proc/print_organ(var/choice) + var/new_organ = products[choice][1] + var/obj/item/organ/O = new new_organ(get_turf(src)) + O.status |= ORGAN_CUT_AWAY + var/mob/living/carbon/C = loaded_dna["donor"] + O.set_dna(C.dna) + + if(O.species) + // This is a very hacky way of doing of what organ/New() does if it has an owner + O.w_class = max(O.w_class + mob_size_difference(O.species.mob_size, MOB_MEDIUM), 1) + + return O +// END GENERIC PRINTER + +// CIRCUITS +/obj/item/weapon/circuitboard/bioprinter + name = "bioprinter circuit" + build_path = /obj/machinery/organ_printer/flesh + board_type = new /datum/frame/frame_types/machine + origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) + req_components = list( + /obj/item/stack/cable_coil = 2, + /obj/item/weapon/stock_parts/matter_bin = 2, + /obj/item/weapon/stock_parts/manipulator = 2) + +/obj/item/weapon/circuitboard/roboprinter + name = "roboprinter circuit" + build_path = /obj/machinery/organ_printer/robot + board_type = new /datum/frame/frame_types/machine + origin_tech = list(TECH_DATA = 3, TECH_BIO = 3) + req_components = list( + /obj/item/stack/cable_coil = 2, + /obj/item/weapon/stock_parts/matter_bin = 2, + /obj/item/weapon/stock_parts/manipulator = 2) + +// ROBOT ORGAN PRINTER +// Still Requires DNA, /obj/machinery/pros_fab is better for limbs +/obj/machinery/organ_printer/robot + name = "prosthetic organ fabricator" + desc = "It's a machine that prints prosthetic organs." + icon_state = "roboprinter" + circuit = /obj/item/weapon/circuitboard/roboprinter + + var/matter_amount_per_sheet = 10 + var/matter_type = DEFAULT_WALL_MATERIAL + +/obj/machinery/organ_printer/robot/full/New() + . = ..() + stored_matter = max_stored_matter + +/obj/machinery/organ_printer/robot/dismantle() + if(stored_matter >= matter_amount_per_sheet) + new /obj/item/stack/material/steel(get_turf(src), Floor(stored_matter/matter_amount_per_sheet)) + return ..() + +/obj/machinery/organ_printer/robot/print_organ(var/choice) + var/obj/item/organ/O = ..() + O.robotize() + O.status |= ORGAN_CUT_AWAY // robotize() resets status to 0 + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + audible_message("\The [src] dings, then spits out \a [O].") + return O + +/obj/machinery/organ_printer/robot/attackby(var/obj/item/weapon/W, var/mob/user) + if(istype(W, /obj/item/stack/material) && W.get_material_name() == matter_type) + if((max_stored_matter-stored_matter) < matter_amount_per_sheet) + to_chat(user, "\The [src] is too full.") + return + var/obj/item/stack/S = W + var/space_left = max_stored_matter - stored_matter + var/sheets_to_take = min(S.amount, Floor(space_left/matter_amount_per_sheet)) + if(sheets_to_take <= 0) + to_chat(user, "\The [src] is too full.") + return + stored_matter = min(max_stored_matter, stored_matter + (sheets_to_take*matter_amount_per_sheet)) + to_chat(user, "\The [src] processes \the [W]. Levels of stored matter now: [stored_matter]") + S.use(sheets_to_take) + return + else if(istype(W,/obj/item/weapon/reagent_containers/syringe)) //TODO: Make this actuall empty the syringe var/obj/item/weapon/reagent_containers/syringe/S = W var/datum/reagent/blood/injected = locate() in S.reagents.reagent_list //Grab some blood if(injected && injected.data) loaded_dna = injected.data - user << "You inject the blood sample into the bioprinter." - return - // Meat for biomass. - if(!prints_prosthetics && istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat)) - stored_matter += 50 - user.drop_item() - user << "\The [src] processes \the [W]. Levels of stored biomass now: [stored_matter]" - qdel(W) - return - // Steel for matter. - if(prints_prosthetics && istype(W, /obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL) - var/obj/item/stack/S = W - stored_matter += S.amount * 10 - user.drop_item() - user << "\The [src] processes \the [W]. Levels of stored matter now: [stored_matter]" - qdel(W) + to_chat(user, "You scan the blood sample into the bioprinter.") return + return ..() +// END ROBOT ORGAN PRINTER - return..() \ No newline at end of file +// FLESH ORGAN PRINTER +/obj/machinery/organ_printer/flesh + name = "bioprinter" + desc = "It's a machine that prints replacement organs." + icon_state = "bioprinter" + circuit = /obj/item/weapon/circuitboard/bioprinter + + var/amount_per_slab = 50 + +/obj/machinery/organ_printer/flesh/full/New() + . = ..() + stored_matter = max_stored_matter + +/obj/machinery/organ_printer/flesh/dismantle() + var/turf/T = get_turf(src) + if(T) + while(stored_matter >= amount_per_slab) + stored_matter -= amount_per_slab + new /obj/item/weapon/reagent_containers/food/snacks/meat(T) + return ..() + +/obj/machinery/organ_printer/flesh/print_organ(var/choice) + var/obj/item/organ/O = ..() + + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + visible_message("\The [src] dings, then spits out \a [O].") + return O + +/obj/machinery/organ_printer/flesh/attackby(obj/item/weapon/W, mob/user) + // Load with matter for printing. + if(istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat)) + if((max_stored_matter - stored_matter) < amount_per_slab) + to_chat(user, "\The [src] is too full.") + return + stored_matter += amount_per_slab + user.drop_item() + to_chat(user, "\The [src] processes \the [W]. Levels of stored biomass now: [stored_matter]") + qdel(W) + return + // DNA sample from syringe. + else if(istype(W,/obj/item/weapon/reagent_containers/syringe)) //TODO: Make this actually empty the syringe + var/obj/item/weapon/reagent_containers/syringe/S = W + var/datum/reagent/blood/injected = locate() in S.reagents.reagent_list //Grab some blood + if(injected && injected.data) + loaded_dna = injected.data + to_chat(user, "You scan the blood sample into the bioprinter.") + return + return ..() +// END FLESH ORGAN PRINTER \ No newline at end of file diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 02450c2c5c..cdf5893d3c 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -78,8 +78,9 @@ var/list/organ_cache = list() /obj/item/organ/proc/set_dna(var/datum/dna/new_dna) if(new_dna) dna = new_dna.Clone() - blood_DNA.Cut() - blood_DNA[dna.unique_enzymes] = dna.b_type + if(blood_DNA) + blood_DNA.Cut() + blood_DNA[dna.unique_enzymes] = dna.b_type /obj/item/organ/proc/die() if(robotic >= ORGAN_ROBOT) diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index a933bc6a2f162e506b237e5709c7410734a732c7..15ef72276fe6389def21904255a4c1cef645c7e1 100644 GIT binary patch literal 21367 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 Mb$zvJ6}!;?11!)DGynhq literal 18678 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