diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index 470dd87ca3c..fba251f71f8 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -130,7 +130,7 @@
materials = list(MAT_METAL=500, MAT_GLASS=50)
/obj/item/clothing/mask/muzzle/safety/shock/attackby(obj/item/W, mob/user, params)
- if(isscrewdriver(W))
+ if(isscrewdriver(W) && trigger)
to_chat(user, "You disassemble [src].")
trigger.forceMove(get_turf(user))
trigger.master = null
@@ -140,7 +140,7 @@
else if(istype(W, /obj/item/assembly/signaler) || istype(W, /obj/item/assembly/voice))
if(istype(trigger, /obj/item/assembly/signaler) || istype(trigger, /obj/item/assembly/voice))
to_chat(user, "Something is already attached to [src].")
- return TRUE
+ return FALSE
if(!user.drop_item())
to_chat(user, "You are unable to insert [W] into [src].")
return FALSE
@@ -152,7 +152,7 @@
return TRUE
else if(istype(W, /obj/item/assembly))
to_chat(user, "That won't fit in [src]. Perhaps a signaler or voice analyzer would?")
- return TRUE
+ return FALSE
return ..()
@@ -167,8 +167,8 @@
/obj/item/clothing/mask/muzzle/safety/shock/proc/process_activation(var/obj/D, var/normal = 1, var/special = 1)
visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
- if(can_shock(loc))
- var/mob/M = can_shock(loc)
+ var/mob/M = can_shock(loc)
+ if(M)
to_chat(M, "You feel a sharp shock!")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, M)
diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm
index 577aa408383..f8b8683e930 100644
--- a/code/modules/mob/emote.dm
+++ b/code/modules/mob/emote.dm
@@ -34,7 +34,7 @@
var/muzzled = is_muzzled()
if(muzzled)
var/obj/item/clothing/mask/muzzle/M = wear_mask
- if(M.mute)
+ if(m_type == 2 && M.mute)
return //Not all muzzles block sound
if(m_type == 2 && !can_speak())
return