diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm
index b2af85d1b0..f50cf8dc87 100644
--- a/code/_onclick/hud/ai.dm
+++ b/code/_onclick/hud/ai.dm
@@ -162,7 +162,7 @@
if(..())
return
var/mob/living/silicon/S = usr
- S.sensor_mode()
+ S.toggle_sensors()
/datum/hud/ai
diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm
index bb057f7774..cc17d8e4bd 100644
--- a/code/modules/mob/living/silicon/pai/software.dm
+++ b/code/modules/mob/living/silicon/pai/software.dm
@@ -235,7 +235,8 @@
if(href_list["toggle"])
secHUD = !secHUD
if(secHUD)
- add_sec_hud()
+ var/datum/atom_hud/sec = GLOB.huds[sec_hud]
+ sec.add_hud_to(src)
else
var/datum/atom_hud/sec = GLOB.huds[sec_hud]
sec.remove_hud_from(src)
@@ -243,8 +244,8 @@
if(href_list["toggle"])
medHUD = !medHUD
if(medHUD)
- add_med_hud()
-
+ var/datum/atom_hud/med = GLOB.huds[med_hud]
+ med.add_hud_to(src)
else
var/datum/atom_hud/med = GLOB.huds[med_hud]
med.remove_hud_from(src)
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 5ed5bf5eb0..7df4c9fda0 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -30,6 +30,7 @@
var/ioncheck[1]
var/devillawcheck[5]
+ var/sensors_on = 0
var/med_hud = DATA_HUD_MEDICAL_ADVANCED //Determines the med hud to use
var/sec_hud = DATA_HUD_SECURITY_ADVANCED //Determines the sec hud to use
var/d_hud = DATA_HUD_DIAGNOSTIC_BASIC //Determines the diag hud to use
@@ -328,7 +329,7 @@
/mob/living/silicon/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) //Secbots won't hunt silicon units
return -10
-/mob/living/silicon/proc/remove_med_sec_hud()
+/mob/living/silicon/proc/remove_sensors()
var/datum/atom_hud/secsensor = GLOB.huds[sec_hud]
var/datum/atom_hud/medsensor = GLOB.huds[med_hud]
var/datum/atom_hud/diagsensor = GLOB.huds[d_hud]
@@ -336,36 +337,24 @@
medsensor.remove_hud_from(src)
diagsensor.remove_hud_from(src)
-/mob/living/silicon/proc/add_sec_hud()
+/mob/living/silicon/proc/add_sensors()
var/datum/atom_hud/secsensor = GLOB.huds[sec_hud]
- secsensor.add_hud_to(src)
-
-/mob/living/silicon/proc/add_med_hud()
var/datum/atom_hud/medsensor = GLOB.huds[med_hud]
- medsensor.add_hud_to(src)
-
-/mob/living/silicon/proc/add_diag_hud()
var/datum/atom_hud/diagsensor = GLOB.huds[d_hud]
+ secsensor.add_hud_to(src)
+ medsensor.add_hud_to(src)
diagsensor.add_hud_to(src)
-/mob/living/silicon/proc/sensor_mode()
+/mob/living/silicon/proc/toggle_sensors()
if(incapacitated())
return
- var/sensor_type = input("Please select sensor type.", "Sensor Integration", null) in list("Security", "Medical","Diagnostic","Disable")
- remove_med_sec_hud()
- switch(sensor_type)
- if ("Security")
- add_sec_hud()
- to_chat(src, "Security records overlay enabled.")
- if ("Medical")
- add_med_hud()
- to_chat(src, "Life signs monitor overlay enabled.")
- if ("Diagnostic")
- add_diag_hud()
- to_chat(src, "Robotics diagnostic overlay enabled.")
- if ("Disable")
- to_chat(src, "Sensor augmentations disabled.")
-
+ sensors_on = !sensors_on
+ if (!sensors_on)
+ to_chat(src, "Sensor overlay deactivated.")
+ remove_sensors()
+ return
+ add_sensors()
+ to_chat(src, "Sensor overlay activated.")
/mob/living/silicon/proc/GetPhoto()
if (aicamera)