diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 4158bf81a5c..9b49611fafd 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -22,11 +22,21 @@
if (I && istype(I))
if(src.check_access(I))
authenticated = 1
+ if(20 in I.access)
+ authenticated = 2
if("logout")
authenticated = 0
if("nolockdown")
disablelockdown(usr)
post_status("alert", "default")
+ if("announce")
+ if(src.authenticated==2)
+ var/input = input(usr, "Please choose a message to announce to the station crew.", "What?", "")
+ if(!input)
+ return
+ captain_announce(input)
+ log_admin("[key_name(usr)] has made a captain announcement: [input]")
+ message_admins("[key_name_admin(usr)] has made a captain announcement.", 1)
if("call-prison")
call_prison_shuttle(usr)
if("callshuttle")
@@ -204,6 +214,8 @@
dat += "
\[ Log Out \]"
dat += "
\[ Send Prison Shutle \]"
dat += "
\[ Disable Lockdown \]"
+ if (src.authenticated==2)
+ dat += "
\[ Make An Announcement \]"
if(emergency_shuttle.location==0)
if (emergency_shuttle.online)
dat += "
\[ Cancel Shuttle Call \]"
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 19a3be7fc7d..e7b40b2088b 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -685,7 +685,7 @@
src.holder.Voting()
/client/proc/funbutton()
- set category = "Admin"
+ set category = "Boom Boom"
set name = "Boom Boom Boom Shake The Room"
if(!src.authenticated || !src.holder)
src << "Only administrators may use this command."
diff --git a/goonstation.dme b/goonstation.dme
index 154ead051bb..4f81b31f821 100644
--- a/goonstation.dme
+++ b/goonstation.dme
@@ -214,6 +214,7 @@
#include "code\defines\obj\clothing\gimmick.dm"
#include "code\defines\obj\spawner\bomb.dm"
#include "code\defines\procs\AStar.dm"
+#include "code\defines\procs\captain_announce.dm"
#include "code\defines\procs\church_name.dm"
#include "code\defines\procs\command_alert.dm"
#include "code\defines\procs\command_name.dm"