From 331a99f4e1820de002b84598d52143331ea68030 Mon Sep 17 00:00:00 2001 From: "n3ophyt3@gmail.com" Date: Fri, 4 Feb 2011 06:23:05 +0000 Subject: [PATCH] Security reports should no longer list traitor heads/AIs as possible revs/cultists, nor should nuke operatives ever get named for anything. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@956 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/gamemodes/intercept_report.dm | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm index 2d1eeb4c2e2..1731e76e01a 100644 --- a/code/game/gamemodes/intercept_report.dm +++ b/code/game/gamemodes/intercept_report.dm @@ -58,6 +58,7 @@ /datum/intercept_text/proc/pick_mob() var/list/dudes = list() for(var/mob/living/carbon/human/man in world) + if (man.mind.special_role == "Syndicate") continue dudes += man var/dude = pick(dudes) return dude @@ -96,7 +97,7 @@ var/traitor_job var/prob_right_dude = rand(prob_correct_person_lower, prob_correct_person_higher) var/prob_right_job = rand(prob_correct_job_lower, prob_correct_job_higher) - if(prob(prob_right_job)) + if(prob(prob_right_job) && cult_check_mob(correct_mob)) if (correct_mob) traitor_job = correct_mob:assigned_role else @@ -116,6 +117,14 @@ src.text += "organisation." src.text += "
However, if this information is acted on without substantial evidence, those responsible will face severe repercussions." +/datum/intercept_text/proc/cult_check_mob(correct_mob) //ok, this is pretty hacky, but if it works right, people that can't normally be cultists will make the proc return null, which should make the cult report proc not use said person. --NEO + var/datum/game_mode/cult/checklist = new /datum/game_mode/cult + var/list/ucs = checklist.get_unconvertables() + del(checklist) + if (correct_mob in ucs) return + return 1 + + /datum/intercept_text/proc/build_rev(correct_mob) var/name_1 = pick(src.org_names_1) var/name_2 = pick(src.org_names_2) @@ -123,7 +132,7 @@ var/traitor_job var/prob_right_dude = rand(prob_correct_person_lower, prob_correct_person_higher) var/prob_right_job = rand(prob_correct_job_lower, prob_correct_job_higher) - if(prob(prob_right_job)) + if(prob(prob_right_job) && rev_check_mob(correct_mob)) if (correct_mob) traitor_job = correct_mob:assigned_role else @@ -143,6 +152,13 @@ src.text += "organisation." src.text += "
However, if this information is acted on without substantial evidence, those responsible will face severe repercussions." +/datum/intercept_text/proc/rev_check_mob(correct_mob) //ok, this is pretty hacky, but if it works right, people that can't normally be cultists will make the proc return null, which should make the cult report proc not use said person. --NEO + var/datum/game_mode/revolution/checklist = new /datum/game_mode/revolution + var/list/ucs = checklist.get_unconvertables() + del(checklist) + if (correct_mob in ucs) return + return 1 + /datum/intercept_text/proc/build_wizard(correct_mob) var/SWF_desc = pick(SWF_names)