| [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""] | "
diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm
index 8a18dc9ac5..836a6e26be 100644
--- a/code/modules/admin/verbs/one_click_antag.dm
+++ b/code/modules/admin/verbs/one_click_antag.dm
@@ -238,26 +238,18 @@
if(agentcount < 3)
return 0
- var/nuke_code = random_nukecode()
-
- var/obj/machinery/nuclearbomb/nuke = locate("syndienuke") in GLOB.nuke_list
- if(nuke)
- nuke.r_code = nuke_code
-
//Let's find the spawn locations
var/leader_chosen = FALSE
- var/spawnpos = 1 //Decides where they'll spawn. 1=leader.
-
+
+ var/datum/objective_team/nuclear/nuke_team
for(var/mob/c in chosen)
- if(spawnpos > GLOB.nukeop_start.len)
- spawnpos = 1 //Ran out of spawns. Let's loop back to the first non-leader position
var/mob/living/carbon/human/new_character=makeBody(c)
if(!leader_chosen)
leader_chosen = TRUE
- new_character.mind.make_Nuke(pick(GLOB.nukeop_leader_start), nuke_code, TRUE)
+ var/datum/antagonist/nukeop/N = new_character.mind.add_antag_datum(/datum/antagonist/nukeop/leader)
+ nuke_team = N.nuke_team
else
- new_character.mind.make_Nuke(GLOB.nukeop_start[spawnpos], nuke_code)
- spawnpos++
+ new_character.mind.add_antag_datum(/datum/antagonist/nukeop,nuke_team)
return 1
else
return 0
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 48ba94bb76..eed265598e 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -386,7 +386,8 @@ Traitors and the like can also be revived with the previous role mostly intact.
A.equip_wizard()
if("Syndicate")
new_character.forceMove(pick(GLOB.nukeop_start))
- call(/datum/game_mode/proc/equip_syndicate)(new_character)
+ var/datum/antagonist/nukeop/N = new_character.mind.has_antag_datum(/datum/antagonist/nukeop,TRUE)
+ N.equip_op()
if("Space Ninja")
var/list/ninja_spawn = list()
for(var/obj/effect/landmark/carpspawn/L in GLOB.landmarks_list)
diff --git a/code/modules/events/operative.dm b/code/modules/events/operative.dm
index 47130ff924..894ad7e995 100644
--- a/code/modules/events/operative.dm
+++ b/code/modules/events/operative.dm
@@ -27,31 +27,13 @@
A.copy_to(operative)
operative.dna.update_dna_identity()
- operative.equipOutfit(/datum/outfit/syndicate/full)
-
var/datum/mind/Mind = new /datum/mind(selected.key)
Mind.assigned_role = "Lone Operative"
Mind.special_role = "Lone Operative"
- SSticker.mode.traitors |= Mind
Mind.active = 1
- var/obj/machinery/nuclearbomb/selfdestruct/nuke = locate() in GLOB.machines
- if(nuke)
- var/nuke_code
- if(!nuke.r_code || nuke.r_code == "ADMIN")
- nuke_code = random_nukecode()
- nuke.r_code = nuke_code
- else
- nuke_code = nuke.r_code
-
- Mind.store_memory("Station Self-Destruct Device Code: [nuke_code]", 0, 0)
- to_chat(Mind.current, "The nuclear authorization code is: [nuke_code]")
-
- var/datum/objective/nuclear/O = new()
- O.owner = Mind
- Mind.objectives += O
-
Mind.transfer_to(operative)
+ Mind.add_antag_datum(/datum/antagonist/nukeop/lone)
message_admins("[key_name_admin(operative)] has been made into lone operative by an event.")
log_game("[key_name(operative)] was spawned as a lone operative by an event.")
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 3dc56c936b..747d589c05 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -363,7 +363,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
if(M.mind in SSticker.mode.cult)
return 2
if("nuclear")
- if(M.mind in SSticker.mode.syndicates)
+ if(M.mind.has_antag_datum(/datum/antagonist/nukeop,TRUE))
return 2
if("changeling")
if(M.mind.has_antag_datum(/datum/antagonist/changeling,TRUE))
diff --git a/tgstation.dme b/tgstation.dme
index 6123e6c34a..2852a1d295 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -329,6 +329,7 @@
#include "code\datums\antagonists\devil.dm"
#include "code\datums\antagonists\internal_affairs.dm"
#include "code\datums\antagonists\ninja.dm"
+#include "code\datums\antagonists\nukeop.dm"
#include "code\datums\antagonists\pirate.dm"
#include "code\datums\antagonists\revolution.dm"
#include "code\datums\antagonists\wizard.dm"
@@ -2451,7 +2452,7 @@
#include "modular_citadel\cydonian_armor.dm"
#include "modular_citadel\polychromic_clothes.dm"
#include "modular_citadel\code\datums\uplink_items_cit.dm"
+#include "modular_citadel\code\game\objects\items\devices\PDA\PDA.dm"
#include "modular_citadel\code\game\objects\items\melee\eutactic_blades.dm"
#include "modular_citadel\code\modules\crafting\recipes.dm"
-#include "modular_citadel\code\game\objects\items\devices\PDA\PDA.dm"
// END_INCLUDE