diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm
deleted file mode 100644
index 7fab071595..0000000000
--- a/code/__DEFINES/antagonists.dm
+++ /dev/null
@@ -1,18 +0,0 @@
-#define ANTAG_DATUM_CULT /datum/antagonist/cult
-#define ANTAG_DATUM_CULT_MASTER /datum/antagonist/cult/master
-#define ANTAG_DATUM_CLOCKCULT /datum/antagonist/clockcult
-#define ANTAG_DATUM_CLOCKCULT_SILENT /datum/antagonist/clockcult/silent
-#define ANTAG_DATUM_DEVIL /datum/antagonist/devil
-#define ANTAG_DATUM_NINJA /datum/antagonist/ninja
-#define ANTAG_DATUM_TRAITOR /datum/antagonist/traitor
-#define ANTAG_DATUM_TRAITOR_HUMAN /datum/antagonist/traitor/human
-#define ANTAG_DATUM_TRAITOR_AI /datum/antagonist/traitor/AI
-#define ANTAG_DATUM_IAA /datum/antagonist/traitor/internal_affairs
-#define ANTAG_DATUM_IAA_HUMAN /datum/antagonist/traitor/human/internal_affairs
-#define ANTAG_DATUM_IAA_AI /datum/antagonist/traitor/AI/internal_affairs
-#define ANTAG_DATUM_BROTHER /datum/antagonist/brother
-#define ANTAG_DATUM_ABDUCTOR /datum/antagonist/abductor
-#define ANTAG_DATUM_ABDUCTOR_SCIENTIST /datum/antagonist/abductor/scientist
-#define ANTAG_DATUM_ABDUCTOR_AGENT /datum/antagonist/abductor/agent
-#define ANTAG_DATUM_MONKEY /datum/antagonist/monkey
-#define ANTAG_DATUM_MONKEY_LEADER /datum/antagonist/monkey/leader
\ No newline at end of file
diff --git a/code/datums/antagonists/brother.dm b/code/datums/antagonists/brother.dm
index e4c43ef788..c8ad132752 100644
--- a/code/datums/antagonists/brother.dm
+++ b/code/datums/antagonists/brother.dm
@@ -71,8 +71,8 @@
T.add_member(bro)
T.pick_meeting_area()
T.forge_brother_objectives()
- new_owner.add_antag_datum(ANTAG_DATUM_BROTHER,T)
- bro.add_antag_datum(ANTAG_DATUM_BROTHER, T)
+ new_owner.add_antag_datum(/datum/antagonist/brother,T)
+ bro.add_antag_datum(/datum/antagonist/brother, T)
T.update_name()
message_admins("[key_name_admin(admin)] made [new_owner.current] and [bro.current] into blood brothers.")
log_admin("[key_name(admin)] made [new_owner.current] and [bro.current] into blood brothers.")
diff --git a/code/datums/antagonists/cult.dm b/code/datums/antagonists/cult.dm
index 6089e8d1f0..28603c632a 100644
--- a/code/datums/antagonists/cult.dm
+++ b/code/datums/antagonists/cult.dm
@@ -229,13 +229,13 @@
sac_objective.team = src
for(var/mob/living/carbon/human/player in GLOB.player_list)
- if(player.mind && !player.mind.has_antag_datum(ANTAG_DATUM_CULT) && !is_convertable_to_cult(player) && player.stat != DEAD)
+ if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && !is_convertable_to_cult(player) && player.stat != DEAD)
target_candidates += player.mind
if(target_candidates.len == 0)
message_admins("Cult Sacrifice: Could not find unconvertable target, checking for convertable target.")
for(var/mob/living/carbon/human/player in GLOB.player_list)
- if(player.mind && !player.mind.has_antag_datum(ANTAG_DATUM_CULT) && player.stat != DEAD)
+ if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && player.stat != DEAD)
target_candidates += player.mind
listclearnulls(target_candidates)
if(LAZYLEN(target_candidates))
diff --git a/code/datums/antagonists/datum_traitor.dm b/code/datums/antagonists/datum_traitor.dm
index 23cf95e6ae..6c55563810 100644
--- a/code/datums/antagonists/datum_traitor.dm
+++ b/code/datums/antagonists/datum_traitor.dm
@@ -4,8 +4,8 @@
antagpanel_category = "Traitor"
job_rank = ROLE_TRAITOR
var/should_specialise = TRUE //do we split into AI and human, set to true on inital assignment only
- var/ai_datum = ANTAG_DATUM_TRAITOR_AI
- var/human_datum = ANTAG_DATUM_TRAITOR_HUMAN
+ var/ai_datum = /datum/antagonist/traitor/AI
+ var/human_datum = /datum/antagonist/traitor/human
var/special_role = "traitor"
var/employer = "The Syndicate"
var/give_objectives = TRUE
diff --git a/code/datums/antagonists/internal_affairs.dm b/code/datums/antagonists/internal_affairs.dm
index e06d8983e3..9077b84dcd 100644
--- a/code/datums/antagonists/internal_affairs.dm
+++ b/code/datums/antagonists/internal_affairs.dm
@@ -6,8 +6,8 @@
/datum/antagonist/traitor/internal_affairs
name = "Internal Affairs Agent"
- human_datum = ANTAG_DATUM_IAA_HUMAN
- ai_datum = ANTAG_DATUM_IAA_AI
+ human_datum = /datum/antagonist/traitor/human/internal_affairs
+ ai_datum = /datum/antagonist/traitor/AI/internal_affairs
antagpanel_category = "IAA"
/datum/antagonist/traitor/AI/internal_affairs
diff --git a/code/datums/antagonists/ninja.dm b/code/datums/antagonists/ninja.dm
index 3d46d3ef05..8124b8c5b8 100644
--- a/code/datums/antagonists/ninja.dm
+++ b/code/datums/antagonists/ninja.dm
@@ -95,12 +95,12 @@
/proc/remove_ninja(mob/living/L)
if(!L || !L.mind)
return FALSE
- var/datum/antagonist/datum = L.mind.has_antag_datum(ANTAG_DATUM_NINJA)
+ var/datum/antagonist/datum = L.mind.has_antag_datum(/datum/antagonist/ninja)
datum.on_removal()
return TRUE
/proc/is_ninja(mob/living/M)
- return M && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_NINJA)
+ return M && M.mind && M.mind.has_antag_datum(/datum/antagonist/ninja)
/datum/antagonist/ninja/greet()
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index c5526e2ffd..4034c9506a 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -203,12 +203,12 @@
/datum/mind/proc/remove_traitor()
if(src in SSticker.mode.traitors)
- remove_antag_datum(ANTAG_DATUM_TRAITOR)
+ remove_antag_datum(/datum/antagonist/traitor)
SSticker.mode.update_traitor_icons_removed(src)
/datum/mind/proc/remove_brother()
if(src in SSticker.mode.brothers)
- remove_antag_datum(ANTAG_DATUM_BROTHER)
+ remove_antag_datum(/datum/antagonist/brother)
SSticker.mode.update_brother_icons_removed(src)
/datum/mind/proc/remove_nukeop()
@@ -678,7 +678,7 @@
qdel(find_syndicate_uplink())
/datum/mind/proc/make_Traitor()
- if(!(has_antag_datum(ANTAG_DATUM_TRAITOR)))
+ if(!(has_antag_datum(/datum/antagonist/traitor)))
add_antag_datum(/datum/antagonist/traitor)
/datum/mind/proc/make_Changling()
diff --git a/code/game/gamemodes/brother/traitor_bro.dm b/code/game/gamemodes/brother/traitor_bro.dm
index 1634983a1b..2143bba338 100644
--- a/code/game/gamemodes/brother/traitor_bro.dm
+++ b/code/game/gamemodes/brother/traitor_bro.dm
@@ -52,7 +52,7 @@
team.pick_meeting_area()
team.forge_brother_objectives()
for(var/datum/mind/M in team.members)
- M.add_antag_datum(ANTAG_DATUM_BROTHER, team)
+ M.add_antag_datum(/datum/antagonist/brother, team)
team.update_name()
brother_teams += pre_brother_teams
return ..()
diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm
index c7765b19bf..7790361f12 100644
--- a/code/game/gamemodes/clock_cult/clock_cult.dm
+++ b/code/game/gamemodes/clock_cult/clock_cult.dm
@@ -45,7 +45,7 @@ Credit where due:
///////////
/proc/is_servant_of_ratvar(mob/M)
- return istype(M) && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_CLOCKCULT)
+ return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/clockcult)
/proc/is_eligible_servant(mob/M)
if(!istype(M))
@@ -68,9 +68,9 @@ Credit where due:
/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE)
if(!L || !L.mind)
return
- var/update_type = ANTAG_DATUM_CLOCKCULT
+ var/update_type = /datum/antagonist/clockcult
if(silent)
- update_type = ANTAG_DATUM_CLOCKCULT_SILENT
+ update_type = /datum/antagonist/clockcult/silent
var/datum/antagonist/clockcult/C = new update_type(L.mind)
C.make_team = create_team
C.show_in_roundend = create_team //tutorial scarabs begone
@@ -106,7 +106,7 @@ Credit where due:
/proc/remove_servant_of_ratvar(mob/L, silent = FALSE)
if(!L || !L.mind)
return
- var/datum/antagonist/clockcult/clock_datum = L.mind.has_antag_datum(ANTAG_DATUM_CLOCKCULT)
+ var/datum/antagonist/clockcult/clock_datum = L.mind.has_antag_datum(/datum/antagonist/clockcult)
if(!clock_datum)
return FALSE
clock_datum.silent = silent
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 4293946073..873fc96afe 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -4,7 +4,7 @@
var/list/datum/mind/cult = list()
/proc/iscultist(mob/living/M)
- return istype(M) && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_CULT)
+ return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/cult)
/datum/team/cult/proc/is_sacrifice_target(datum/mind/mind)
for(var/datum/objective/sacrifice/sac_objective in objectives)
@@ -109,7 +109,7 @@
/datum/game_mode/proc/remove_cultist(datum/mind/cult_mind, silent, stun)
if(cult_mind.current)
- var/datum/antagonist/cult/cult_datum = cult_mind.has_antag_datum(ANTAG_DATUM_CULT)
+ var/datum/antagonist/cult/cult_datum = cult_mind.has_antag_datum(/datum/antagonist/cult)
if(!cult_datum)
return FALSE
cult_datum.silent = silent
diff --git a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm
index be029c3178..c73a77c95b 100644
--- a/code/game/gamemodes/cult/cult_comms.dm
+++ b/code/game/gamemodes/cult/cult_comms.dm
@@ -31,7 +31,7 @@
user.whisper(html_decode(message))
var/title = "Acolyte"
var/span = "cult italic"
- if(user.mind && user.mind.has_antag_datum(ANTAG_DATUM_CULT_MASTER))
+ if(user.mind && user.mind.has_antag_datum(/datum/antagonist/cult/master))
span = "cultlarge"
if(ishuman(user))
title = "Master"
@@ -141,7 +141,7 @@
return FALSE
team.cult_mastered = TRUE
SSticker.mode.remove_cultist(Nominee.mind, TRUE)
- Nominee.mind.add_antag_datum(ANTAG_DATUM_CULT_MASTER)
+ Nominee.mind.add_antag_datum(/datum/antagonist/cult/master)
for(var/datum/mind/B in team.members)
if(B.current)
for(var/datum/action/innate/cult/mastervote/vote in B.current.actions)
@@ -151,7 +151,7 @@
return TRUE
/datum/action/innate/cult/master/IsAvailable()
- if(!owner.mind || !owner.mind.has_antag_datum(ANTAG_DATUM_CULT_MASTER) || GLOB.cult_narsie)
+ if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master) || GLOB.cult_narsie)
return 0
return ..()
@@ -234,7 +234,7 @@
..()
/datum/action/innate/cult/master/cultmark/IsAvailable()
- if(!owner.mind || !owner.mind.has_antag_datum(ANTAG_DATUM_CULT_MASTER))
+ if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master))
return FALSE
if(cooldown > world.time)
if(!CM.active)
@@ -329,7 +329,7 @@
..()
/datum/action/innate/cult/master/pulse/IsAvailable()
- if(!owner.mind || !owner.mind.has_antag_datum(ANTAG_DATUM_CULT_MASTER))
+ if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master))
return FALSE
if(cooldown > world.time)
if(!PM.active)
diff --git a/code/game/gamemodes/devil/devil.dm b/code/game/gamemodes/devil/devil.dm
index 8f7c777f46..4d0a781570 100644
--- a/code/game/gamemodes/devil/devil.dm
+++ b/code/game/gamemodes/devil/devil.dm
@@ -1,5 +1,5 @@
/mob/living/proc/check_devil_bane_multiplier(obj/item/weapon, mob/living/attacker)
- var/datum/antagonist/devil/devilInfo = mind.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devilInfo = mind.has_antag_datum(/datum/antagonist/devil)
switch(devilInfo.bane)
if(BANE_WHITECLOTHES)
if(ishuman(attacker))
diff --git a/code/game/gamemodes/devil/devil_game_mode.dm b/code/game/gamemodes/devil/devil_game_mode.dm
index 25922a1bfa..f25ba6c6b6 100644
--- a/code/game/gamemodes/devil/devil_game_mode.dm
+++ b/code/game/gamemodes/devil/devil_game_mode.dm
@@ -64,18 +64,18 @@
add_devil_objectives(devil,2)
/proc/is_devil(mob/living/M)
- return M && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_DEVIL)
+ return M && M.mind && M.mind.has_antag_datum(/datum/antagonist/devil)
/proc/add_devil(mob/living/L, ascendable = FALSE)
if(!L || !L.mind)
return FALSE
- var/datum/antagonist/devil/devil_datum = L.mind.add_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devil_datum = L.mind.add_antag_datum(/datum/antagonist/devil)
devil_datum.ascendable = ascendable
return devil_datum
/proc/remove_devil(mob/living/L)
if(!L || !L.mind)
return FALSE
- var/datum/antagonist/devil_datum = L.mind.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil_datum = L.mind.has_antag_datum(/datum/antagonist/devil)
devil_datum.on_removal()
return TRUE
diff --git a/code/game/gamemodes/devil/objectives.dm b/code/game/gamemodes/devil/objectives.dm
index 8d5cb430dd..f3f30ad231 100644
--- a/code/game/gamemodes/devil/objectives.dm
+++ b/code/game/gamemodes/devil/objectives.dm
@@ -13,7 +13,7 @@
/datum/objective/devil/soulquantity/check_completion()
var/count = 0
- var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil)
var/list/souls = devilDatum.soulsOwned
for(var/S in souls) //Just a sanity check.
var/datum/mind/L = S
@@ -51,7 +51,7 @@
/datum/objective/devil/soulquality/check_completion()
var/count = 0
- var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil)
var/list/souls = devilDatum.soulsOwned
for(var/S in souls)
var/datum/mind/L = S
@@ -92,19 +92,19 @@
/datum/objective/devil/outsell/New()
/datum/objective/devil/outsell/update_explanation_text()
- var/datum/antagonist/devil/opponent = target.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/opponent = target.has_antag_datum(/datum/antagonist/devil)
explanation_text = "Purchase and retain control over more souls than [opponent.truename], known to mortals as [target.name], the [target.assigned_role]."
/datum/objective/devil/outsell/check_completion()
var/selfcount = 0
- var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil)
var/list/souls = devilDatum.soulsOwned
for(var/S in souls)
var/datum/mind/L = S
if(L.soulOwner == owner)
selfcount++
var/targetcount = 0
- devilDatum = target.has_antag_datum(ANTAG_DATUM_DEVIL)
+ devilDatum = target.has_antag_datum(/datum/antagonist/devil)
souls = devilDatum.soulsOwned
for(var/S in souls)
var/datum/mind/L = S
diff --git a/code/game/gamemodes/devil/true_devil/_true_devil.dm b/code/game/gamemodes/devil/true_devil/_true_devil.dm
index 2f0143af7d..499dfd5941 100644
--- a/code/game/gamemodes/devil/true_devil/_true_devil.dm
+++ b/code/game/gamemodes/devil/true_devil/_true_devil.dm
@@ -44,13 +44,13 @@
icon_state = "arch_devil"
/mob/living/carbon/true_devil/proc/set_name()
- var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil)
name = devilinfo.truename
real_name = name
/mob/living/carbon/true_devil/Login()
..()
- var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil)
devilinfo.greet()
mind.announce_objectives()
@@ -58,7 +58,7 @@
stat = DEAD
..(gibbed)
drop_all_held_items()
- INVOKE_ASYNC(mind.has_antag_datum(ANTAG_DATUM_DEVIL), /datum/antagonist/devil/proc/beginResurrectionCheck, src)
+ INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), /datum/antagonist/devil/proc/beginResurrectionCheck, src)
/mob/living/carbon/true_devil/examine(mob/user)
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
index b24bef0433..e01afccc5b 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
@@ -6,7 +6,7 @@
ears = /obj/item/device/radio/headset/abductor
/datum/outfit/abductor/proc/link_to_console(mob/living/carbon/human/H, team_number)
- var/datum/antagonist/abductor/A = H.mind.has_antag_datum(ANTAG_DATUM_ABDUCTOR)
+ var/datum/antagonist/abductor/A = H.mind.has_antag_datum(/datum/antagonist/abductor)
if(!team_number && A)
team_number = A.team.team_number
if(!team_number)
diff --git a/code/game/gamemodes/miniantags/monkey/monkey.dm b/code/game/gamemodes/miniantags/monkey/monkey.dm
index 71afe1c823..6089f95941 100644
--- a/code/game/gamemodes/miniantags/monkey/monkey.dm
+++ b/code/game/gamemodes/miniantags/monkey/monkey.dm
@@ -108,25 +108,25 @@
/proc/add_monkey_leader(datum/mind/monkey_mind)
if(is_monkey_leader(monkey_mind))
return FALSE
- var/datum/antagonist/monkey/leader/M = monkey_mind.add_antag_datum(ANTAG_DATUM_MONKEY_LEADER)
+ var/datum/antagonist/monkey/leader/M = monkey_mind.add_antag_datum(/datum/antagonist/monkey/leader)
return M
/proc/add_monkey(datum/mind/monkey_mind)
if(is_monkey(monkey_mind))
return FALSE
- var/datum/antagonist/monkey/M = monkey_mind.add_antag_datum(ANTAG_DATUM_MONKEY)
+ var/datum/antagonist/monkey/M = monkey_mind.add_antag_datum(/datum/antagonist/monkey)
return M
/proc/remove_monkey(datum/mind/monkey_mind)
if(!is_monkey(monkey_mind))
return FALSE
- var/datum/antagonist/monkey/M = monkey_mind.has_antag_datum(ANTAG_DATUM_MONKEY)
+ var/datum/antagonist/monkey/M = monkey_mind.has_antag_datum(/datum/antagonist/monkey)
M.on_removal()
return TRUE
/proc/is_monkey_leader(datum/mind/monkey_mind)
- return monkey_mind && monkey_mind.has_antag_datum(ANTAG_DATUM_MONKEY_LEADER)
+ return monkey_mind && monkey_mind.has_antag_datum(/datum/antagonist/monkey/leader)
/proc/is_monkey(datum/mind/monkey_mind)
- return monkey_mind && (monkey_mind.has_antag_datum(ANTAG_DATUM_MONKEY) || is_monkey_leader(monkey_mind))
+ return monkey_mind && (monkey_mind.has_antag_datum(/datum/antagonist/monkey) || is_monkey_leader(monkey_mind))
diff --git a/code/game/gamemodes/traitor/double_agents.dm b/code/game/gamemodes/traitor/double_agents.dm
index d86dce6928..4d8b57536e 100644
--- a/code/game/gamemodes/traitor/double_agents.dm
+++ b/code/game/gamemodes/traitor/double_agents.dm
@@ -14,7 +14,7 @@
traitors_possible = 10 //hard limit on traitors if scaling is turned off
num_modifier = 4 // Four additional traitors
- antag_datum = ANTAG_DATUM_IAA
+ antag_datum = /datum/antagonist/traitor/internal_affairs
announce_text = "There are Nanotrasen Internal Affairs Agents trying to kill each other!\n\
IAA: Eliminate your targets and protect yourself!\n\
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index 09e31810f1..ca2ce431b1 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -26,7 +26,7 @@
var/list/datum/mind/pre_traitors = list()
var/traitors_possible = 4 //hard limit on traitors if scaling is turned off
var/num_modifier = 0 // Used for gamemodes, that are a child of traitor, that need more than the usual.
- var/antag_datum = ANTAG_DATUM_TRAITOR //what type of antag to create
+ var/antag_datum = /datum/antagonist/traitor //what type of antag to create
var/traitors_required = TRUE //Will allow no traitors
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index 1d423802d1..0d9655ae8e 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -47,7 +47,7 @@
for(var/datum/mind/wizard in wizards)
if(isliving(wizard.current) && wizard.current.stat!=DEAD)
return FALSE
-
+
for(var/obj/item/phylactery/P in GLOB.poi_list) //TODO : IsProperlyDead()
if(P.mind && P.mind.has_antag_datum(/datum/antagonist/wizard))
return FALSE
@@ -55,7 +55,7 @@
if(SSevents.wizardmode) //If summon events was active, turn it off
SSevents.toggleWizardmode()
SSevents.resetFrequency()
-
+
return TRUE
/datum/game_mode/wizard/set_round_result()
diff --git a/code/game/objects/items/implants/implant_abductor.dm b/code/game/objects/items/implants/implant_abductor.dm
index ba4f553e25..3ba1e7315f 100644
--- a/code/game/objects/items/implants/implant_abductor.dm
+++ b/code/game/objects/items/implants/implant_abductor.dm
@@ -25,7 +25,7 @@
if(..())
var/obj/machinery/abductor/console/console
if(ishuman(target))
- var/datum/antagonist/abductor/A = target.mind.has_antag_datum(ANTAG_DATUM_ABDUCTOR)
+ var/datum/antagonist/abductor/A = target.mind.has_antag_datum(/datum/antagonist/abductor)
if(A)
console = get_abductor_console(A.team.team_number)
home = console.pad
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index c12fd1de10..d462256cac 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -373,7 +373,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
var/player_key = G_found.key
//Now for special roles and equipment.
- var/datum/antagonist/traitor/traitordatum = new_character.mind.has_antag_datum(ANTAG_DATUM_TRAITOR)
+ var/datum/antagonist/traitor/traitordatum = new_character.mind.has_antag_datum(/datum/antagonist/traitor)
if(traitordatum)
SSjob.EquipRank(new_character, new_character.mind.assigned_role, 1)
traitordatum.equip()
@@ -392,7 +392,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
var/list/ninja_spawn = list()
for(var/obj/effect/landmark/carpspawn/L in GLOB.landmarks_list)
ninja_spawn += L
- var/datum/antagonist/ninja/ninjadatum = new_character.mind.has_antag_datum(ANTAG_DATUM_NINJA)
+ var/datum/antagonist/ninja/ninjadatum = new_character.mind.has_antag_datum(/datum/antagonist/ninja)
ninjadatum.equip_space_ninja()
if(ninja_spawn.len)
new_character.forceMove(pick(ninja_spawn))
diff --git a/code/modules/events/abductor.dm b/code/modules/events/abductor.dm
index ca1922a3a9..0777161a1f 100755
--- a/code/modules/events/abductor.dm
+++ b/code/modules/events/abductor.dm
@@ -27,8 +27,8 @@
log_game("[scientist.mind.key] (ckey) has been selected as [T.name] abductor scientist.")
log_game("[agent.mind.key] (ckey) has been selected as [T.name] abductor agent.")
- scientist.mind.add_antag_datum(ANTAG_DATUM_ABDUCTOR_SCIENTIST, T)
- agent.mind.add_antag_datum(ANTAG_DATUM_ABDUCTOR_AGENT, T)
+ scientist.mind.add_antag_datum(/datum/antagonist/abductor/scientist, T)
+ agent.mind.add_antag_datum(/datum/antagonist/abductor/agent, T)
spawned_mobs += list(agent, scientist)
return SUCCESSFUL_SPAWN
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 322b16de1b..be1ad730f1 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -819,7 +819,7 @@
/mob/living/proc/return_soul()
hellbound = 0
if(mind)
- var/datum/antagonist/devil/devilInfo = mind.soulOwner.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devilInfo = mind.soulOwner.has_antag_datum(/datum/antagonist/devil)
if(devilInfo)//Not sure how this could be null, but let's just try anyway.
devilInfo.remove_soul(mind)
mind.soulOwner = mind
@@ -829,7 +829,7 @@
return devilInfo && banetype == devilInfo.bane
/mob/living/proc/check_weakness(obj/item/weapon, mob/living/attacker)
- if(mind && mind.has_antag_datum(ANTAG_DATUM_DEVIL))
+ if(mind && mind.has_antag_datum(/datum/antagonist/devil))
return check_devil_bane_multiplier(weapon, attacker)
return 1
diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm
index 1597b7a810..d911ee7036 100644
--- a/code/modules/paperwork/contract.dm
+++ b/code/modules/paperwork/contract.dm
@@ -93,7 +93,7 @@
/obj/item/paper/contract/infernal/New(atom/loc, mob/living/nTarget, datum/mind/nOwner)
..()
owner = nOwner
- devil_datum = owner.has_antag_datum(ANTAG_DATUM_DEVIL)
+ devil_datum = owner.has_antag_datum(/datum/antagonist/devil)
target = nTarget
update_text()
@@ -251,12 +251,12 @@
/obj/item/paper/contract/infernal/proc/fulfillContract(mob/living/carbon/human/user = target.current, blood = FALSE)
signed = TRUE
if(user.mind.soulOwner != user.mind) //They already sold their soul to someone else?
- var/datum/antagonist/devil/ownerDevilInfo = user.mind.soulOwner.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/ownerDevilInfo = user.mind.soulOwner.has_antag_datum(/datum/antagonist/devil)
ownerDevilInfo.remove_soul(user.mind) //Then they lose their claim.
user.mind.soulOwner = owner
user.hellbound = contractType
user.mind.damnation_type = contractType
- var/datum/antagonist/devil/devilInfo = owner.has_antag_datum(ANTAG_DATUM_DEVIL)
+ var/datum/antagonist/devil/devilInfo = owner.has_antag_datum(/datum/antagonist/devil)
devilInfo.add_soul(user.mind)
update_text(user.real_name, blood)
to_chat(user, "A profound emptiness washes over you as you lose ownership of your soul.")
diff --git a/code/modules/spells/spell_types/mind_transfer.dm b/code/modules/spells/spell_types/mind_transfer.dm
index 8a646d792f..2fc6a7381a 100644
--- a/code/modules/spells/spell_types/mind_transfer.dm
+++ b/code/modules/spells/spell_types/mind_transfer.dm
@@ -9,7 +9,6 @@
invocation_type = "whisper"
range = 1
cooldown_min = 200 //100 deciseconds reduction per rank
- var/list/protected_roles = list("Wizard","Changeling","Cultist") //which roles are immune to the spell
var/unconscious_amount_caster = 400 //how much the caster is stunned for after the spell
var/unconscious_amount_victim = 400 //how much the victim is stunned for after the spell
@@ -54,7 +53,8 @@ Also, you never added distance checking after target is selected. I've went ahea
to_chat(user, "You're killing yourself! You can't concentrate enough to do this!")
return
- if((target.mind.special_role in protected_roles) || cmptext(copytext(target.key,1,2),"@"))
+ var/datum/mind/TM = target.mind
+ if((TM.has_antag_datum(/datum/antagonist/wizard) || TM.has_antag_datum(/datum/antagonist/cult) || TM.has_antag_datum(/datum/antagonist/clockcult) || TM.has_antag_datum(/datum/antagonist/changeling) || TM.has_antag_datum(/datum/antagonist/rev)) || cmptext(copytext(target.key,1,2),"@"))
to_chat(user, "[target.p_their(TRUE)] mind is resisting your spell!")
return
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index ba988f450d..325ebb3ef9 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -88,7 +88,7 @@
if(!T || T.type != type)
continue
if(H.dna && H.dna.species.id == "abductor" && user.dna && user.dna.species.id == "abductor")
- var/datum/antagonist/abductor/A = user.mind.has_antag_datum(ANTAG_DATUM_ABDUCTOR)
+ var/datum/antagonist/abductor/A = user.mind.has_antag_datum(/datum/antagonist/abductor)
if(!A || !(H.mind in A.team.members))
continue
to_chat(H, rendered)
diff --git a/tgstation.dme b/tgstation.dme
index 7ca53cfc2c..fa513af6fe 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -24,7 +24,6 @@
#include "code\__DEFINES\_tick.dm"
#include "code\__DEFINES\access.dm"
#include "code\__DEFINES\admin.dm"
-#include "code\__DEFINES\antagonists.dm"
#include "code\__DEFINES\atmospherics.dm"
#include "code\__DEFINES\atom_hud.dm"
#include "code\__DEFINES\callbacks.dm"