diff --git a/code/game/response_team.dm b/code/game/response_team.dm
index e84b06c735e..98ca8486e4f 100644
--- a/code/game/response_team.dm
+++ b/code/game/response_team.dm
@@ -61,55 +61,47 @@ var/ert_request_answered = 0
else
return pick_ert_type()
if("Code Red")
- if(alert("Confirm: Deploy code 'RED' medium ERT?", "Emergency Response Team", "Confirm", "Cancel") == "Confirm")
+ if(alert("Confirm: Deploy code 'RED' medium ERT?", "Emergency Response Team", "Confirm", "Cancel") == "Confirm")
return new /datum/response_team/red
else
return pick_ert_type()
if("Code Gamma")
- if(alert("Confirm: Deploy code 'GAMMA' elite ERT?", "Emergency Response Team", "Confirm", "Cancel") == "Confirm")
+ if(alert("Confirm: Deploy code 'GAMMA' elite ERT?", "Emergency Response Team", "Confirm", "Cancel") == "Confirm")
return new /datum/response_team/gamma
else
return pick_ert_type()
return 0
-/mob/dead/observer/verb/JoinResponseTeam()
- set category = "Ghost"
- set name = "Join Emergency Response Team"
- set desc = "Join the Emergency Response Team. Only possible if it has been called by the crew."
+/mob/dead/observer/proc/JoinResponseTeam()
if(!istype(usr,/mob/dead/observer) && !istype(usr,/mob/new_player))
- to_chat(usr, "You need to be an observer or new player to use this.")
- return
+ to_chat(usr, "Only observers may join the ERT.")
+ return 0
if(!send_emergency_team)
to_chat(usr, "No emergency response team is currently being sent.")
- return
+ return 0
if(jobban_isbanned(usr, ROLE_ERT))
to_chat(usr, "You are jobbanned from the emergency reponse team!")
- return
+ return 0
var/player_age_check = check_client_age(usr.client, responseteam_age)
if(player_age_check && config.use_age_restriction_for_antags)
to_chat(usr, "This role is not yet available to you. You need to wait another [player_age_check] days.")
- return
+ return 0
if(src.has_enabled_antagHUD == 1 && config.antag_hud_restricted)
to_chat(usr, "\blue Upon using the antagHUD you forfeited the ability to join the round.")
- return
+ return 0
if(response_team_members.len > 6)
to_chat(usr, "The emergency response team is already full!")
- return
+ return 0
for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "Response Team")
L.name = null
-
- if(alert(usr, "Would you like to join the Emergency Response Team?", "Emergency Response Team", "Yes", "No") == "No")
- L.name = "Response Team"
- return
-
if(!src.client)
return
var/client/C = src.client
@@ -118,35 +110,26 @@ var/ert_request_answered = 0
new_commando.mind.key = usr.key
new_commando.key = usr.key
new_commando.update_icons()
-
- return
+ return 1
/proc/trigger_armed_response_team(var/datum/response_team/response_team_type)
active_team = response_team_type
- active_team.announce_team()
send_emergency_team = 1
- sleep(600 * 5)
- send_emergency_team = 0 // Can no longer join the ERT.
-
-/*
- var/area/security/nuke_storage/nukeloc = locate() //To find the nuke in the vault
- var/obj/machinery/nuclearbomb/nuke = locate() in nukeloc
- if(!nuke)
- nuke = locate() in world
- var/obj/item/weapon/paper/P = new
- P.info = "Your orders, Commander, are to use all means necessary to return the station to a survivable condition.
To this end, you have been provided with the best tools we can give for Security, Medical, Engineering and Janitorial duties. The nuclear authorization code is: [ nuke ? nuke.r_code : "UNKNOWN"]. Be warned, if you detonate this without good reason, we will hold you to account for damages. Memorise this code, and then destroy this message."
- P.name = "ERT Orders and Emergency Nuclear Code"
- var/obj/item/weapon/stamp/centcom/stamp = new
- P.stamp(stamp)
- qdel(stamp)
- for(var/obj/effect/landmark/A in world)
- if(A.name == "nukecode")
- P.loc = A.loc
- qdel(A)
- continue
-*/
+ var/list/ert_candidates = pollCandidates("Join the Emergency Response Team?",, responseteam_age, 600)
+ if(!ert_candidates.len)
+ active_team.cannot_send_team()
+ send_emergency_team = 0
+ return
+ var/teamsize = 0
+ for(var/mob/dead/observer/M in ert_candidates)
+ teamsize += M.JoinResponseTeam()
+ send_emergency_team = 0
+ if (!teamsize)
+ active_team.cannot_send_team()
+ return
+ active_team.announce_team()
/client/proc/create_response_team(obj/spawn_location)
var/mob/living/carbon/human/M = new(null)
@@ -350,16 +333,18 @@ var/ert_request_answered = 0
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
M.equip_to_slot_or_del(pda, slot_wear_pda)
+/datum/response_team/proc/cannot_send_team()
+ command_announcement.Announce("[station_name()], we are unfortunately unable to send you an Emergency Response Team at this time.", "ERT Unavailable")
/datum/response_team/proc/announce_team()
- command_announcement.Announce("Attention, [station_name()]. We are attempting to assemble a team of highly trained assistants to aid(?) you. Standby.", "Central Command")
+ command_announcement.Announce("Attention, [station_name()]. We are sending a team of highly trained assistants to aid(?) you. Standby.", "ERT En-Route")
// -- AMBER TEAM --
/datum/response_team/amber
/datum/response_team/amber/announce_team()
- command_announcement.Announce("Attention, [station_name()]. We are attempting to assemble a code AMBER light Emergency Response Team. Standby.", "Central Command")
+ command_announcement.Announce("Attention, [station_name()]. We are sending a code AMBER light Emergency Response Team. Standby.", "ERT En-Route")
/datum/response_team/amber/equip_officer(var/officer_type, var/mob/living/carbon/human/M)
..()
@@ -431,7 +416,7 @@ var/ert_request_answered = 0
/datum/response_team/red
/datum/response_team/red/announce_team()
- command_announcement.Announce("Attention, [station_name()]. We are attempting to assemble a code RED Emergency Response Team. Standby.", "Central Command")
+ command_announcement.Announce("Attention, [station_name()]. We are sending a code RED Emergency Response Team. Standby.", "ERT En-Route")
/datum/response_team/red/equip_officer(var/officer_type, var/mob/living/carbon/human/M)
..()
@@ -515,7 +500,7 @@ var/ert_request_answered = 0
/datum/response_team/gamma
/datum/response_team/gamma/announce_team()
- command_announcement.Announce("Attention, [station_name()]. We are attempting to assemble a code GAMMA elite Emergency Response Team. Standby.", "Central Command")
+ command_announcement.Announce("Attention, [station_name()]. We are sending a code GAMMA elite Emergency Response Team. Standby.", "ERT En-Route")
/datum/response_team/gamma/equip_officer(var/officer_type, var/mob/living/carbon/human/M)
..()