From 0f1e490c6fb0c357de41ed03536ca8396e3e37c4 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sun, 5 Feb 2017 09:42:00 +0400 Subject: [PATCH] xenobiology console is now constructible, works in the area it was built in along with all similarly named areas --- code/game/machinery/computer/buildandrepair.dm | 4 ++++ .../research/designs/comp_board_designs.dm | 18 ++++++++++++++---- .../research/xenobiology/xenobio_camera.dm | 13 +++++++++---- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 0c09bc5f2c5..71aad1085ff 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -39,6 +39,10 @@ name = "Circuit board (Camera Monitor)" build_path = /obj/machinery/computer/security origin_tech = "programming=2" +/obj/item/weapon/circuitboard/xenobiology + name = "Circuit board (Xenobiology Console)" + build_path = /obj/machinery/computer/camera_advanced/xenobio + origin_tech = "programming=3;biotech=3" /obj/item/weapon/circuitboard/aicore name = "Circuit board (AI Core)" origin_tech = "programming=4;biotech=2" diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 25135f7a079..6d3624701b9 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -342,7 +342,7 @@ build_path = /obj/item/weapon/circuitboard/teleporter category = list("Computer Boards") -datum/design/GAC +/datum/design/GAC name = "Console Board (General Air Control)" desc = "Allows for the construction of circuit boards used to build a General Air Control Computer." id = "GAC" @@ -352,7 +352,7 @@ datum/design/GAC build_path = /obj/item/weapon/circuitboard/air_management category = list("Computer Boards") -datum/design/tank_control +/datum/design/tank_control name = "Console Board (Large Tank Control)" desc = "Allows for the construction of circuit boards used to build a Large Tank Control Computer." id = "tankcontrol" @@ -362,7 +362,7 @@ datum/design/tank_control build_path = /obj/item/weapon/circuitboard/large_tank_control category = list("Computer Boards") -datum/design/AAC +/datum/design/AAC name = "Console Board (Atmospheric Automations Console)" desc = "Allows for the construction of circuit boards used to build an Atmospheric Automations Console." id = "AAC" @@ -370,4 +370,14 @@ datum/design/AAC build_type = IMPRINTER materials = list(MAT_GLASS = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/atmos_automation - category = list("Computer Boards") \ No newline at end of file + category = list("Computer Boards") + +/datum/design/xenobiocamera + name = "Console Board (Xenobiology Console)" + desc = "Allows for the construction of circuit boards used to build xenobiology camera computers." + id = "xenobioconsole" + req_tech = list("programming" = 3, "biotech" = 3) + build_type = IMPRINTER + materials = list(MAT_GLASS = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/xenobiology + category = list("Computer Boards") diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 7b27642722b..416eac1ba2a 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -3,11 +3,16 @@ visible_icon = 1 icon = 'icons/obj/abductor.dmi' icon_state = "camera_target" + var/allowed_area = null +/mob/camera/aiEye/remote/xenobio/New(loc) + var/area/A = get_area(loc) + allowed_area = A.name + ..() -/mob/camera/aiEye/remote/xenobio/setLoc(var/t) +/mob/camera/aiEye/remote/xenobio/setLoc(t) var/area/new_area = get_area(t) - if(new_area && new_area.name == "Xenobiology Lab" || istype(new_area, /area/toxins/xenobiology )) + if(new_area && new_area.name == allowed_area || istype(new_area, /area/toxins/xenobiology )) return ..() else return @@ -16,6 +21,7 @@ name = "Slime management console" desc = "A computer used for remotely handling slimes." networks = list("SS13") + circuit = /obj/item/weapon/circuitboard/xenobiology off_action = new /datum/action/innate/camera_off/xenobio var/datum/action/innate/slime_place/slime_place_action = new var/datum/action/innate/slime_pick_up/slime_up_action = new @@ -30,8 +36,7 @@ icon_keyboard = "rd_key" /obj/machinery/computer/camera_advanced/xenobio/CreateEye() - eyeobj = new /mob/camera/aiEye/remote/xenobio() - eyeobj.loc = get_turf(src) + eyeobj = new /mob/camera/aiEye/remote/xenobio(get_turf(src)) eyeobj.origin = src eyeobj.visible_icon = 1 eyeobj.icon = 'icons/obj/abductor.dmi'