subsystem antag (#19338)

* antag subsystem

* antag subsystem
This commit is contained in:
Kashargul
2026-03-26 21:06:54 -04:00
committed by GitHub
parent 6be4771fef
commit a64992c509
47 changed files with 233 additions and 241 deletions
+2 -2
View File
@@ -17,10 +17,10 @@
/obj/effect/landmark/late_antag/Initialize(mapload)
. = ..()
var/datum/antagonist/A = GLOB.all_antag_types[antag_id]
var/datum/antagonist/A = SSantag_job.all_antag_types[antag_id]
if(istype(A))
A.starting_locations |= get_turf(src)
var/list/allpoints = GLOB.all_antag_spawnpoints[A.landmark_id]
var/list/allpoints = SSantag_job.all_antag_spawnpoints[A.landmark_id]
allpoints |= get_turf(src)
/obj/effect/landmark/late_antag/ert
+1 -1
View File
@@ -90,7 +90,7 @@
qdel(src)
/obj/item/antag_spawner/technomancer_apprentice/equip_antag(mob/technomancer_mob)
var/datum/antagonist/technomancer/antag_datum = GLOB.all_antag_types[MODE_TECHNOMANCER]
var/datum/antagonist/technomancer/antag_datum = SSantag_job.all_antag_types[MODE_TECHNOMANCER]
antag_datum.equip_apprentice(technomancer_mob)
@@ -108,8 +108,8 @@ GLOBAL_DATUM_INIT(all_uplink_selection, /datum/uplink_random_selection/all, new)
#ifdef DEBUG
/proc/debug_uplink_purchage_log()
for(var/antag_type in GLOB.all_antag_types)
var/datum/antagonist/A = GLOB.all_antag_types[antag_type]
for(var/antag_type in SSantag_job.all_antag_types)
var/datum/antagonist/A = SSantag_job.all_antag_types[antag_type]
A.print_player_summary()
/proc/debug_uplink_item_assoc_list()
+1 -1
View File
@@ -507,7 +507,7 @@
var/list/players = list()
for(var/mob/living/carbon/human/player in GLOB.player_list)
if(!player.mind || player_is_antag(player.mind, only_offstation_roles = 1) || player.client.inactivity > 10 MINUTES)
if(!player.mind || SSantag_job.player_is_antag(player.mind, only_offstation_roles = 1) || player.client.inactivity > 10 MINUTES)
continue
players += player.real_name
@@ -30,7 +30,7 @@
if(istype(O, /obj/item/card/id))
var/obj/item/card/id/I = O
src.access |= I.GetAccess()
if(player_is_antag(user.mind) || registered_user == user)
if(SSantag_job.player_is_antag(user.mind) || registered_user == user)
to_chat(user, span_notice("The microscanner activates as you pass it over the ID, copying its access."))
/obj/item/card/id/syndicate/attack_self(mob/user)
@@ -446,14 +446,14 @@ the implant may become unstable and either pre-maturely inject the subject or si
if(!ishuman(M))
. = FALSE
var/mob/living/carbon/human/H = M
var/datum/antagonist/antag_data = get_antag_data(H.mind.special_role)
var/datum/antagonist/antag_data = SSantag_job.get_antag_data(H.mind.special_role)
if(antag_data && (antag_data.flags & ANTAG_IMPLANT_IMMUNE))
H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of [using_map.company_name] try to invade your mind!")
. = FALSE
/obj/item/implant/loyalty/post_implant(mob/M)
var/mob/living/carbon/human/H = M
clear_antag_roles(H.mind, 1)
SSantag_job.clear_antag_roles(H.mind, 1)
to_chat(H, span_notice("You feel a surge of loyalty towards [using_map.company_name]."))
//////////////////////////////
+1 -1
View File
@@ -112,7 +112,7 @@
var/list/recipients = list()
var/mob/living/recipient_mob
for(var/mob/living/player in GLOB.player_list)
if(!player_is_antag(player.mind) && player.mind.show_in_directory)
if(!SSantag_job.player_is_antag(player.mind) && player.mind.show_in_directory)
recipients += player
recipient_mob = tgui_input_list(usr, "Choose recipient", "Recipients", recipients, recipients)
@@ -111,7 +111,7 @@
H.forceMove(T)
if(make_antag)
var/datum/antagonist/antag = GLOB.all_antag_types[make_antag]
var/datum/antagonist/antag = SSantag_job.all_antag_types[make_antag]
if(antag)
if(antag.add_antagonist(H.mind, 1, 1, 0, 1, 1))
log_admin("\The [src] made [key_name(src)] into a [antag.role_text].")
@@ -233,7 +233,7 @@
H.forceMove(T)
if(make_antag)
var/datum/antagonist/antag = GLOB.all_antag_types[make_antag]
var/datum/antagonist/antag = SSantag_job.all_antag_types[make_antag]
if(antag)
if(antag.add_antagonist(H.mind, 1, 1, 0, 1, 1))
log_admin("\The [src] made [key_name(src)] into a [antag.role_text].")
@@ -122,7 +122,7 @@
H.forceMove(T)
if(special_role)
var/datum/antagonist/role = GLOB.all_antag_types[special_role] //Explicitly NOT an antagonist.
var/datum/antagonist/role = SSantag_job.all_antag_types[special_role] //Explicitly NOT an antagonist.
if(role)
if(role.add_antagonist(H.mind, 1, 1, 0, 1, 1))
log_admin("\The [src] made [key_name(src)] into a [role.role_text].")