Merge pull request #6334 from uraniummeltdown/xenoconsole

Constructible Xenobiology Console
This commit is contained in:
Fox McCloud
2017-02-06 05:09:51 -05:00
committed by GitHub
3 changed files with 27 additions and 8 deletions
@@ -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")
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")
@@ -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'