diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index ea8b5cd230e..f67fb4f4c4f 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -169,6 +169,7 @@
disconnect_from_network()
if(2)
to_chat(user, "\The [src] needs to be unwelded from the floor.")
+ update_icon() // VOREStation Add
return
if(istype(W, /obj/item/weapon/weldingtool))
@@ -205,6 +206,7 @@
disconnect_from_network()
else
to_chat(user, "You need more welding fuel to complete this task.")
+ update_icon() // VOREStation Add
return
if(istype(W, /obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL)
@@ -233,6 +235,7 @@
if(src.allowed(user))
src.locked = !src.locked
to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]")
+ update_icon() // VOREStation Add
else
to_chat(user, "Access denied.")
return
diff --git a/code/modules/power/singularity/emitter_vr.dm b/code/modules/power/singularity/emitter_vr.dm
new file mode 100644
index 00000000000..b50769dbdf1
--- /dev/null
+++ b/code/modules/power/singularity/emitter_vr.dm
@@ -0,0 +1,37 @@
+/obj/machinery/power/emitter
+ icon = 'icons/obj/singularity_vr.dmi' // New emitter sprite
+ var/previous_state = 0
+
+/obj/machinery/power/emitter/Initialize()
+ . = ..()
+ previous_state = state
+
+/obj/machinery/power/emitter/update_icon()
+ cut_overlays()
+ icon_state = "emitter[state]"
+ if (state != previous_state)
+ flick("emitterflick-[previous_state][state]",src)
+ previous_state = state
+
+ if(powered && powernet && avail(active_power_usage) && active)
+ var/image/emitterbeam = image(icon,"emitter-beam")
+ emitterbeam.plane = PLANE_LIGHTING_ABOVE
+ add_overlay(emitterbeam)
+
+ if(locked)
+ var/image/emitterlock = image(icon,"emitter-lock")
+ emitterlock.plane = PLANE_LIGHTING_ABOVE
+ add_overlay(emitterlock)
+
+// The old emitter sprite
+/obj/machinery/power/emitter/antique
+ name = "antique emitter"
+ desc = "An old fashioned heavy duty industrial laser."
+ icon_state = "emitter"
+
+/obj/machinery/power/emitter/antique/update_icon()
+ if(powered && powernet && avail(active_power_usage) && active)
+ icon_state = "emitter_+a"
+ else
+ icon_state = "emitter"
+
diff --git a/icons/obj/singularity_vr.dmi b/icons/obj/singularity_vr.dmi
new file mode 100644
index 00000000000..a6fce4ab58a
Binary files /dev/null and b/icons/obj/singularity_vr.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index 5f3a167388b..5bad2712b70 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -3405,6 +3405,7 @@
#include "code\modules\power\singularity\collector.dm"
#include "code\modules\power\singularity\containment_field.dm"
#include "code\modules\power\singularity\emitter.dm"
+#include "code\modules\power\singularity\emitter_vr.dm"
#include "code\modules\power\singularity\field_generator.dm"
#include "code\modules\power\singularity\generator.dm"
#include "code\modules\power\singularity\investigate.dm"