diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm
index 51eeb81a11e..9011ac00c0d 100644
--- a/code/defines/obj/toy.dm
+++ b/code/defines/obj/toy.dm
@@ -110,6 +110,8 @@
src.add_fingerprint(user)
if (src.bullets < 1)
user.show_message("\red *click* *click*", 2)
+ for(var/mob/K in viewers(usr))
+ K << 'empty.ogg'
return
playsound(user, 'Gunshot.ogg', 100, 1)
src.bullets--
diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm
index f249ada8cbc..d91b4f89d92 100644
--- a/code/game/jobs/job/silicon.dm
+++ b/code/game/jobs/job/silicon.dm
@@ -5,6 +5,7 @@
faction = "Station"
total_positions = 0
spawn_positions = 1
+ supervisors = "your laws"
equip(var/mob/living/carbon/human/H)
diff --git a/code/game/objects/devices/flash.dm b/code/game/objects/devices/flash.dm
index 0bcf5911300..8693df40169 100644
--- a/code/game/objects/devices/flash.dm
+++ b/code/game/objects/devices/flash.dm
@@ -34,6 +34,8 @@
if(shots_left <= 0)
user.show_message("\red *click* *click*", 2)
+ for(var/mob/K in viewers(usr))
+ K << 'empty.ogg'
return
playsound(src.loc, 'flash.ogg', 100, 1)
diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm
index 7c258fc4eaf..340dcc3925d 100644
--- a/code/game/objects/items/weapons/implants/implant.dm
+++ b/code/game/objects/items/weapons/implants/implant.dm
@@ -335,4 +335,110 @@ the implant may become unstable and either pre-maturely inject the subject or si
implanted(mob/source as mob)
src.activation_emote = input("Choose activation emote:") in list("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
source.mind.store_memory("Freedom implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate.", 0, 0)
- source << "The implanted freedom implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate."
\ No newline at end of file
+ source << "The implanted freedom implant can be activated by using the [src.activation_emote] emote, say *[src.activation_emote] to attempt to activate."
+
+/*// --------------------LASERS WORK FROM HERE, AUGMENTATIONS SHIZZLE----------------------
+/obj/item/weapon/implant/augmentation/thermalscanner
+ name = "Thermal Scanner Augmentation"
+ desc = "Makes you see humans through walls"
+
+ get_data()
+ var/dat = {"
+Implant Specifications:
+Name: NanoTrasen Thermal Implant
+Life: Ten years.
+Important Notes: Personnel injected with this device tend to be able to see lifeforms through life using thermal.
+
+Implant Details:
+Function: Contains a small pod of nanobots that manipulate the host's eye functions.
+Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
+ return dat
+
+
+ implanted(M as mob)
+ if(istype(M, /mob/living/carbon/human))
+ vision_flags = SEE_MOBS
+ invisa_view = 2
+ usr << "You suddenly start seeing body temperatures of whoever is around you."
+ else
+ usr << "This implant is not compatible!"
+ return
+
+/obj/item/weapon/implant/augmentation/mesonscanner
+ name = "Meson Scanner Augmentation"
+ desc = "Makes you see floor and wall layouts through walls."
+
+ get_data()
+ var/dat = {"
+Implant Specifications:
+Name: NanoTrasen Meson Implant
+Life: Ten years.
+Important Notes: Personnel injected with this device tend to be able to see floor and wall layouts through walls.
+
+Implant Details:
+Function: Contains a small pod of nanobots that manipulate the host's eye functions.
+Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
+ return dat
+
+
+ implanted(M as mob)
+ if(istype(M, /mob/living/carbon/human))
+ vision_flags = SEE_TURFS
+ usr << "You suddenly start seeing body temperatures of whoever is around you."
+ else
+ usr << "This implant is not compatible!"
+ return
+
+/obj/item/weapon/implant/augmentation/medicalhud
+ name = "Medical HUD Augmentation"
+ desc = "Makes you see the medical condition of a person."
+
+ get_data()
+ var/dat = {"
+Implant Specifications:
+Name: NanoTrasen Med HUD Implant
+Life: Ten years.
+Important Notes: Personnel injected with this device tend to be able to see the medical condition of a person.
+
+Implant Details:
+Function: Contains a small pod of nanobots that manipulate the host's eye functions.
+Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
+ return dat
+
+
+ implanted(M as mob)
+ if(istype(M, /mob/living/carbon/human))
+
+ src.hud = new/obj/item/clothing/glasses/hud/health(src)
+ usr << "You suddenly start seeing body temperatures of whoever is around you."
+ else
+ usr << "This implant is not compatible!"
+ return
+
+/obj/item/weapon/implant/augmentation/securityhud
+ name = "Security HUD Augmentation"
+ desc = "Makes you see the Security standings of a person."
+
+ get_data()
+ var/dat = {"
+Implant Specifications:
+Name: NanoTrasen Sec HUD Implant
+Life: Ten years.
+Important Notes: Personnel injected with this device tend to be able to see the security standings of a person.
+
+Implant Details:
+Function: Contains a small pod of nanobots that manipulate the host's eye functions.
+Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
+ return dat
+
+
+ implanted(M as mob)
+ if(istype(M, /mob/living/carbon/human))
+ var/obj/item/clothing/glasses/hud/security/hud = null
+
+ src.hud = new/obj/item/clothing/glasses/hud/security(src)
+
+ usr << "You suddenly start seeing body temperatures of whoever is around you."
+ else
+ usr << "This implant is not compatible!"
+ return*/
\ No newline at end of file
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index e90fb1203f4..665012518a4 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -162,6 +162,8 @@
if(!special_check(user)) return
if(!load_into_chamber())
user.visible_message("*click click*", "\red *click*")
+ for(var/mob/K in viewers(usr))
+ K << 'empty.ogg'
return
if(!in_chamber) return
@@ -250,6 +252,8 @@
told_cant_shoot = 0
else
usr.visible_message("*click click*", "\red *click*")
+ for(var/mob/K in viewers(usr))
+ K << 'empty.ogg'
var/dir_to_fire = sd_get_approx_dir(M,T)
if(dir_to_fire != M.dir)
M.dir = dir_to_fire
diff --git a/empty.ogg b/empty.ogg
new file mode 100644
index 00000000000..12ef9e5fce8
Binary files /dev/null and b/empty.ogg differ
diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi
index 3460395fefd..c3a33cf5210 100644
Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ