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/gamemodes/extended/extended.dm b/code/game/gamemodes/extended/extended.dm
index c5208c4dc93..2c37c1bb841 100644
--- a/code/game/gamemodes/extended/extended.dm
+++ b/code/game/gamemodes/extended/extended.dm
@@ -6,21 +6,17 @@
uplink_welcome = "Syndicate Uplink Console:"
uplink_uses = 10
-// Enable this and the below to have command reports in extended
-// var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds)
-// var/const/waittime_h = 1800
+ var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds)
+ var/const/waittime_h = 1800
/datum/game_mode/announce()
world << "The current game mode is - Extended Role-Playing!"
world << "Just have fun and role-play!"
/datum/game_mode/extended/pre_setup()
-// setup_sectors()
-// spawn_exporation_packs()
return 1
-// Enable this and the above to have command reports in extended
-///datum/game_mode/extended/post_setup()
-// send_intercept()
-//
-// ..()
\ No newline at end of file
+/datum/game_mode/extended/post_setup()
+ spawn (rand(waittime_l, waittime_h)) // To reduce extended meta.
+ send_intercept()
+ ..()
\ No newline at end of file
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 4f3cdb9cf82..555229335df 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -232,11 +232,12 @@ Whitespace:Seperator;"}
comm.messagetitle.Add("Cent. Com. Status Summary")
comm.messagetext.Add(intercepttext)
+ world << sound('commandreport.ogg')
- command_alert("Summary downloaded and printed out at all communications consoles.", "Enemy communication intercept. Security Level Elevated.")
+/* command_alert("Summary downloaded and printed out at all communications consoles.", "Enemy communication intercept. Security Level Elevated.")
world << sound('intercept.ogg')
if(security_level < SEC_LEVEL_BLUE)
- set_security_level(SEC_LEVEL_BLUE)
+ set_security_level(SEC_LEVEL_BLUE)*/
/datum/game_mode/proc/get_players_for_role(var/role, override_jobbans=1)
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/game/objects/radio/headset.dm b/code/game/objects/radio/headset.dm
index 0f7fea4fc16..e2aa76282e0 100644
--- a/code/game/objects/radio/headset.dm
+++ b/code/game/objects/radio/headset.dm
@@ -150,6 +150,8 @@
/obj/item/device/radio/headset/ert
name = "CentCom Response Team headset"
desc = "The headset of the boss's boss. Channels are as follows: :h - Response Team :c - command, :s - security, :e - engineering, :d - mining, :q - cargo, :m - medical, :n - science."
+ icon_state = "com_headset"
+ item_state = "headset"
freerange = 1
keyslot2 = new /obj/item/device/encryptionkey/ert
diff --git a/code/game/response_team.dm b/code/game/response_team.dm
index 5cbcee8c722..2ab9c5416c9 100644
--- a/code/game/response_team.dm
+++ b/code/game/response_team.dm
@@ -196,7 +196,7 @@ proc/trigger_armed_response_team(var/force = 0)
/mob/living/carbon/human/proc/equip_strike_team(leader_selected = 0)
//Special radio setup
- equip_if_possible(new /obj/item/device/radio/headset/ert, slot_ears)
+ equip_if_possible(new /obj/item/device/radio/headset/ert(src), slot_ears)
//Adding Camera Network
var/obj/machinery/camera/camera = new /obj/machinery/camera(src) //Gives all the commandos internals cameras.
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