From 3eea9d794e0eeec82979ed94947dcdce3fa5957e Mon Sep 17 00:00:00 2001 From: datlo Date: Sun, 30 Dec 2018 22:31:05 +0000 Subject: [PATCH] remove collab --- code/game/gamemodes/game_mode.dm | 79 +------------------------- code/game/gamemodes/traitor/traitor.dm | 18 ------ 2 files changed, 1 insertion(+), 96 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 08ab2b54c5d..863b31832a0 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -36,7 +36,6 @@ var/list/datum/mind/xenos = list() var/list/datum/station_goal/station_goals = list() // A list of all station goals for this game mode - var/list/chumps = list() /datum/game_mode/proc/announce() //to be calles when round starts to_chat(world, "Notice: [src] did not define announce()") @@ -69,7 +68,6 @@ ///post_setup() ///Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things /datum/game_mode/proc/post_setup() - setup_chumps() spawn (ROUNDSTART_LOGOUT_REPORT_TIME) display_roundstart_logout_report() @@ -85,40 +83,6 @@ start_state.count() return 1 -//setup_chumps() -//Prepares fake potential collaborators to cut down on metagaming the round type as being a traitor subtype. Overriden in traitor game modes since they have real collaborators -/datum/game_mode/proc/setup_chumps() - var/max_chumps = 1 - if(config.traitor_scaling) - max_chumps = max(1, round((num_players())/(5))) - else - max_chumps = max(1, min(num_players(), 5)) - var/tries_left = 5 //limits the number of tries so we don't get stuck looping indefinitely. resets on successfully finding a new chump - while(chumps.len < max_chumps) - if(!tries_left) //ran out of unique chumps (or just bad luck with the pick() in get_nt_opposed()) so there may end up being fewer chumps in some rounds. - break - var/mob/living/carbon/human/chump = get_nt_opposed() - if(isnull(chump)) //no possible chumps so just end it here. - break - if(chump in chumps) - tries_left-- //this chump already was picked, try again! - else - chumps += chump - tries_left = 5 //reset our tries since we found a new chump - //make sure we have chumps before we try misinforming them. if we don't make a note of it. - if(!chumps.len) - log_debug("Game mode failed to find ANY chumps. This is likely due to the server being in extreme low-pop with no one set to opposed or skeptical.") - return 0 - //we've got chumps! misinform them! - for(var/mob/living/carbon/human/chump in chumps) - if(prob(33)) - spawn(rand(3000, 18000)) //5-30 minute delay to throw off would-be autotraitor metagamers - inform_collab(chump) - else - spawn(rand(10, 100)) //same delay as if the mode were traitor - inform_collab(chump) - return 1 - ///process() ///Called by the gameticker /datum/game_mode/proc/process() @@ -426,23 +390,6 @@ proc/display_roundstart_logout_report() if(check_rights(R_ADMIN, 0, M)) to_chat(M, msg) - -/proc/get_nt_opposed() - var/list/dudes = list() - for(var/mob/living/carbon/human/man in GLOB.player_list) - if(man.client) - //don't try picking someone like the captain or a security officer for potential collaborators, even if they ARE opposed to Nanotrasen for some reason - if(man.mind && man.mind.assigned_role) - if((man.mind.assigned_role in ticker.mode.protected_jobs) || (man.mind.assigned_role in ticker.mode.restricted_jobs)) - continue - if(man.client.prefs.nanotrasen_relation == "Opposed") - dudes += man - else if(man.client.prefs.nanotrasen_relation == "Skeptical" && prob(50)) - dudes += man - if(dudes.len == 0) - return null - return pick(dudes) - //Announces objectives/generic antag text. /proc/show_generic_antag_text(var/datum/mind/player) if(player.current) @@ -547,28 +494,4 @@ proc/display_roundstart_logout_report() /datum/game_mode/proc/declare_station_goal_completion() for(var/V in station_goals) var/datum/station_goal/G = V - G.print_result() - - -/datum/game_mode/proc/inform_collab(mob/living/carbon/human/M) - if(!M) - return - //Mad-libs for their message - var/adjective = pick("strange", "mysterious", "sinister", "un-assuming", "unexpected") - var/action_words = pick("aid the fight against Nanotrasen", "repay a debt", "partake in some mischief", "help overthrow the system", "stick it to the man") - var/organization = pick("Anti-Fascist Movement", "Syndicate", "Spessmen for the Protesting of Nanotrasen", "Greytider's Union", "Illuminati (in space)") - //Stuff to give them a single set of code-words - var/list/possible_words = splittext(syndicate_code_phrase, ", ") - var/list/possible_reply = splittext(syndicate_code_response, ", ") - var/index = rand(1, possible_words.len) - var/my_word = possible_words[index] - var/my_reply - if(possible_reply.len < index) //just in case we had a longer code word list than the response list - my_reply = pick(possible_reply) - else - my_reply = possible_reply[index] - - to_chat(M, "You suddenly remember \an [adjective] note you received earlier informing you that a chance to [action_words] may present itself today. An agent of the [organization] may contact you for help.") - to_chat(M, "The note had the words \"[my_word]\" and \"[my_reply]\" written at the bottom, which you memorized just in case.") - to_chat(M, "Unless stated otherwise; you are NOT an antagonist, so self-antagging rules may still apply to you. Use your good judgement and ahelp if you are unsure of what you are allowed to do.") - M.mind.store_memory("Important Words: \"[my_word]\", \"[my_reply]\"") + G.print_result() \ No newline at end of file diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 59915a68d11..2c613e7cdb8 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -70,10 +70,6 @@ modePlayer += traitors ..() -/datum/game_mode/traitor/setup_chumps() - //since we actually have potential collaborators, we don't prepare any chumps to avoid extra people knowing our codewords. - return - /datum/game_mode/proc/forge_traitor_objectives(datum/mind/traitor) if(istype(traitor.current, /mob/living/silicon)) var/objective_count = 0 @@ -347,20 +343,6 @@ if(!safety)//If they are not a rev. Can be added on to. give_codewords(traitor_mob) - // Tell them about people they might want to contact. - var/mob/living/carbon/human/M = get_nt_opposed() - if(M && M != traitor_mob) - to_chat(traitor_mob, "We have received credible reports that [M.real_name] might be willing to help our cause. If you need assistance, consider contacting [M.p_them()].") - traitor_mob.mind.store_memory("Potential Collaborator: [M.real_name]") - //let's also inform their contact that they might be called upon, but leave it vague. - inform_collab(M) - -/datum/game_mode/traitor/inform_collab(mob/living/carbon/human/M) - if(M.mind in traitors) //if you are already a traitor, you already know the codewords and your role, so skip this message. - return - ..(M) - - /datum/game_mode/proc/remove_traitor(datum/mind/traitor_mind) if(traitor_mind in traitors) ticker.mode.traitors -= traitor_mind