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