diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm
index e43ca1dc2a9..0b26e51ac45 100644
--- a/code/__HELPERS/names.dm
+++ b/code/__HELPERS/names.dm
@@ -226,89 +226,3 @@ var/syndicate_code_response//Code response for traitors.
code_phrase += ", "
return code_phrase
-
-/*
-//This proc tests the gen above.
-/client/verb/test_code_phrase()
- set name = "Generate Code Phrase"
- set category = "Debug"
-
- world << "\red Code Phrase is: \black [generate_code_phrase()]"
- return
-
-
- This was an earlier attempt at code phrase system, aside from an even earlier attempt (and failure).
- This system more or less works as intended--aside from being unfinished--but it's still very predictable.
- Particularly, the phrase opening statements are pretty easy to recognize and identify when metagaming.
- I think the above-used method solves this issue by using words in a sequence, providing for much greater flexibility.
- /N
-
- switch(choice)
- if(1)
- syndicate_code_phrase += pick("I'm looking for","Have you seen","Maybe you've seen","I'm trying to find","I'm tracking")
- syndicate_code_phrase += " "
- syndicate_code_phrase += pick(pick(first_names_male,first_names_female))
- syndicate_code_phrase += " "
- syndicate_code_phrase += pick(last_names)
- syndicate_code_phrase += "."
- if(2)
- syndicate_code_phrase += pick("How do I get to","How do I find","Where is","Where do I find")
- syndicate_code_phrase += " "
- syndicate_code_phrase += pick("Escape","Engineering","Atmos","the bridge","the brig","Clown Planet","CentCom","the library","the chapel","a bathroom","Med Bay","Tool Storage","the escape shuttle","Robotics","a locker room","the living quarters","the gym","the autolathe","QM","the bar","the theater","the derelict")
- syndicate_code_phrase += "?"
- if(3)
- if(prob(70))
- syndicate_code_phrase += pick("Get me","I want","I'd like","Make me")
- syndicate_code_phrase += " a "
- else
- syndicate_code_phrase += pick("One")
- syndicate_code_phrase += " "
- syndicate_code_phrase += pick("vodka and tonic","gin fizz","bahama mama","manhattan","black Russian","whiskey soda","long island tea","margarita","Irish coffee"," manly dwarf","Irish cream","doctor's delight","Beepksy Smash","tequilla sunrise","brave bull","gargle blaster","bloody mary","whiskey cola","white Russian","vodka martini","martini","Cuba libre","kahlua","vodka","wine","moonshine")
- syndicate_code_phrase += "."
- if(4)
- syndicate_code_phrase += pick("I wish I was","My dad was","His mom was","Where do I find","The hero this station needs is","I'd fuck","I wouldn't trust","Someone caught","HoS caught","Someone found","I'd wrestle","I wanna kill")
- syndicate_code_phrase += " [pick("a","the")] "
- syndicate_code_phrase += pick("wizard","ninja","xeno","lizard","slime","monkey","syndicate","cyborg","clown","space carp","singularity","singulo","mime")
- syndicate_code_phrase += "."
- if(5)
- syndicate_code_phrase += pick("Do we have","Is there","Where is","Where's","Who's")
- syndicate_code_phrase += " "
- syndicate_code_phrase += "[pick(joblist)]"
- syndicate_code_phrase += "?"
-
- switch(choice)
- if(1)
- if(prob(80))
- syndicate_code_response += pick("Try looking for them near","I they ran off to","Yes. I saw them near","Nope. I'm heading to","Try searching")
- syndicate_code_response += " "
- syndicate_code_response += pick("Escape","Engineering","Atmos","the bridge","the brig","Clown Planet","CentCom","the library","the chapel","a bathroom","Med Bay","Tool Storage","the escape shuttle","Robotics","a locker room","the living quarters","the gym","the autolathe","QM","the bar","the theater","the derelict")
- syndicate_code_response += "."
- else if(prob(60))
- syndicate_code_response += pick("No. I'm busy, sorry.","I don't have the time.","Not sure, maybe?","There is no time.")
- else
- syndicate_code_response += pick("*shrug*","*smile*","*blink*","*sigh*","*laugh*","*nod*","*giggle*")
- if(2)
- if(prob(80))
- syndicate_code_response += pick("Go to","Navigate to","Try","Sure, run to","Try searching","It's near","It's around")
- syndicate_code_response += " the "
- syndicate_code_response += pick("[pick("south","north","east","west")] maitenance door","nearby maitenance","teleporter","[pick("cold","dead")] space","morgue","vacuum","[pick("south","north","east","west")] hall ","[pick("south","north","east","west")] hallway","[pick("white","black","red","green","blue","pink","purple")] [pick("rabbit","frog","lion","tiger","panther","snake","facehugger")]")
- syndicate_code_response += "."
- else if(prob(60))
- syndicate_code_response += pick("Try asking","Ask","Talk to","Go see","Follow","Hunt down")
- syndicate_code_response += " "
- if(prob(50))
- syndicate_code_response += pick(pick(first_names_male,first_names_female))
- syndicate_code_response += " "
- syndicate_code_response += pick(last_names)
- else
- syndicate_code_response += " the "
- syndicate_code_response += "[pic(joblist)]"
- syndicate_code_response += "."
- else
- syndicate_code_response += pick("*shrug*","*smile*","*blink*","*sigh*","*laugh*","*nod*","*giggle*")
- if(3)
- if(4)
- if(5)
-
- return
-*/
diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm
index cf54a37db22..bfe0e1d90d5 100644
--- a/code/game/gamemodes/intercept_report.dm
+++ b/code/game/gamemodes/intercept_report.dm
@@ -54,7 +54,7 @@
"Small Prick"
)
-
+// TODO: Update to new antagonist system.
/datum/intercept_text/proc/build(var/mode_type, datum/mind/correct_person)
switch(mode_type)
if("revolution")
diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm
index a361328cacf..cc26d7153de 100644
--- a/code/modules/admin/DB ban/functions.dm
+++ b/code/modules/admin/DB ban/functions.dm
@@ -302,7 +302,11 @@ datum/admins/proc/DB_ban_unban_by_id(var/id)
output += ""
for(var/j in nonhuman_positions)
output += ""
- for(var/j in list("traitor","changeling","operative","revolutionary","cultist","wizard"))
+ var/list/bantypes = list("traitor","changeling","operative","revolutionary","cultist","wizard") //For legacy bans.
+ for(var/antag_type in all_antag_types) // Grab other bans.
+ var/datum/antagonist/antag = all_antag_types[antag_type]
+ bantypes |= antag.bantype
+ for(var/j in bantypes)
output += ""
output += ""
output += "Reason:
"
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index e14884ec1bd..e0c0af3b0aa 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -4,6 +4,7 @@ var/list/preferences_datums = list()
var/global/list/special_roles = list( //keep synced with the defines BE_* in setup.dm --rastaf
//some autodetection here.
+// TODO: Update to new antagonist system.
"traitor" = IS_MODE_COMPILED("traitor"), // 0
"operative" = IS_MODE_COMPILED("nuclear"), // 1
"changeling" = IS_MODE_COMPILED("changeling"), // 2
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 5835e33c731..49557b9d40e 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -140,17 +140,6 @@ Works together with spawning an observer, noted above.
var/client/C = U.client
for(var/mob/living/carbon/human/target in target_list)
C.images += target.hud_list[SPECIALROLE_HUD]
-
-
-/*
- else//If the silicon mob has no law datum, no inherent laws, or a law zero, add them to the hud.
- var/mob/living/silicon/silicon_target = target
- if(!silicon_target.laws||(silicon_target.laws&&(silicon_target.laws.zeroth||!silicon_target.laws.inherent.len))||silicon_target.mind.special_role=="traitor")
- if(isrobot(silicon_target))//Different icons for robutts and AI.
- U.client.images += image(tempHud,silicon_target,"hudmalborg")
- else
- U.client.images += image(tempHud,silicon_target,"hudmalai")
-*/
return 1
/mob/proc/ghostize(var/can_reenter_corpse = 1)
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 9c8a25eb7ee..a460ba21f5c 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -1687,6 +1687,7 @@
holder.icon_state = "hudblank"
if(mind)
+ // TODO: Update to new antagonist system.
switch(mind.special_role)
if("traitor","Mercenary")
holder.icon_state = "hudsyndicate"
diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm
index 02ed0bae063..2dc3b4e3916 100644
--- a/code/modules/mob/living/silicon/robot/laws.dm
+++ b/code/modules/mob/living/silicon/robot/laws.dm
@@ -20,6 +20,7 @@
lawsync()
photosync()
src << "Laws synced with AI, be sure to note any changes."
+ // TODO: Update to new antagonist system.
if(mind && mind.special_role == "traitor" && mind.original == src)
src << "Remember, your AI does NOT share or know about your law 0."
else
@@ -28,6 +29,7 @@
who << "Obey these laws:"
laws.show_laws(who)
+ // TODO: Update to new antagonist system.
if (mind && (mind.special_role == "traitor" && mind.original == src) && connected_ai)
who << "Remember, [connected_ai.name] is technically your master, but your objective comes first."
else if (connected_ai)
diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm
index 86ca42afd91..b7e32bb931d 100644
--- a/code/modules/mob/living/silicon/robot/life.dm
+++ b/code/modules/mob/living/silicon/robot/life.dm
@@ -222,10 +222,12 @@
if (src.syndicate && src.client)
for(var/datum/mind/tra in traitors.current_antagonists)
if(tra.current)
+ // TODO: Update to new antagonist system.
var/I = image('icons/mob/mob.dmi', loc = tra.current, icon_state = "traitor")
src.client.images += I
src.disconnect_from_ai()
if(src.mind)
+ // TODO: Update to new antagonist system.
if(!src.mind.special_role)
src.mind.special_role = "traitor"
traitors.current_antagonists |= src.mind
diff --git a/code/modules/spells/spellbook.dm b/code/modules/spells/spellbook.dm
index 54ceddd2cbc..7823a7b602b 100644
--- a/code/modules/spells/spellbook.dm
+++ b/code/modules/spells/spellbook.dm
@@ -283,6 +283,7 @@
for(var/spell/knownspell in user.spell_list)
if(knownspell.type == S.type)
if(user.mind)
+ // TODO: Update to new antagonist system.
if(user.mind.special_role == "apprentice" || user.mind.special_role == "Wizard")
user <<"You're already far more versed in this spell than this flimsy how-to book can provide."
else
diff --git a/code/modules/spells/targeted/mind_transfer.dm b/code/modules/spells/targeted/mind_transfer.dm
index 6f4525b62c8..2e1860da35e 100644
--- a/code/modules/spells/targeted/mind_transfer.dm
+++ b/code/modules/spells/targeted/mind_transfer.dm
@@ -12,6 +12,7 @@
cooldown_min = 200 //100 deciseconds reduction per rank
compatible_mobs = list(/mob/living/carbon/human) //which types of mobs are affected by the spell. NOTE: change at your own risk
+ // TODO: Update to new antagonist system.
var/list/protected_roles = list("Wizard","Changeling","Cultist") //which roles are immune to the spell
var/msg_wait = 500 //how long in deciseconds it waits before telling that body doesn't feel right or mind swap robbed of a spell
amt_paralysis = 20 //how much the victim is paralysed for after the spell
diff --git a/code/setup.dm b/code/setup.dm
index b701be28bc3..6d49d591b34 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -576,6 +576,7 @@
#define BE_MUTINEER 8192
#define BE_PAI 16384
+// TODO: Update to new antagonist system.
var/list/be_special_flags = list(
"Traitor" = BE_TRAITOR,
"Operative" = BE_OPERATIVE,