From e9880251e477affdaefbbbc8220e27133b80e473 Mon Sep 17 00:00:00 2001 From: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com> Date: Sun, 21 Mar 2021 23:40:25 +0100 Subject: [PATCH] Added the N.E.R.D. (Nanotrasen Emergency Response Drone) team as an admin ERT. (#57766) Added the ability to call a Nanotrasen Emergency Response Drone Team in the Create Antagonist. --- code/modules/admin/topic.dm | 7 +++++ code/modules/admin/verbs/one_click_antag.dm | 33 +++++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 2fa573eb5fe..55a119a19ca 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -144,6 +144,13 @@ else message_admins("[key_name_admin(usr)] tried to create a revenant. Unfortunately, there were no candidates available.") log_admin("[key_name(usr)] failed to create a revenant.") + if("nerd") + if(src.makeNerd()) + message_admins("[key_name(usr)] created a nanotrasen emergency response drone.") + log_admin("[key_name(usr)] created a nanotrasen emergency response drone.") + else + message_admins("[key_name_admin(usr)] tried to create a nanotrasen emergency response drone. Unfortunately, there were no candidates available.") + log_admin("[key_name(usr)] failed to create a nanotrasen emergency response drone.") else if(href_list["forceevent"]) if(!check_rights(R_FUN)) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 21650216aff..5d741f3fb45 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -12,7 +12,6 @@ /datum/admins/proc/one_click_antag() - var/dat = {" Make Traitors
Make Changelings
@@ -24,6 +23,7 @@ Make CentCom Response Team (Requires Ghosts)
Make Abductor Team (Requires Ghosts)
Make Revenant (Requires Ghost)
+ Make N.E.R.D. (Requires Ghost)
"} var/datum/browser/popup = new(usr, "oneclickantag", "Quick-Create Antagonist", 400, 400) @@ -455,10 +455,37 @@ //Abductors /datum/admins/proc/makeAbductorTeam() new /datum/round_event/ghost_role/abductor - return 1 + return TRUE /datum/admins/proc/makeRevenant() new /datum/round_event/ghost_role/revenant(TRUE, TRUE) - return 1 + return TRUE + +/datum/admins/proc/makeNerd() + var/spawnpoint = pick(GLOB.blobstart) + var/list/mob/dead/observer/candidates + var/mob/dead/observer/chosen_candidate + var/mob/living/simple_animal/drone/nerd + var/teamsize + + teamsize = input(usr, "How many drones?", "N.E.R.D. team size", 2) as num|null + + if(teamsize <= 0) + return FALSE + + candidates = pollGhostCandidates("Do you wish to be considered for a Nanotrasen emergency response drone?", "Drone") + + if(length(candidates) == 0) + return FALSE + + while(length(candidates) && teamsize) + chosen_candidate = pick(candidates) + candidates -= chosen_candidate + nerd = new /mob/living/simple_animal/drone(spawnpoint) + nerd.key = chosen_candidate.key + log_game("[key_name(nerd)] has been selected as a Nanotrasen emergency response drone") + teamsize-- + + return TRUE #undef ERT_EXPERIENCED_LEADER_CHOOSE_TOP