mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 23:51:17 +01:00
NTNet Extensibility (#22908)
Fixes https://github.com/Aurorastation/Aurora.3/issues/21944 Spiritual successor of https://github.com/Aurorastation/Aurora.3/pull/22352 Cherrypicked changes from the C3 Crew Management branch, this PR contains all NTNet extensibility features, including Field Relay construction, off-site camera usage (contingent on standing up remote hardware and being out of jamming), etc. This also fixes a handful of outstanding telecomms and view/mobeye-related bugs adjacent to where I was working. changes: - rscadd: "Adds NTNet extensibility, requires new machinery constructed on away-site z-levels." - rscadd: "Breaks NTNet Relay machinery into Quantum Relay ('core' obj on Horizon) and Field Relay (deployable off-site constructions)." - qol: "Embedded cameras (basically every video camera EXCEPT those which are installed on walls) can now be viewed from NTNet-connected z-level, not just connected ones." - rscadd: "Adds several public camera monitor consoles to the Horizon (near where public sensor grid feed consoles already exist)." - rscadd: "Adds some spare camera console boards to Horizon technical storage." - qol: "Adds action button for 'cancel-camera-view' verb while viewing cameras or looking up/down z-level." - bugfix: "Fixes Jockey comms (frequency was missing from ANTAG_FREQS)." - bugfix: "Fixes look-up/look-down actions intermittently failing without first using cancel-camera-view."
This commit is contained in:
@@ -100,6 +100,8 @@
|
||||
/obj/item/modular_computer/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
|
||||
reset_remote_viewers(TRUE)
|
||||
|
||||
SStgui.close_uis(src)
|
||||
enabled = FALSE
|
||||
|
||||
@@ -289,6 +291,7 @@
|
||||
active_program = null
|
||||
else
|
||||
return FALSE
|
||||
reset_remote_viewers()
|
||||
var/mob/user = usr
|
||||
if(user && istype(user) && !forced && !QDELETED(src))
|
||||
INVOKE_ASYNC(src, TYPE_PROC_REF(/datum, ui_interact), user) // Re-open the UI on this computer. It should show the main screen now.
|
||||
@@ -304,6 +307,14 @@
|
||||
active_program = null
|
||||
else
|
||||
return FALSE
|
||||
reset_remote_viewers()
|
||||
|
||||
/obj/item/modular_computer/proc/reset_remote_viewers(var/unset_viewers_machine = FALSE)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(M.machine == src && M.is_viewing_remote_view())
|
||||
if(unset_viewers_machine)
|
||||
M.unset_machine()
|
||||
M.reset_view(null)
|
||||
|
||||
// Returns 0 for No Signal, 1 for Low Signal and 2 for Good Signal. 3 is for wired connection (always-on)
|
||||
/obj/item/modular_computer/proc/get_ntnet_status(var/specific_action = 0)
|
||||
|
||||
Reference in New Issue
Block a user