diff --git a/code/_helpers/names.dm b/code/_helpers/names.dm index da476e1888..ee3fd76e5d 100644 --- a/code/_helpers/names.dm +++ b/code/_helpers/names.dm @@ -140,85 +140,3 @@ GLOBAL_VAR(syndicate_name) GLOB.syndicate_name = name return name - - -//Traitors and traitor silicons will get these. Revs will not. -GLOBAL_VAR(syndicate_code_phrase) //Code phrase for traitors. -GLOBAL_VAR(syndicate_code_response) //Code response for traitors. - - /* - Should be expanded. - How this works: - Instead of "I'm looking for James Smith," the traitor would say "James Smith" as part of a conversation. - Another traitor may then respond with: "They enjoy running through the void-filled vacuum of the derelict." - The phrase should then have the words: James Smith. - The response should then have the words: run, void, and derelict. - This way assures that the code is suited to the conversation and is unpredicatable. - Obviously, some people will be better at this than others but in theory, everyone should be able to do it and it only enhances roleplay. - Can probably be done through "{ }" but I don't really see the practical benefit. - One example of an earlier system is commented below. - -N - */ - -/proc/generate_code_phrase()//Proc is used for phrase and response in master_controller.dm - - var/code_phrase = ""//What is returned when the proc finishes. - var/words = pick(//How many words there will be. Minimum of two. 2, 4 and 5 have a lesser chance of being selected. 3 is the most likely. - 50; 2, - 200; 3, - 50; 4, - 25; 5 - ) - - var/safety[] = list(1,2,3)//Tells the proc which options to remove later on. - var/nouns[] = list("love","hate","anger","peace","pride","sympathy","bravery","loyalty","honesty","integrity","compassion","charity","success","courage","deceit","skill","beauty","brilliance","pain","misery","beliefs","dreams","justice","truth","faith","liberty","knowledge","thought","information","culture","trust","dedication","progress","education","hospitality","leisure","trouble","friendships", "relaxation") - var/drinks[] = list("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","tequila sunrise","brave bull","gargle blaster","bloody mary","whiskey cola","white Russian","vodka martini","martini","Cuba libre","kahlua","vodka","redwine","moonshine") - var/locations[] = GLOB.teleportlocs.len ? GLOB.teleportlocs : drinks//if null, defaults to drinks instead. - - var/names[] = list() - for(var/datum/data/record/t in GLOB.data_core.general)//Picks from crew manifest. - names += t.fields["name"] - - var/maxwords = words//Extra var to check for duplicates. - - for(words,words>0,words--)//Randomly picks from one of the choices below. - - if(words==1&&(1 in safety)&&(2 in safety))//If there is only one word remaining and choice 1 or 2 have not been selected. - safety = list(pick(1,2))//Select choice 1 or 2. - else if(words==1&&maxwords==2)//Else if there is only one word remaining (and there were two originally), and 1 or 2 were chosen, - safety = list(3)//Default to list 3 - - switch(pick(safety))//Chance based on the safety list. - if(1)//1 and 2 can only be selected once each to prevent more than two specific names/places/etc. - switch(rand(1,2))//Mainly to add more options later. - if(1) - if(names.len&&prob(70)) - code_phrase += pick(names) - else - code_phrase += pick(pick(GLOB.first_names_male, GLOB.first_names_female)) - code_phrase += " " - code_phrase += pick(GLOB.last_names) - if(2) - code_phrase += pick(GLOB.joblist)//Returns a job. - safety -= 1 - if(2) - switch(rand(1,2))//Places or things. - if(1) - code_phrase += pick(drinks) - if(2) - code_phrase += pick(locations) - safety -= 2 - if(3) - switch(rand(1,3))//Nouns, adjectives, verbs. Can be selected more than once. - if(1) - code_phrase += pick(nouns) - if(2) - code_phrase += pick(GLOB.adjectives) - if(3) - code_phrase += pick(GLOB.verbs) - if(words==1) - code_phrase += "." - else - code_phrase += ", " - - return code_phrase diff --git a/code/controllers/admin.dm b/code/controllers/admin.dm index 6e87ce01db..ea9f145259 100644 --- a/code/controllers/admin.dm +++ b/code/controllers/admin.dm @@ -53,8 +53,8 @@ ADMIN_VERB(restart_controller, R_DEBUG, "Restart Controller", "Restart one of th message_admins("Admin [key_name_admin(user)] has restarted the [controller] controller.") -ADMIN_VERB(debug_antagonist_template, R_DEBUG, "Debug Antagonist", "Debug an antagonist template", ADMIN_CATEGORY_DEBUG_GAME, antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] +ADMIN_VERB(debug_antagonist_template, R_DEBUG, "Debug Antagonist", "Debug an antagonist template", ADMIN_CATEGORY_DEBUG_GAME, antag_type in SSantag_job.all_antag_types) + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_type] if(antag) user.debug_variables(antag) message_admins("Admin [key_name_admin(user)] is debugging the [antag.role_text] template.") diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index aa510f88c2..c0f9095ea9 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -24,15 +24,7 @@ GLOBAL_DATUM(master_controller, /datum/controller/game_controller) //Set in worl GLOB.job_master.LoadJobs("config/jobs.txt") admin_notice(span_danger("Job setup complete"), R_DEBUG) - if(!GLOB.syndicate_code_phrase) - GLOB.syndicate_code_phrase = generate_code_phrase() - - if(!GLOB.syndicate_code_response) - GLOB.syndicate_code_response = generate_code_phrase() - /datum/controller/game_controller/proc/setup() - - setup_objects() // setupgenetics() Moved to SSatoms // SetupXenoarch() - Moved to SSxenoarch @@ -43,7 +35,3 @@ GLOBAL_DATUM(master_controller, /datum/controller/game_controller) //Set in worl // #else // # define CHECK_SLEEP_MASTER if(++initialized_objects > 500) { initialized_objects=0;sleep(world.tick_lag); } // #endif - -/datum/controller/game_controller/proc/setup_objects() - // Set up antagonists. - populate_antag_type_list() diff --git a/code/controllers/subsystems/antag_job.dm b/code/controllers/subsystems/antag_job.dm new file mode 100644 index 0000000000..d00038da1b --- /dev/null +++ b/code/controllers/subsystems/antag_job.dm @@ -0,0 +1,156 @@ +SUBSYSTEM_DEF(antag_job) + name = "Antag Job" + flags = SS_NO_FIRE + //List of all jobs + var/list/occupations = list() + + var/list/syndicate_code_phrase + var/list/syndicate_code_response + + var/list/all_antag_types = list() + var/list/all_antag_spawnpoints = list() + VAR_PRIVATE/list/antag_names_to_ids = list() + +/datum/controller/subsystem/antag_job/Initialize() + populate_antag_type_list() + syndicate_code_phrase = generate_code_phrase() + syndicate_code_response = generate_code_phrase() + + return SS_INIT_SUCCESS + +//Traitors and traitor silicons will get these. Revs will not. + + /* + Should be expanded. + How this works: + Instead of "I'm looking for James Smith," the traitor would say "James Smith" as part of a conversation. + Another traitor may then respond with: "They enjoy running through the void-filled vacuum of the derelict." + The phrase should then have the words: James Smith. + The response should then have the words: run, void, and derelict. + This way assures that the code is suited to the conversation and is unpredicatable. + Obviously, some people will be better at this than others but in theory, everyone should be able to do it and it only enhances roleplay. + Can probably be done through "{ }" but I don't really see the practical benefit. + One example of an earlier system is commented below. + -N + */ + +/datum/controller/subsystem/antag_job/proc/generate_code_phrase()//Proc is used for phrase and response in master_controller.dm + + var/code_phrase = ""//What is returned when the proc finishes. + var/words = pick(//How many words there will be. Minimum of two. 2, 4 and 5 have a lesser chance of being selected. 3 is the most likely. + 50; 2, + 200; 3, + 50; 4, + 25; 5 + ) + + var/list/safety = list(1,2,3)//Tells the proc which options to remove later on. + var/list/nouns = list("love","hate","anger","peace","pride","sympathy","bravery","loyalty","honesty","integrity","compassion","charity","success","courage","deceit","skill","beauty","brilliance","pain","misery","beliefs","dreams","justice","truth","faith","liberty","knowledge","thought","information","culture","trust","dedication","progress","education","hospitality","leisure","trouble","friendships", "relaxation") + var/list/drinks = list("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","tequila sunrise","brave bull","gargle blaster","bloody mary","whiskey cola","white Russian","vodka martini","martini","Cuba libre","kahlua","vodka","redwine","moonshine") + var/list/locations = GLOB.teleportlocs.len ? GLOB.teleportlocs : drinks//if null, defaults to drinks instead. + + var/list/names = list() + for(var/datum/data/record/t in GLOB.data_core.general)//Picks from crew manifest. + names += t.fields["name"] + + var/maxwords = words//Extra var to check for duplicates. + + for(words,words>0,words--)//Randomly picks from one of the choices below. + + if(words==1&&(1 in safety)&&(2 in safety))//If there is only one word remaining and choice 1 or 2 have not been selected. + safety = list(pick(1,2))//Select choice 1 or 2. + else if(words==1&&maxwords==2)//Else if there is only one word remaining (and there were two originally), and 1 or 2 were chosen, + safety = list(3)//Default to list 3 + + switch(pick(safety))//Chance based on the safety list. + if(1)//1 and 2 can only be selected once each to prevent more than two specific names/places/etc. + switch(rand(1,2))//Mainly to add more options later. + if(1) + if(names.len&&prob(70)) + code_phrase += pick(names) + else + code_phrase += pick(pick(GLOB.first_names_male, GLOB.first_names_female)) + code_phrase += " " + code_phrase += pick(GLOB.last_names) + if(2) + code_phrase += pick(GLOB.joblist)//Returns a job. + safety -= 1 + if(2) + switch(rand(1,2))//Places or things. + if(1) + code_phrase += pick(drinks) + if(2) + code_phrase += pick(locations) + safety -= 2 + if(3) + switch(rand(1,3))//Nouns, adjectives, verbs. Can be selected more than once. + if(1) + code_phrase += pick(nouns) + if(2) + code_phrase += pick(GLOB.adjectives) + if(3) + code_phrase += pick(GLOB.verbs) + if(words==1) + code_phrase += "." + else + code_phrase += ", " + + return code_phrase +/* + MODULAR ANTAGONIST SYSTEM + + Attempts to move all the bullshit snowflake antag tracking code into its own system, which + has the added bonus of making the display procs consistent. Still needs work/adjustment/cleanup + but should be fairly self-explanatory with a review of the procs. Will supply a few examples + of common tasks that the system will be expected to perform below. ~Z + + To use: + - Get the appropriate datum via get_antag_data("antagonist id") + using the id var of the desired /datum/antagonist ie. var/datum/antagonist/A = get_antag_data("traitor") + - Call add_antagonist() on the desired target mind ie. A.add_antagonist(mob.mind) + - To ignore protected roles, supply a positive second argument. + - To skip equipping with appropriate gear, supply a positive third argument. +*/ + +/datum/controller/subsystem/antag_job/proc/get_antag_data(antag_type) + return all_antag_types[antag_type] + +/datum/controller/subsystem/antag_job/proc/clear_antag_roles(datum/mind/player, implanted) + for(var/antag_type, value in all_antag_types) + var/datum/antagonist/antag = value + if(!implanted || !(antag.flags & ANTAG_IMPLANT_IMMUNE)) + antag.remove_antagonist(player, 1, implanted) + +/datum/controller/subsystem/antag_job/proc/update_antag_icons(datum/mind/player) + for(var/antag_type, value in all_antag_types) + var/datum/antagonist/antag = value + if(player) + antag.update_icons_removed(player) + if(antag.is_antagonist(player)) + antag.update_icons_added(player) + else + antag.update_all_icons() + +/datum/controller/subsystem/antag_job/proc/populate_antag_type_list() + for(var/antag_type in subtypesof(/datum/antagonist)) + var/datum/antagonist/antag_daturn = new antag_type + all_antag_types[antag_daturn.id] = antag_daturn + all_antag_spawnpoints[antag_daturn.landmark_id] = list() + antag_names_to_ids[antag_daturn.role_text] = antag_daturn.id + +/datum/controller/subsystem/antag_job/proc/get_antags(atype) + var/datum/antagonist/antag = all_antag_types[atype] + if(antag && islist(antag.current_antagonists)) + return antag.current_antagonists + return list() + +/datum/controller/subsystem/antag_job/proc/player_is_antag(datum/mind/player, only_offstation_roles = FALSE) + for(var/antag_type, value in all_antag_types) + var/datum/antagonist/antag = value + if(only_offstation_roles && !(antag.flags & ANTAG_OVERRIDE_JOB)) + continue + if(player in antag.current_antagonists) + return TRUE + if(player in antag.pending_antagonists) + return TRUE + return FALSE diff --git a/code/controllers/subsystems/mail.dm b/code/controllers/subsystems/mail.dm index c7e0484abe..906046d3e6 100644 --- a/code/controllers/subsystems/mail.dm +++ b/code/controllers/subsystems/mail.dm @@ -25,7 +25,7 @@ SUBSYSTEM_DEF(mail) // Collect recipients var/list/mail_recipients = list() for(var/mob/living/carbon/human/player_human in GLOB.player_list) - if(player_human.stat != DEAD && player_human.client && player_human.client.inactivity <= 10 MINUTES && !(player_human.job in banned_jobs) && !player_is_antag(player_human.mind) && !isbelly(player_human.loc)) // Only alive, active and NT employeers should be getting mail. + if(player_human.stat != DEAD && player_human.client && player_human.client.inactivity <= 10 MINUTES && !(player_human.job in banned_jobs) && !SSantag_job.player_is_antag(player_human.mind) && !isbelly(player_human.loc)) // Only alive, active and NT employeers should be getting mail. mail_recipients += player_human // Creates mail for all the mail waiting to arrive, if there's nobody to receive it, it will be a chance of junk mail. diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index 5c4ac03563..94d4e77a58 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -403,7 +403,7 @@ SUBSYSTEM_DEF(ticker) if(player && player.mind && player.mind.assigned_role) if(player.mind.assigned_role == JOB_SITE_MANAGER) captainless=0 - if(!player_is_antag(player.mind, only_offstation_roles = 1)) + if(!SSantag_job.player_is_antag(player.mind, only_offstation_roles = 1)) GLOB.job_master.EquipRank(player, player.mind.assigned_role, 0) UpdateFactionList(player) //equip_custom_items(player) //VOREStation Removal diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 2ba017ce37..f4bfb66dcc 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -333,7 +333,7 @@ GLOBAL_LIST_EMPTY(PDA_Manifest) foundrecord.fields["real_rank"] = real_title /datum/datacore/proc/manifest_inject(var/mob/living/carbon/human/H) - if(H.mind && !player_is_antag(H.mind, only_offstation_roles = 1)) + if(H.mind && !SSantag_job.player_is_antag(H.mind, only_offstation_roles = 1)) var/assignment = GetAssignment(H) var/hidden var/datum/job/J = SSjob.get_job(H.mind.assigned_role) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index e051261edd..e519fc41f1 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -102,7 +102,7 @@ if(new_character.client) new_character.client.init_verbs() // re-initialize character specific verbs - update_antag_icons(src) + SSantag_job.update_antag_icons(src) /datum/mind/proc/store_memory(new_text) @@ -137,8 +137,8 @@ out += "Assigned role: [assigned_role]. Edit
" out += "
" out += "Factions and special roles:
" - for(var/antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] + for(var/antag_type in SSantag_job.all_antag_types) + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_type] out += "[antag.get_panel_entry(src)]" out += "

" out += span_bold("Objectives") + "
" @@ -170,7 +170,7 @@ return if(href_list["add_antagonist"]) - var/datum/antagonist/antag = GLOB.all_antag_types[href_list["add_antagonist"]] + var/datum/antagonist/antag = SSantag_job.all_antag_types[href_list["add_antagonist"]] if(antag) if(antag.add_antagonist(src, 1, 1, 0, 1, 1)) // Ignore equipment and role type for this. log_admin("[key_name_admin(usr)] made [key_name(src)] into a [antag.role_text].") @@ -178,19 +178,19 @@ to_chat(usr, span_warning("[src] could not be made into a [antag.role_text]!")) else if(href_list["remove_antagonist"]) - var/datum/antagonist/antag = GLOB.all_antag_types[href_list["remove_antagonist"]] + var/datum/antagonist/antag = SSantag_job.all_antag_types[href_list["remove_antagonist"]] if(antag) antag.remove_antagonist(src) else if(href_list["equip_antagonist"]) - var/datum/antagonist/antag = GLOB.all_antag_types[href_list["equip_antagonist"]] + var/datum/antagonist/antag = SSantag_job.all_antag_types[href_list["equip_antagonist"]] if(antag) antag.equip(src.current) else if(href_list["unequip_antagonist"]) - var/datum/antagonist/antag = GLOB.all_antag_types[href_list["unequip_antagonist"]] + var/datum/antagonist/antag = SSantag_job.all_antag_types[href_list["unequip_antagonist"]] if(antag) antag.unequip(src.current) else if(href_list["move_antag_to_spawn"]) - var/datum/antagonist/antag = GLOB.all_antag_types[href_list["move_antag_to_spawn"]] + var/datum/antagonist/antag = SSantag_job.all_antag_types[href_list["move_antag_to_spawn"]] if(antag) antag.place_mob(src.current) else if (href_list["role_edit"]) @@ -527,7 +527,7 @@ log_world("## DEBUG: mind_initialize(): No ticker ready yet! Please inform Carn") if(!mind.name) mind.name = real_name mind.current = src - if(player_is_antag(mind)) + if(SSantag_job.player_is_antag(mind)) add_verb(src.client, /client/proc/aooc) //HUMAN diff --git a/code/game/antagonist/_antagonist_setup.dm b/code/game/antagonist/_antagonist_setup.dm deleted file mode 100644 index b05782837c..0000000000 --- a/code/game/antagonist/_antagonist_setup.dm +++ /dev/null @@ -1,70 +0,0 @@ -/* - MODULAR ANTAGONIST SYSTEM - - Attempts to move all the bullshit snowflake antag tracking code into its own system, which - has the added bonus of making the display procs consistent. Still needs work/adjustment/cleanup - but should be fairly self-explanatory with a review of the procs. Will supply a few examples - of common tasks that the system will be expected to perform below. ~Z - - To use: - - Get the appropriate datum via get_antag_data("antagonist id") - using the id var of the desired /datum/antagonist ie. var/datum/antagonist/A = get_antag_data("traitor") - - Call add_antagonist() on the desired target mind ie. A.add_antagonist(mob.mind) - - To ignore protected roles, supply a positive second argument. - - To skip equipping with appropriate gear, supply a positive third argument. -*/ - -// Globals. -GLOBAL_LIST_EMPTY(all_antag_types) -GLOBAL_LIST_EMPTY(all_antag_spawnpoints) -GLOBAL_LIST_EMPTY(antag_names_to_ids) - -// Global procs. -/proc/get_antag_data(var/antag_type) - if(GLOB.all_antag_types[antag_type]) - return GLOB.all_antag_types[antag_type] - else - for(var/cur_antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[cur_antag_type] - if(antag && antag.is_type(antag_type)) - return antag - -/proc/clear_antag_roles(var/datum/mind/player, var/implanted) - for(var/antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] - if(!implanted || !(antag.flags & ANTAG_IMPLANT_IMMUNE)) - antag.remove_antagonist(player, 1, implanted) - -/proc/update_antag_icons(var/datum/mind/player) - for(var/antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] - if(player) - antag.update_icons_removed(player) - if(antag.is_antagonist(player)) - antag.update_icons_added(player) - else - antag.update_all_icons() - -/proc/populate_antag_type_list() - for(var/antag_type in subtypesof(/datum/antagonist)) - var/datum/antagonist/A = new antag_type - GLOB.all_antag_types[A.id] = A - GLOB.all_antag_spawnpoints[A.landmark_id] = list() - GLOB.antag_names_to_ids[A.role_text] = A.id - -/proc/get_antags(var/atype) - var/datum/antagonist/antag = GLOB.all_antag_types[atype] - if(antag && islist(antag.current_antagonists)) - return antag.current_antagonists - return list() - -/proc/player_is_antag(var/datum/mind/player, var/only_offstation_roles = 0) - for(var/antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] - if(only_offstation_roles && !(antag.flags & ANTAG_OVERRIDE_JOB)) - continue - if(player in antag.current_antagonists) - return 1 - if(player in antag.pending_antagonists) - return 1 - return 0 diff --git a/code/game/antagonist/antagonist.dm b/code/game/antagonist/antagonist.dm index 63dae2896b..713920c2b3 100644 --- a/code/game/antagonist/antagonist.dm +++ b/code/game/antagonist/antagonist.dm @@ -124,7 +124,7 @@ else if(!can_become_antag(player)) candidates -= player log_game("[key_name(player)] is not eligible to become a [role_text]: They are blacklisted for this role! They have been removed from the draft.") - else if(player_is_antag(player)) + else if(SSantag_job.player_is_antag(player)) candidates -= player log_game("[key_name(player)] is not eligible to become a [role_text]: They are already an antagonist! They have been removed from the draft.") diff --git a/code/game/antagonist/antagonist_factions.dm b/code/game/antagonist/antagonist_factions.dm index d145764782..f8bd0a77d9 100644 --- a/code/game/antagonist/antagonist_factions.dm +++ b/code/game/antagonist/antagonist_factions.dm @@ -17,7 +17,7 @@ to_chat(src, span_warning("\The [player.current] already serves the [faction.faction_descriptor].")) return - if(player_is_antag(player)) + if(SSantag_job.player_is_antag(player)) to_chat(src, span_warning("\The [player.current]'s loyalties seem to be elsewhere...")) return diff --git a/code/game/antagonist/station/traitor.dm b/code/game/antagonist/station/traitor.dm index 38e8cd3580..f533326695 100644 --- a/code/game/antagonist/station/traitor.dm +++ b/code/game/antagonist/station/traitor.dm @@ -102,10 +102,10 @@ GLOBAL_DATUM(traitors, /datum/antagonist/traitor) /datum/antagonist/traitor/proc/give_codewords(mob/living/traitor_mob) to_chat(traitor_mob, span_underline(span_bold("Your employers provided you with the following information on how to identify possible allies:"))) - to_chat(traitor_mob, span_bold("Code Phrase") + ": " + span_danger("[GLOB.syndicate_code_phrase]")) - to_chat(traitor_mob, span_bold("Code Response") + ": " + span_danger("[GLOB.syndicate_code_response]")) - traitor_mob.mind.store_memory(span_bold("Code Phrase") + ": [GLOB.syndicate_code_phrase]") - traitor_mob.mind.store_memory(span_bold("Code Response") + ": [GLOB.syndicate_code_response]") + to_chat(traitor_mob, span_bold("Code Phrase") + ": " + span_danger("[SSantag_job.syndicate_code_phrase]")) + to_chat(traitor_mob, span_bold("Code Response") + ": " + span_danger("[SSantag_job.syndicate_code_response]")) + traitor_mob.mind.store_memory(span_bold("Code Phrase") + ": [SSantag_job.syndicate_code_phrase]") + traitor_mob.mind.store_memory(span_bold("Code Response") + ": [SSantag_job.syndicate_code_response]") to_chat(traitor_mob, "Use the code words, preferably in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe.") /datum/antagonist/traitor/proc/spawn_uplink(var/mob/living/carbon/human/traitor_mob) diff --git a/code/game/gamemodes/calamity/calamity.dm b/code/game/gamemodes/calamity/calamity.dm index 987eda3214..27e9327a1a 100644 --- a/code/game/gamemodes/calamity/calamity.dm +++ b/code/game/gamemodes/calamity/calamity.dm @@ -12,10 +12,10 @@ /datum/game_mode/calamity/create_antagonists() - shuffle(GLOB.all_antag_types) // This is probably the only instance in the game where the order will be important. + shuffle(SSantag_job.all_antag_types) // This is probably the only instance in the game where the order will be important. var/i = 1 var/grab_antags = round(num_players()/ANTAG_TYPE_RATIO)+1 - for(var/antag_id in GLOB.all_antag_types) + for(var/antag_id in SSantag_job.all_antag_types) if(i > grab_antags) break antag_tags |= antag_id diff --git a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm index bcaffc2c32..bc9e5bda01 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm @@ -138,4 +138,4 @@ GLOBAL_VAR_INIT(universe_has_ended, 0) M.current.Weaken(10) M.current.flash_eyes() - clear_antag_roles(M) + SSantag_job.clear_antag_roles(M) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 7b5ae43b6f..3331a2a7fb 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -85,7 +85,7 @@ GLOBAL_LIST_EMPTY(additional_antag_types) if(href_list["debug_antag"] == "self") usr.client.debug_variables(src) return - var/datum/antagonist/antag = GLOB.all_antag_types[href_list["debug_antag"]] + var/datum/antagonist/antag = SSantag_job.all_antag_types[href_list["debug_antag"]] if(antag) usr.client.debug_variables(antag) message_admins("Admin [key_name_admin(usr)] is debugging the [antag.role_text] template.") @@ -93,16 +93,16 @@ GLOBAL_LIST_EMPTY(additional_antag_types) if(antag_tags && (href_list["remove_antag_type"] in antag_tags)) to_chat(usr, "Cannot remove core mode antag type.") return - var/datum/antagonist/antag = GLOB.all_antag_types[href_list["remove_antag_type"]] + var/datum/antagonist/antag = SSantag_job.all_antag_types[href_list["remove_antag_type"]] if(antag_templates && antag_templates.len && antag && (antag in antag_templates) && (antag.id in GLOB.additional_antag_types)) antag_templates -= antag GLOB.additional_antag_types -= antag.id message_admins("Admin [key_name_admin(usr)] removed [antag.role_text] template from game mode.") else if(href_list["add_antag_type"]) - var/choice = tgui_input_list(usr, "Which type do you wish to add?", "Select Antag Type", GLOB.all_antag_types) + var/choice = tgui_input_list(usr, "Which type do you wish to add?", "Select Antag Type", SSantag_job.all_antag_types) if(!choice) return - var/datum/antagonist/antag = GLOB.all_antag_types[choice] + var/datum/antagonist/antag = SSantag_job.all_antag_types[choice] if(antag) if(!islist(SSticker.mode.antag_templates)) SSticker.mode.antag_templates = list() @@ -155,7 +155,7 @@ GLOBAL_LIST_EMPTY(additional_antag_types) var/enemy_count = 0 if(antag_tags && antag_tags.len) for(var/antag_tag in antag_tags) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_tag] + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_tag] if(!antag) continue var/list/potential = list() @@ -403,7 +403,7 @@ GLOBAL_LIST_EMPTY(additional_antag_types) var/list/players = list() var/list/candidates = list() - var/datum/antagonist/antag_template = GLOB.all_antag_types[antag_id] + var/datum/antagonist/antag_template = SSantag_job.all_antag_types[antag_id] if(!antag_template) return candidates @@ -465,7 +465,7 @@ GLOBAL_LIST_EMPTY(additional_antag_types) if(antag_tags && antag_tags.len) antag_templates = list() for(var/antag_tag in antag_tags) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_tag] + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_tag] if(antag) antag_templates |= antag @@ -473,7 +473,7 @@ GLOBAL_LIST_EMPTY(additional_antag_types) if(!antag_templates) antag_templates = list() for(var/antag_type in GLOB.additional_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_type] if(antag) antag_templates |= antag diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index d5722040f6..774982757e 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -787,7 +787,7 @@ GLOBAL_LIST_EMPTY(all_objectives) /datum/objective/ninja_highlander/check_completion() if(owner) - for(var/datum/mind/ninja in get_antags("ninja")) + for(var/datum/mind/ninja in SSantag_job.get_antags("ninja")) if(ninja != owner) if(ninja.current.stat < 2) return 0 return 1 diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 269ca89b59..fe4c4ee02a 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -143,7 +143,7 @@ return if(M.brainmob.mind) - clear_antag_roles(M.brainmob.mind, 1) + SSantag_job.clear_antag_roles(M.brainmob.mind, 1) user.drop_item() P.loc = src diff --git a/code/game/machinery/protean_reconstitutor.dm b/code/game/machinery/protean_reconstitutor.dm index 0264a77366..d1a6828c4f 100644 --- a/code/game/machinery/protean_reconstitutor.dm +++ b/code/game/machinery/protean_reconstitutor.dm @@ -249,7 +249,7 @@ if(P.mind) P.mind.loaded_from_ckey = picked_ckey P.mind.loaded_from_slot = picked_slot - var/datum/antagonist/antag_data = get_antag_data(P.mind.special_role) + var/datum/antagonist/antag_data = SSantag_job.get_antag_data(P.mind.special_role) if(antag_data) antag_data.add_antagonist(P.mind) antag_data.place_mob(P) diff --git a/code/game/objects/effects/landmarks_vr.dm b/code/game/objects/effects/landmarks_vr.dm index 0bd40b7912..a2212b6173 100644 --- a/code/game/objects/effects/landmarks_vr.dm +++ b/code/game/objects/effects/landmarks_vr.dm @@ -18,10 +18,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 diff --git a/code/game/objects/items/antag_spawners.dm b/code/game/objects/items/antag_spawners.dm index 156d496178..1f38a87d4c 100644 --- a/code/game/objects/items/antag_spawners.dm +++ b/code/game/objects/items/antag_spawners.dm @@ -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) diff --git a/code/game/objects/items/devices/uplink_random_lists.dm b/code/game/objects/items/devices/uplink_random_lists.dm index d0c5cd4604..c5793f2500 100644 --- a/code/game/objects/items/devices/uplink_random_lists.dm +++ b/code/game/objects/items/devices/uplink_random_lists.dm @@ -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() diff --git a/code/game/objects/items/toys/toys_vr.dm b/code/game/objects/items/toys/toys_vr.dm index 1346e59c2e..4e38c85988 100644 --- a/code/game/objects/items/toys/toys_vr.dm +++ b/code/game/objects/items/toys/toys_vr.dm @@ -523,7 +523,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 diff --git a/code/game/objects/items/weapons/id cards/syndicate_ids.dm b/code/game/objects/items/weapons/id cards/syndicate_ids.dm index 82aa7bd849..6ae08b4061 100644 --- a/code/game/objects/items/weapons/id cards/syndicate_ids.dm +++ b/code/game/objects/items/weapons/id cards/syndicate_ids.dm @@ -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) diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index f380d59381..ad8c6350d4 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -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].")) ////////////////////////////// diff --git a/code/game/objects/mail.dm b/code/game/objects/mail.dm index ea4efe1c46..f040e7f26b 100644 --- a/code/game/objects/mail.dm +++ b/code/game/objects/mail.dm @@ -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) diff --git a/code/game/objects/structures/ghost_pods/human.dm b/code/game/objects/structures/ghost_pods/human.dm index f84efb8cc6..56d23e9b0b 100644 --- a/code/game/objects/structures/ghost_pods/human.dm +++ b/code/game/objects/structures/ghost_pods/human.dm @@ -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].") diff --git a/code/game/objects/structures/ghost_pods/survivor.dm b/code/game/objects/structures/ghost_pods/survivor.dm index 11d8c7d023..8b487946f1 100644 --- a/code/game/objects/structures/ghost_pods/survivor.dm +++ b/code/game/objects/structures/ghost_pods/survivor.dm @@ -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].") diff --git a/code/modules/admin/DB ban/ban_panle_ui.dm b/code/modules/admin/DB ban/ban_panle_ui.dm index 40d480da63..35678844ed 100644 --- a/code/modules/admin/DB ban/ban_panle_ui.dm +++ b/code/modules/admin/DB ban/ban_panle_ui.dm @@ -34,8 +34,8 @@ /datum/tgui_ban_panel/tgui_static_data(mob/user) var/list/bantypes = list("traitor","changeling","operative","revolutionary","cultist","wizard") //For legacy bans. - for(var/antag_type in GLOB.all_antag_types) // Grab other bans. - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] + for(var/antag_type in SSantag_job.all_antag_types) // Grab other bans. + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_type] bantypes |= antag.bantype var/list/data = list( diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 3543949283..fe7010baa5 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1262,12 +1262,12 @@ ADMIN_VERB(force_antag_latespawn, R_ADMIN|R_EVENT|R_FUN, "Force Template Spawn", to_chat(user, span_warning("Mode has not started.")) return - var/antag_type = tgui_input_list(user, "Choose a template.","Force Latespawn", GLOB.all_antag_types) - if(!antag_type || !GLOB.all_antag_types[antag_type]) + var/antag_type = tgui_input_list(user, "Choose a template.","Force Latespawn", SSantag_job.all_antag_types) + if(!antag_type || !SSantag_job.all_antag_types[antag_type]) to_chat(user, span_warning("Aborting.")) return - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_type] message_admins("[key_name(user)] attempting to force latespawn with template [antag.id].") antag.attempt_late_spawn() diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 02f0c76d18..8d193e275f 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -412,8 +412,8 @@ dat += "[SSticker.delay_end ? "End Round Normally" : "Delay Round End"]
" dat += "
" - 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] dat += A.get_check_antag_output(src) dat += "" user << browse(dat, "window=roundstatus;size=400x500") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 2b69f1fd9b..78d17d7d66 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -485,11 +485,11 @@ counter = 0 var/isbanned_dept = jobban_isbanned(M, JOB_SYNDICATE) jobs += "" - jobs += "" + jobs += "" // Antagonists. - for(var/antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] + for(var/antag_type in SSantag_job.all_antag_types) + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_type] if(!antag || !antag.bantype) continue diff --git a/code/modules/admin/verbs/antag-ooc.dm b/code/modules/admin/verbs/antag-ooc.dm index f442b2ec88..a4faad663c 100644 --- a/code/modules/admin/verbs/antag-ooc.dm +++ b/code/modules/admin/verbs/antag-ooc.dm @@ -11,7 +11,7 @@ return else if(is_antag && !is_admin) // Is an antag, and not an admin, meaning we need to check if their antag type allows AOOC. - var/datum/antagonist/A = get_antag_data(src.mob.mind.special_role) + var/datum/antagonist/A = SSantag_job.get_antag_data(src.mob.mind.special_role) if(!A || !A.can_speak_aooc || !A.can_hear_aooc) to_chat(src, span_warning("Sorry, but your antagonist type is not allowed to speak in AOOC.")) return @@ -35,7 +35,7 @@ else if(M.client) // Players can only see AOOC if observing, or if they are an antag type allowed to use AOOC. var/datum/antagonist/A = null if(M.mind) // Observers don't have minds, but they should still see AOOC. - A = get_antag_data(M.mind.special_role) + A = SSantag_job.get_antag_data(M.mind.special_role) if((M.mind && M.mind.special_role && A && A.can_hear_aooc) || isobserver(M)) // Antags must have their type be allowed to AOOC to see AOOC. This prevents, say, ERT from seeing AOOC. to_chat(M, span_ooc(span_aooc("[create_text_tag("aooc", "Antag-OOC:", M.client)] [player_display]: " + span_message("[msg]")))) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index be0d2b16fb..34dc79152e 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -499,7 +499,7 @@ ADMIN_VERB(respawn_character, (R_ADMIN|R_REJUVINATE), "Spawn Character", "(Re)Sp new_character.key = player_key //Were they any particular special role? If so, copy. if(new_character.mind) - var/datum/antagonist/antag_data = get_antag_data(new_character.mind.special_role) + var/datum/antagonist/antag_data = SSantag_job.get_antag_data(new_character.mind.special_role) if(antag_data) antag_data.add_antagonist(new_character.mind) antag_data.place_mob(new_character) diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 515e35eb0e..36fb99e5e8 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -34,7 +34,7 @@ GLOBAL_LIST_EMPTY(current_pending_diseases) var/list/candidates = list() for(var/mob/living/carbon/human/G in GLOB.human_mob_list) - if(G.mind && G.stat != DEAD && G.is_client_active(5) && !player_is_antag(G.mind)) + if(G.mind && G.stat != DEAD && G.is_client_active(5) && !SSantag_job.player_is_antag(G.mind)) var/area/A = get_area(G) if(!A) continue diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 8f26e30a3d..4305e0ea84 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -27,7 +27,7 @@ /datum/event/ionstorm/start() 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 diff --git a/code/modules/events/random_antagonist.dm b/code/modules/events/random_antagonist.dm index af63728040..1457e36d51 100644 --- a/code/modules/events/random_antagonist.dm +++ b/code/modules/events/random_antagonist.dm @@ -4,8 +4,8 @@ /datum/event/random_antag/start() var/list/valid_types = list() - for(var/antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] + for(var/antag_type in SSantag_job.all_antag_types) + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_type] if(antag.flags & ANTAG_RANDSPAWN) valid_types |= antag if(valid_types.len) diff --git a/code/modules/gamemaster/event2/events/everyone/random_antag.dm b/code/modules/gamemaster/event2/events/everyone/random_antag.dm index 4bd9f8e2fd..4deabdb87e 100644 --- a/code/modules/gamemaster/event2/events/everyone/random_antag.dm +++ b/code/modules/gamemaster/event2/events/everyone/random_antag.dm @@ -22,8 +22,8 @@ // The random spawn proc on the antag datum will handle announcing the spawn and whatnot, in theory. /datum/event2/event/random_antagonist/start() var/list/valid_types = list() - for(var/antag_type in GLOB.all_antag_types) - var/datum/antagonist/antag = GLOB.all_antag_types[antag_type] + for(var/antag_type in SSantag_job.all_antag_types) + var/datum/antagonist/antag = SSantag_job.all_antag_types[antag_type] if(antag.flags & ANTAG_RANDSPAWN) valid_types |= antag if(valid_types.len) diff --git a/code/modules/gamemaster/event2/events/medical/appendicitis.dm b/code/modules/gamemaster/event2/events/medical/appendicitis.dm index d1c09ebc65..f67d074bc4 100644 --- a/code/modules/gamemaster/event2/events/medical/appendicitis.dm +++ b/code/modules/gamemaster/event2/events/medical/appendicitis.dm @@ -23,7 +23,7 @@ continue // Or antags / bellied. - if(player_is_antag(H.mind) || isbelly(H.loc)) + if(SSantag_job.player_is_antag(H.mind) || isbelly(H.loc)) continue // Or doctors (otherwise it could be possible for the only surgeon to need surgery). diff --git a/code/modules/metric/count.dm b/code/modules/metric/count.dm index 47db6bae60..ebf38bde7a 100644 --- a/code/modules/metric/count.dm +++ b/code/modules/metric/count.dm @@ -59,7 +59,7 @@ /datum/metric/proc/get_all_antags(cutoff = 75) . = list() for(var/mob/living/L in GLOB.player_list) - if(L.mind && player_is_antag(L.mind) && assess_player_activity(L) >= cutoff) + if(L.mind && SSantag_job.player_is_antag(L.mind) && assess_player_activity(L) >= cutoff) . += L /datum/metric/proc/count_all_antags(cutoff = 75) diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 56bc850d3d..26d949ae54 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -4,7 +4,7 @@ mind_initialize() //updates the mind (or creates and initializes one if one doesn't exist) mind.active = 1 //indicates that the mind is currently synced with a client //If they're SSD, remove it so they can wake back up. - update_antag_icons(mind) + SSantag_job.update_antag_icons(mind) client.screen |= GLOB.global_hud.darksight client.images |= dsoverlay diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index eedd1656d3..2ef6c6bba6 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -137,7 +137,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 diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index fc0b297dc3..e46c810914 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -416,7 +416,7 @@ qdel(mind.objectives) mind.special_role = null - clear_antag_roles(mind) + SSantag_job.clear_antag_roles(mind) ghostize(0) qdel(src) diff --git a/code/modules/random_map/drop/droppod.dm b/code/modules/random_map/drop/droppod.dm index 47667b7495..0ccc8bd986 100644 --- a/code/modules/random_map/drop/droppod.dm +++ b/code/modules/random_map/drop/droppod.dm @@ -189,9 +189,9 @@ ADMIN_VERB(call_drop_pod, R_FUN, "Call Drop Pod", "Call an immediate drop pod on // Equip them, if they are human and it is desirable. if(ishuman(spawned_mob)) - var/antag_type = tgui_input_list(user, "Select an equipment template to use or cancel for nude.", GLOB.all_antag_types) + var/antag_type = tgui_input_list(user, "Select an equipment template to use or cancel for nude.", SSantag_job.all_antag_types) if(antag_type) - var/datum/antagonist/A = GLOB.all_antag_types[antag_type] + var/datum/antagonist/A = SSantag_job.all_antag_types[antag_type] A.equip(spawned_mob) if(tgui_alert(user, "Are you SURE you wish to deploy this drop pod? It will cause a sizable explosion and gib anyone underneath it.","Danger!",list("No","Yes")) != "Yes") diff --git a/code/modules/resleeving/autoresleever.dm b/code/modules/resleeving/autoresleever.dm index 3b4755d335..9342fd4b16 100644 --- a/code/modules/resleeving/autoresleever.dm +++ b/code/modules/resleeving/autoresleever.dm @@ -182,7 +182,7 @@ GLOBAL_LIST_EMPTY(active_autoresleevers) if(new_character.mind) new_character.mind.loaded_from_ckey = picked_ckey new_character.mind.loaded_from_slot = picked_slot - var/datum/antagonist/antag_data = get_antag_data(new_character.mind.special_role) + var/datum/antagonist/antag_data = SSantag_job.get_antag_data(new_character.mind.special_role) if(antag_data) antag_data.add_antagonist(new_character.mind) antag_data.place_mob(new_character) diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm index 05812e1f63..ea91379b02 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -499,7 +499,7 @@ if(occupant.mind) if(occupant.original_player && ckey(occupant.mind.key) != occupant.original_player) log_and_message_admins("is now a cross-sleeved character. Body originally belonged to [occupant.real_name]. Mind is now [occupant.mind.name].",occupant) - var/datum/antagonist/antag_data = get_antag_data(occupant.mind.special_role) + var/datum/antagonist/antag_data = SSantag_job.get_antag_data(occupant.mind.special_role) if(antag_data) antag_data.add_antagonist(occupant.mind) antag_data.place_mob(occupant) diff --git a/code/modules/vore/eating/inbelly_spawn.dm b/code/modules/vore/eating/inbelly_spawn.dm index ce8af1c702..7b39fbca66 100644 --- a/code/modules/vore/eating/inbelly_spawn.dm +++ b/code/modules/vore/eating/inbelly_spawn.dm @@ -85,7 +85,7 @@ new_character.initialize_vessel() new_character.key = player_key if(new_character.mind) - var/datum/antagonist/antag_data = get_antag_data(new_character.mind.special_role) + var/datum/antagonist/antag_data = SSantag_job.get_antag_data(new_character.mind.special_role) if(antag_data) antag_data.add_antagonist(new_character.mind) antag_data.place_mob(new_character) diff --git a/modular_chomp/code/modules/event/spontaneous_malignant_organ.dm b/modular_chomp/code/modules/event/spontaneous_malignant_organ.dm index 5aca257c75..50f8861f4c 100644 --- a/modular_chomp/code/modules/event/spontaneous_malignant_organ.dm +++ b/modular_chomp/code/modules/event/spontaneous_malignant_organ.dm @@ -4,7 +4,7 @@ if(!A) continue // Dont give bellied people and antags cancer - if(player_is_antag(H.mind) || isbelly(H.loc)) + if(SSantag_job.player_is_antag(H.mind) || isbelly(H.loc)) continue if(H.species.virus_immune) continue diff --git a/vorestation.dme b/vorestation.dme index 18d6168ad0..a9ab482702 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -579,6 +579,7 @@ #include "code\controllers\subsystems\air_traffic.dm" #include "code\controllers\subsystems\airflow.dm" #include "code\controllers\subsystems\alarm.dm" +#include "code\controllers\subsystems\antag_job.dm" #include "code\controllers\subsystems\asset_loading.dm" #include "code\controllers\subsystems\assets.dm" #include "code\controllers\subsystems\atoms.dm" @@ -1066,7 +1067,6 @@ #include "code\game\skincmd.dm" #include "code\game\sound.dm" #include "code\game\world.dm" -#include "code\game\antagonist\_antagonist_setup.dm" #include "code\game\antagonist\antagonist.dm" #include "code\game\antagonist\antagonist_add.dm" #include "code\game\antagonist\antagonist_create.dm"
Antagonist Positions
Antagonist Positions