diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm
index 677d1f112d8..4f2f912edc8 100644
--- a/code/game/objects/items/devices/megaphone.dm
+++ b/code/game/objects/items/devices/megaphone.dm
@@ -17,12 +17,11 @@
if(user.client.prefs.muted & MUTE_IC)
src << "You cannot speak in IC (muted)."
return
+
if(!ishuman(user))
user << "You don't know how to use this!"
return
- if(user.can_speak())
- user << "You find yourself unable to speak at all."
- return
+
if(spamcheck > world.time)
user << "\The [src] needs to recharge!"
return
@@ -30,7 +29,12 @@
var/message = copytext(sanitize(input(user, "Shout a message?", "Megaphone", null) as text),1,MAX_MESSAGE_LEN)
if(!message)
return
+
message = capitalize(message)
+ if(!user.can_speak(message))
+ user << "You find yourself unable to speak at all."
+ return
+
if ((src.loc == user && user.stat == 0))
if(emagged)
if(insults)
@@ -60,4 +64,4 @@
/obj/item/device/megaphone/cargo
name = "supply megaphone"
- icon_state = "megaphone-cargo"
\ No newline at end of file
+ icon_state = "megaphone-cargo"