From be6c8c54d1b3a53a6240630ec1886b64b59f00d6 Mon Sep 17 00:00:00 2001 From: Remie Richards Date: Thu, 9 Oct 2014 22:57:19 +0100 Subject: [PATCH] Reverts Antag selection happening before job selection --- code/datums/datacore.dm | 2 +- code/datums/mind.dm | 3 +- code/game/gamemodes/blob/blob.dm | 1 - code/game/gamemodes/changeling/changeling.dm | 1 - code/game/gamemodes/cult/cult.dm | 1 - code/game/gamemodes/gameticker.dm | 5 ++-- code/game/gamemodes/gang/gang.dm | 6 ---- .../game/gamemodes/malfunction/malfunction.dm | 2 +- code/game/gamemodes/monkey/monkey.dm | 1 - code/game/gamemodes/nuclear/nuclear.dm | 2 +- code/game/gamemodes/revolution/revolution.dm | 3 +- code/game/gamemodes/traitor/double_agents.dm | 1 - code/game/gamemodes/traitor/traitor.dm | 1 - code/game/gamemodes/wizard/wizard.dm | 2 +- code/game/jobs/job_controller.dm | 29 ------------------- 15 files changed, 9 insertions(+), 51 deletions(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 4f8b2e771e7..e98fec043ed 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -81,7 +81,7 @@ var/record_id_num = 1001 /obj/effect/datacore/proc/manifest_inject(var/mob/living/carbon/human/H) - if(H.mind && (H.mind.need_job_assign)) + if(H.mind && (H.mind.assigned_role != "MODE")) var/assignment if(H.mind.assigned_role) assignment = H.mind.assigned_role diff --git a/code/datums/mind.dm b/code/datums/mind.dm index e7e8728c481..581bb6bfe7f 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -37,7 +37,6 @@ var/memory - var/need_job_assign = 1 //Whether the job controller should give them a job var/assigned_role var/special_role @@ -916,6 +915,7 @@ else current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]" special_role = "Syndicate" + assigned_role = "MODE" current << "You are a [syndicate_name()] agent!" ticker.mode.forge_syndicate_objectives(src) ticker.mode.greet_syndicate(src) @@ -1161,6 +1161,7 @@ if(!(src in ticker.mode.wizards)) ticker.mode.wizards += src special_role = "Wizard" + assigned_role = "MODE" //ticker.mode.learn_basic_spells(current) if(!wizardstart.len) current.loc = pick(latejoin) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 9bcc166edfd..903a983e7df 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -16,7 +16,6 @@ var/list/blob_nodes = list() recommended_enemies = 1 restricted_jobs = list("Cyborg", "AI") - pre_setup_before_jobs = 1 var/declared = 0 diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index f131ca65f68..e3a47377733 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -13,7 +13,6 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" required_players = 15 required_enemies = 1 recommended_enemies = 4 - pre_setup_before_jobs = 1 var/const/prob_int_murder_target = 50 // intercept names the assassination target half the time diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 0c7f68f88ee..c99942aee3e 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -29,7 +29,6 @@ required_players = 20 required_enemies = 6 recommended_enemies = 6 - pre_setup_before_jobs = 1 var/finished = 0 diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 2d9ab0ed8c3..e828b3d1014 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -275,12 +275,11 @@ var/round_start_time = 0 /datum/controller/gameticker/proc/equip_characters() var/captainless=1 for(var/mob/living/carbon/human/player in player_list) - if(!player.mind.need_job_assign) - continue if(player && player.mind && player.mind.assigned_role) if(player.mind.assigned_role == "Captain") captainless=0 - job_master.EquipRank(player, player.mind.assigned_role, 0) + if(player.mind.assigned_role != "MODE") + job_master.EquipRank(player, player.mind.assigned_role, 0) if(captainless) for(var/mob/M in player_list) if(!istype(M,/mob/new_player)) diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index a9faa393a0a..0ff21b4c6b8 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -46,12 +46,6 @@ if(!A_bosses.len || !B_bosses.len) return 0 -//Set a temporary special_role so the job controller doesn't hand out invalid jobs for these antags - for(var/datum/mind/boss_mind in A_bosses) - boss_mind.special_role = "Gang member" - for(var/datum/mind/boss_mind in B_bosses) - boss_mind.special_role = "Gang member" - return 1 diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm index 8cf8a3ec813..3ea9dc6294c 100644 --- a/code/game/gamemodes/malfunction/malfunction.dm +++ b/code/game/gamemodes/malfunction/malfunction.dm @@ -48,7 +48,7 @@ if (malf_ai.len < required_enemies) return 0 for(var/datum/mind/ai_mind in malf_ai) - ai_mind.need_job_assign = 0 + ai_mind.assigned_role = "MODE" ai_mind.special_role = "malfunctioning AI"//So they actually have a special role/N log_game("[ai_mind.key] (ckey) has been selected as a malf AI") return 1 diff --git a/code/game/gamemodes/monkey/monkey.dm b/code/game/gamemodes/monkey/monkey.dm index c12ba003926..266a7c35e06 100644 --- a/code/game/gamemodes/monkey/monkey.dm +++ b/code/game/gamemodes/monkey/monkey.dm @@ -11,7 +11,6 @@ recommended_enemies = 1 restricted_jobs = list("Cyborg", "AI") - pre_setup_before_jobs = 1 var/carriers_to_make = 1 var/list/carriers = list() diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index e9841f6b0a7..d3ef1d968ce 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -40,7 +40,7 @@ agent_number-- for(var/datum/mind/synd_mind in syndicates) - synd_mind.need_job_assign = 0 + synd_mind.assigned_role = "MODE" synd_mind.special_role = "Syndicate"//So they actually have a special role/N log_game("[synd_mind.key] (ckey) has been selected as a nuclear operative") return 1 diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index e850f817e52..11dac93a53a 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -19,7 +19,6 @@ required_players = 20 required_enemies = 3 recommended_enemies = 3 - pre_setup_before_jobs = 1 var/finished = 0 var/check_counter = 0 @@ -491,4 +490,4 @@ text += "" text += "
" - world << text + world << text diff --git a/code/game/gamemodes/traitor/double_agents.dm b/code/game/gamemodes/traitor/double_agents.dm index 0f30a1af738..7e4fb0e05fd 100644 --- a/code/game/gamemodes/traitor/double_agents.dm +++ b/code/game/gamemodes/traitor/double_agents.dm @@ -5,7 +5,6 @@ required_players = 25 required_enemies = 5 recommended_enemies = 8 - pre_setup_before_jobs = 1 traitor_name = "double agent" diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 2c4d9aaab5b..b60b0881165 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -15,7 +15,6 @@ required_players = 0 required_enemies = 1 recommended_enemies = 4 - pre_setup_before_jobs = 1 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. diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index ef97dcc54cf..7fafb6f14f5 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -21,7 +21,7 @@ var/datum/mind/wizard = pick(antag_candidates) wizards += wizard modePlayer += wizard - wizard.need_job_assign = 0 + wizard.assigned_role = "MODE" wizard.special_role = "Wizard" if(wizardstart.len == 0) wizard.current << "A starting location for you could not be found, please report this bug!" diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 57365511158..842cb714481 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -46,11 +46,6 @@ var/global/datum/controller/occupations/job_master if(!job) return 0 if(jobban_isbanned(player, rank)) return 0 if(!job.player_old_enough(player.client)) return 0 - if(player.mind.special_role && ticker && ticker.mode) - if(job.title in ticker.mode.restricted_jobs) - return 0 - if(!player.mind.need_job_assign) - return 0 var/position_limit = job.total_positions if(!latejoin) position_limit = job.spawn_positions @@ -82,14 +77,6 @@ var/global/datum/controller/occupations/job_master Debug("FOC non-human failed, Player: [player]") continue - if(player.mind.special_role && ticker && ticker.mode) - if(job.title in ticker.mode.restricted_jobs) - Debug("FOC player has a special role and this job is blocked from this special role") - continue - - if(!player.mind.need_job_assign) - continue - if(player.client.prefs.GetJobDepartment(job, level) & job.flag) Debug("FOC pass, Player: [player], Level:[level]") candidates += player @@ -119,13 +106,6 @@ var/global/datum/controller/occupations/job_master Debug("GRJ non-human failed, Player: [player]") continue - if(player.mind.special_role && ticker && ticker.mode) - if(job.title in ticker.mode.restricted_jobs) - Debug("GRJ player has a special role and this job is blocked from this special role") - continue - - if(!player.mind.need_job_assign) - continue if((job.current_positions < job.spawn_positions) || job.spawn_positions == -1) Debug("GRJ Random job given, Player: [player], Job: [job]") @@ -282,13 +262,6 @@ var/global/datum/controller/occupations/job_master Debug("DO non-human failed, Player: [player], Job:[job.title]") continue - if(player.mind.special_role && ticker && ticker.mode) - if(job.title in ticker.mode.restricted_jobs) - Debug("DO player has a special role and this job is blocked from that special role") - continue - - if(!player.mind.need_job_assign) - continue // If the player wants that job on this level, then try give it to him. if(player.client.prefs.GetJobDepartment(job, level) & job.flag) @@ -318,8 +291,6 @@ var/global/datum/controller/occupations/job_master //Gives the player the stuff he should have with his rank /datum/controller/occupations/proc/EquipRank(var/mob/living/H, var/rank, var/joined_late = 0) - if(!H.mind.need_job_assign) - return 0 var/datum/job/job = GetJob(rank)