mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-12 15:47:04 +01:00
Makes camera consoles (more) accessible via AI (#19407)
* Makes computers accessible via AI * Update vorestation.dme
This commit is contained in:
@@ -31,6 +31,9 @@
|
||||
/obj/machinery/computer/security/tgui_interact(mob/user, datum/tgui/ui = null)
|
||||
camera.tgui_interact(user, ui)
|
||||
|
||||
/obj/machinery/computer/security/tgui_state(mob/user)
|
||||
return GLOB.tgui_camera_view
|
||||
|
||||
/obj/machinery/computer/security/attack_hand(mob/user)
|
||||
add_fingerprint(user)
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
@@ -45,9 +48,6 @@
|
||||
..()
|
||||
|
||||
/obj/machinery/computer/security/attack_ai(mob/user)
|
||||
if(isAI(user))
|
||||
to_chat(user, span_notice("You realise its kind of stupid to access a camera console when you have the entire camera network at your metaphorical fingertips"))
|
||||
return
|
||||
attack_hand(user)
|
||||
|
||||
/obj/machinery/computer/security/proc/set_network(list/new_network)
|
||||
@@ -83,7 +83,7 @@ GLOBAL_LIST_EMPTY(entertainment_screens)
|
||||
light_range_on = 2
|
||||
network = list(NETWORK_THUNDER)
|
||||
circuit = /obj/item/circuitboard/security/telescreen/entertainment
|
||||
camera_datum_type = /datum/tgui_module/camera/bigscreen
|
||||
camera_datum_type = /datum/tgui_module/camera/virtual
|
||||
|
||||
var/obj/item/radio/radio = null
|
||||
var/obj/effect/overlay/vis/pinboard
|
||||
|
||||
@@ -317,4 +317,7 @@
|
||||
/datum/tgui_module/camera/bigscreen/tgui_state(mob/user)
|
||||
return GLOB.tgui_physical_state_bigscreen
|
||||
|
||||
/datum/tgui_module/camera/virtual/tgui_state(mob/user)
|
||||
return GLOB.tgui_camera_view
|
||||
|
||||
#undef DEFAULT_MAP_SIZE
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* tgui state: camera_view
|
||||
*
|
||||
* In addition to default checks, allows AI to interact and has a cutoff after it leaves view range.
|
||||
* living adjacent user.
|
||||
**/
|
||||
|
||||
GLOBAL_DATUM_INIT(tgui_camera_view, /datum/tgui_state/camera_view, new)
|
||||
|
||||
/datum/tgui_state/camera_view/can_use_topic(src_object, mob/user)
|
||||
. = user.shared_tgui_interaction(src_object)
|
||||
if(. > STATUS_CLOSE)
|
||||
return min(., user.camera_view_can_use_topic(src_object))
|
||||
|
||||
/mob/proc/camera_view_can_use_topic(src_object)
|
||||
return STATUS_CLOSE
|
||||
|
||||
/mob/living/camera_view_can_use_topic(src_object)
|
||||
return shared_living_tgui_distance(src_object, viewcheck = TRUE)
|
||||
|
||||
/mob/living/silicon/camera_view_can_use_topic(src_object)
|
||||
return shared_living_tgui_distance(src_object, viewcheck = TRUE)
|
||||
|
||||
/mob/living/silicon/ai/camera_view_can_use_topic(src_object)
|
||||
return STATUS_INTERACTIVE
|
||||
@@ -4807,6 +4807,7 @@
|
||||
#include "code\modules\tgui\states\admin.dm"
|
||||
#include "code\modules\tgui\states\always.dm"
|
||||
#include "code\modules\tgui\states\board_game.dm"
|
||||
#include "code\modules\tgui\states\cameras.dm"
|
||||
#include "code\modules\tgui\states\conscious.dm"
|
||||
#include "code\modules\tgui\states\contained.dm"
|
||||
#include "code\modules\tgui\states\deep_inventory.dm"
|
||||
|
||||
Reference in New Issue
Block a user