diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index acd30d843f9..a6a962b850c 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -659,24 +659,29 @@
var/existant = 0
/obj/item/syndicatedetonator/attack_self(mob/user)
- if(timer < world.time)
- for(var/obj/machinery/syndicatebomb/B in GLOB.machines)
- if(B.active)
- B.detonation_timer = world.time + BUTTON_DELAY
- detonated++
- existant++
- playsound(user, 'sound/machines/click.ogg', 20, 1)
- to_chat(user, "[existant] found, [detonated] triggered.")
- if(detonated)
- var/turf/T = get_turf(src)
- var/area/A = get_area(T)
- detonated--
- investigate_log("[key_name(user)] has remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using a [name] at [A.name] ([T.x],[T.y],[T.z])", INVESTIGATE_BOMB)
- add_attack_logs(user, src, "has remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using", ATKLOG_FEW)
- log_game("[key_name(user)] has remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using a [name] at [A.name] ([T.x],[T.y],[T.z])")
- detonated = 0
- existant = 0
- timer = world.time + BUTTON_COOLDOWN
+ if(timer >= world.time)
+ to_chat(user, "Nothing happens.")
+ return
+
+ for(var/obj/machinery/syndicatebomb/B in GLOB.machines)
+ if(B.active)
+ B.detonation_timer = world.time + BUTTON_DELAY
+ detonated++
+ existant++
+
+ playsound(user, 'sound/machines/click.ogg', 20, TRUE)
+ flick("bigred_press", src)
+ to_chat(user, "[existant] found, [detonated] triggered.")
+ if(detonated)
+ var/turf/T = get_turf(src)
+ var/area/A = get_area(T)
+ detonated--
+ investigate_log("[key_name(user)] has remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using a [name] at [A.name] ([T.x],[T.y],[T.z])", INVESTIGATE_BOMB)
+ add_attack_logs(user, src, "has remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using", ATKLOG_FEW)
+ log_game("[key_name(user)] has remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using a [name] at [A.name] ([T.x],[T.y],[T.z])")
+ detonated = 0
+ existant = 0
+ timer = world.time + BUTTON_COOLDOWN
#undef BUTTON_COOLDOWN
#undef BUTTON_DELAY
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index f85e1c7ccb9..96329aa1e86 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -828,18 +828,18 @@
var/cooldown = 0
/obj/item/toy/redbutton/attack_self(mob/user)
- if(cooldown < world.time)
- cooldown = (world.time + 300) // Sets cooldown at 30 seconds
- user.visible_message("[user] presses the big red button.", "You press the button, it plays a loud noise!", "The button clicks loudly.")
- playsound(src, 'sound/effects/explosionfar.ogg', 50, 0, 0)
- for(var/mob/M in range(10, src)) // Checks range
- if(!M.stat && !isAI(M)) // Checks to make sure whoever's getting shaken is alive/not the AI
- sleep(8) // Short delay to match up with the explosion sound
- shake_camera(M, 2, 1) // Shakes player camera 2 squares for 1 second.
-
- else
+ if(cooldown >= world.time)
to_chat(user, "Nothing happens.")
+ return
+ cooldown = (world.time + 300) // Sets cooldown at 30 seconds
+ user.visible_message("[user] presses the big red button.", "You press the button, it plays a loud noise!", "The button clicks loudly.")
+ playsound(src, 'sound/effects/explosionfar.ogg', 50, FALSE, 0)
+ flick("bigred_press", src)
+ for(var/mob/M in range(10, src)) // Checks range
+ if(!M.stat && !isAI(M)) // Checks to make sure whoever's getting shaken is alive/not the AI
+ sleep(8) // Short delay to match up with the explosion sound
+ shake_camera(M, 2, 1) // Shakes player camera 2 squares for 1 second.
/*
* AI core prizes
diff --git a/icons/obj/assemblies.dmi b/icons/obj/assemblies.dmi
index 385bf707d4f..2d754018f2c 100644
Binary files a/icons/obj/assemblies.dmi and b/icons/obj/assemblies.dmi differ
diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi
index 437bb1e531e..40d7e5ae729 100644
Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ