diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm
index c64b7bae7e..c56052ef26 100644
--- a/code/game/machinery/telecomms/logbrowser.dm
+++ b/code/game/machinery/telecomms/logbrowser.dm
@@ -195,7 +195,7 @@
var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text
- if(newnet && usr in range(1, src))
+ if(newnet && (usr in range(1, src) || issilicon(usr)))
if(length(newnet) > 15)
temp = "- FAILED: NETWORK TAG STRING TOO LENGHTLY -"
diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm
index 0d01d4c33b..3567e41f1c 100644
--- a/code/game/machinery/telecomms/telemonitor.dm
+++ b/code/game/machinery/telecomms/telemonitor.dm
@@ -108,7 +108,7 @@
if(href_list["network"])
var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text
- if(newnet && usr in range(1, src))
+ if(newnet && (usr in range(1, src) || issilicon(usr)))
if(length(newnet) > 15)
temp = "- FAILED: NETWORK TAG STRING TOO LENGHTLY -"
diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm
index 753acf6e79..edfafdf737 100644
--- a/code/game/machinery/telecomms/traffic_control.dm
+++ b/code/game/machinery/telecomms/traffic_control.dm
@@ -35,7 +35,7 @@
winset(editingcode, "tcscode", "is-disabled=false")
// If the player's not manning the keyboard anymore, adjust everything
- if(!(editingcode in range(1, src)) || editingcode.machine != src)
+ if( (!(editingcode in range(1, src)) && !issilicon(editingcode)) || (editingcode.machine != src && !issilicon(editingcode)))
if(editingcode)
winshow(editingcode, "Telecomms IDE", 0) // hide the window!
editingcode = null
@@ -50,6 +50,7 @@
showcode = dd_replacetext(storedcode, "\"", "\\\"")
for(var/mob/M in viewingcode)
+
if( (M.machine == src && M in view(1, src) ) || issilicon(M))
winset(M, "tcscode", "is-disabled=true")
winset(M, "tcscode", "text=\"[showcode]\"")
@@ -188,7 +189,7 @@
var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text
- if(newnet && usr in range(1, src))
+ if(newnet && (usr in range(1, src) || issilicon(usr)))
if(length(newnet) > 15)
temp = "- FAILED: NETWORK TAG STRING TOO LENGHTLY -"
diff --git a/code/modules/scripting/IDE.dm b/code/modules/scripting/IDE.dm
index f45ad8d400..8199e9fac8 100644
--- a/code/modules/scripting/IDE.dm
+++ b/code/modules/scripting/IDE.dm
@@ -1,7 +1,7 @@
client/verb/tcssave()
set hidden = 1
if(mob.machine)
- if(istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob))
+ if(istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob) || issilicon(mob)))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return
@@ -24,7 +24,7 @@ client/verb/tcssave()
client/verb/tcscompile()
set hidden = 1
if(mob.machine)
- if(istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob))
+ if(istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob) || issilicon(mob)))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return
@@ -75,7 +75,7 @@ client/verb/tcscompile()
client/verb/tcsrun()
set hidden = 1
if(mob.machine)
- if(istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob))
+ if(istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob) || issilicon(mob)))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return
@@ -153,7 +153,7 @@ client/verb/exittcs()
client/verb/tcsrevert()
set hidden = 1
if(mob.machine)
- if(istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && mob.machine in view(1, mob))
+ if(istype(mob.machine, /obj/machinery/computer/telecomms/traffic) && (mob.machine in view(1, mob) || issilicon(mob)))
var/obj/machinery/computer/telecomms/traffic/Machine = mob.machine
if(Machine.editingcode != mob)
return