Close"
- user << browse(dat, "window=timer")
- onclose(user, "timer")
- return
+ VUEUI_SET_CHECK(data["timeractive"], timing, ., data)
+ VUEUI_SET_CHECK(data["minute"], minute, ., data)
+ VUEUI_SET_CHECK(data["second"], second, ., data)
+/obj/item/device/assembly/timer/Topic(href, href_list)
+ ..()
- Topic(href, href_list)
- ..()
- if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
- usr << browse(null, "window=timer")
- onclose(usr, "timer")
- return
+ if(href_list["time"])
+ timing = !timing
+ update_icon()
- if(href_list["time"])
- timing = text2num(href_list["time"])
- update_icon()
+ if(href_list["tp"])
+ var/tp = text2num(href_list["tp"])
+ time += tp
+ time = round(time)
+ time = clamp(time, 1, 600)
- if(href_list["tp"])
- var/tp = text2num(href_list["tp"])
- time += tp
- time = min(max(round(time), 0), 600)
-
- if(href_list["close"])
- usr << browse(null, "window=timer")
- return
-
- if(usr)
- attack_self(usr)
-
- return
+ var/datum/vueui/ui = SSvueui.get_open_ui(usr, src)
+ ui.check_for_change()
\ No newline at end of file
diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm
index 15104fdfb29..f0fe09e3503 100644
--- a/code/modules/assembly/voice.dm
+++ b/code/modules/assembly/voice.dm
@@ -3,44 +3,42 @@
desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated."
icon_state = "voice"
drop_sound = 'sound/items/drop/component.ogg'
- pickup_sound = 'sound/items/pickup/component.ogg'
+ pickup_sound = 'sound/items/pickup/component.ogg'
origin_tech = list(TECH_MAGNET = 1)
matter = list(DEFAULT_WALL_MATERIAL = 500, MATERIAL_GLASS = 50)
var/listening = FALSE
- var/recorded //the activation message
+ var/recorded //the activation message
-/obj/item/device/assembly/voice/New()
- ..()
+/obj/item/device/assembly/voice/Initialize(mapload, ...)
+ . = ..()
listening_objects += src
/obj/item/device/assembly/voice/Destroy()
listening_objects -= src
return ..()
-/obj/item/device/assembly/voice/hear_talk(mob/living/M as mob, msg)
+/obj/item/device/assembly/voice/hear_talk(mob/living/M, msg)
if(listening)
recorded = msg
listening = FALSE
- var/turf/T = get_turf(src) //otherwise it won't work in hand
- T.visible_message("[icon2html(src, viewers(get_turf(T)))] beeps, \"Activation message is '[recorded]'.\"")
+ var/turf/T = get_turf(src) //otherwise it won't work in hand
+ T.audible_message("[icon2html(src, viewers(get_turf(T)))] beeps, \"Activation message is '[recorded]'.\"")
else
if(findtext(msg, recorded))
- pulse(0)
+ pulse(FALSE)
/obj/item/device/assembly/voice/activate()
- if(secured)
- if(!holder)
- listening = !listening
- var/turf/T = get_turf(src)
- T.visible_message("[icon2html(src, viewers(get_turf(T)))] beeps, \"[listening ? "Now" : "No longer"] recording input.\"")
-
+ if(secured && !holder)
+ listening = !listening
+ var/turf/T = get_turf(src)
+ T.audible_message("[icon2html(src, viewers(get_turf(T)))] beeps, \"[listening ? "Now" : "No longer"] recording input.\"")
/obj/item/device/assembly/voice/attack_self(mob/user)
- if(!user) return 0
+ if(!user)
+ return FALSE
activate()
- return 1
-
+ return TRUE
/obj/item/device/assembly/voice/toggle_secure()
. = ..()
- listening = FALSE
+ listening = FALSE
\ No newline at end of file
diff --git a/html/changelogs/geeves-augh_old_code.yml b/html/changelogs/geeves-augh_old_code.yml
new file mode 100644
index 00000000000..f2c8b7905ef
--- /dev/null
+++ b/html/changelogs/geeves-augh_old_code.yml
@@ -0,0 +1,8 @@
+author: Geeves
+
+delete-after: True
+
+changes:
+ - rscadd: "Updated assembly devices code and UIs. That includes signalers, timers, igniters, proximity sensors, infrared emitters, etc."
+ - bugfix: "Fixes various bugs with infrared emitters, they can now properly be rotated."
+ - bugfix: "Assemblies now properly disassemble without duplicating."
\ No newline at end of file
diff --git a/vueui/src/components/view/devices/assembly/infrared.vue b/vueui/src/components/view/devices/assembly/infrared.vue
new file mode 100644
index 00000000000..edab489b88b
--- /dev/null
+++ b/vueui/src/components/view/devices/assembly/infrared.vue
@@ -0,0 +1,22 @@
+
+
+
+
Status:
+ Active
+ Inactive
+
+
+
Beam Visibility:
+ Visible
+ Invisible
+
+
+
+
+
\ No newline at end of file
diff --git a/vueui/src/components/view/devices/assembly/proximity.vue b/vueui/src/components/view/devices/assembly/proximity.vue
new file mode 100644
index 00000000000..7f24bb7a458
--- /dev/null
+++ b/vueui/src/components/view/devices/assembly/proximity.vue
@@ -0,0 +1,48 @@
+
+
+
+
Auxiliary Timing Unit:
+ Arming
+ Not Arming
+
+
+
Time Left:
+ --
+ -
+ {{minute}}:{{second}}
+ +
+ ++
+
+
+
Scanning:
+ Armed
+ Not Armed
+ Movement sensor active when armed!
+
+
+
Range:
+ -
+ {{range}}
+ +
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vueui/src/components/view/devices/assembly/signaler.vue b/vueui/src/components/view/devices/assembly/signaler.vue
new file mode 100644
index 00000000000..870d2dd6dd3
--- /dev/null
+++ b/vueui/src/components/view/devices/assembly/signaler.vue
@@ -0,0 +1,42 @@
+
+
+
+ Send Signal
+
+
+
Frequency:
+ --
+ -
+ {{frequency}}
+ +
+ ++
+
+
+
Code:
+ --
+ -
+ {{code}}
+ +
+ ++
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vueui/src/components/view/devices/assembly/timer.vue b/vueui/src/components/view/devices/assembly/timer.vue
new file mode 100644
index 00000000000..a01560c5b7d
--- /dev/null
+++ b/vueui/src/components/view/devices/assembly/timer.vue
@@ -0,0 +1,36 @@
+
+