diff --git a/code/game/response_team.dm b/code/game/response_team.dm
index d9b8cfcc375..c16c6475f8d 100644
--- a/code/game/response_team.dm
+++ b/code/game/response_team.dm
@@ -9,6 +9,7 @@ var/list/response_team_members = list()
var/responseteam_age = 21 // Minimum account age to play as an ERT member
var/datum/response_team/active_team = null
var/send_emergency_team
+var/ert_request_answered = 0
/client/proc/response_team()
set name = "Dispatch CentComm Response Team"
@@ -47,6 +48,7 @@ var/send_emergency_team
if(!ert_type)
return
+ ert_request_answered = 1
message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team", 1)
log_admin("[key_name(usr)] used Dispatch Emergency Response Team..")
trigger_armed_response_team(ert_type)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 59278124aa0..2be62321e71 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1854,7 +1854,7 @@
var/input = input(src.owner, "Please enter a reason for denying [key_name(H)]'s ERT request.","Outgoing message from CentComm", "")
if(!input) return
-
+ ert_request_answered = 1
to_chat(src.owner, "You sent [input] to [H] via a secure channel.")
log_admin("[src.owner] denied [key_name(H)]'s ERT request with the message [input].")
to_chat(H, "You hear something crackle in your headset for a moment before a voice speaks. \"Your ERT request has been denied for the following reasons: [input]. Message ends.\"")
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index caed1de43af..a9562268fdd 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -50,9 +50,11 @@
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
-/proc/ERT_Announce(var/text , var/mob/Sender)
+/proc/ERT_Announce(var/text , var/mob/Sender, var/repeat_warning)
var/msg = sanitize(copytext(text, 1, MAX_MESSAGE_LEN))
- msg = "\blue ERT REQUEST: [key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (REPLY): [msg]"
+ msg = "ERT REQUEST: [key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (RESPOND): [msg]"
+ if (repeat_warning)
+ msg += "
WARNING: ERT request has gone 5 minutes with no reply!"
for(var/client/X in admins)
if(check_rights(R_EVENT,0,X.mob))
to_chat(X, msg)
diff --git a/code/modules/security_levels/keycard authentication.dm b/code/modules/security_levels/keycard authentication.dm
index d27820ac033..2220b85f361 100644
--- a/code/modules/security_levels/keycard authentication.dm
+++ b/code/modules/security_levels/keycard authentication.dm
@@ -155,12 +155,21 @@
if(is_ert_blocked())
to_chat(usr, "\red All Emergency Response Teams are dispatched and can not be called at this time.")
return
-
to_chat(usr, "ERT request transmitted.")
- if(admins.len)
- ERT_Announce(ert_reason , event_triggered_by)
+
+
+ var/fullmin_count = 0
+ for(var/client/C in admins)
+ if (check_rights(R_EVENT, 0, C.mob))
+ fullmin_count++
+ if(fullmin_count)
+ ert_request_answered = 0
+ ERT_Announce(ert_reason , event_triggered_by, 0)
ert_reason = "Reason for ERT"
feedback_inc("alert_keycard_auth_ert",1)
+ spawn(3000)
+ if (!ert_request_answered)
+ ERT_Announce(ert_reason , event_triggered_by, 1)
else
trigger_armed_response_team(new /datum/response_team/amber) // No admins? No problem. Automatically send a code amber ERT.