From 2290d77df4b11e97e6e18d21728b81a132fa0cbb Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Wed, 25 Apr 2012 00:59:01 +0100 Subject: [PATCH] TG: Adds a option to config.txt called PROTECT_ROLES_FROM_ANTAGONIST. If PROTECT_ROLES_FROM_ANTAGONIST is set, sec/hos/captain/AI cannot be antagonists in most modes If it is not set, only jobs that are mutually exclusive to the role (sec/head during rev, etc) are immune from being antagonist Revision: r3225 Author: VivianFoxfoot --- code/datums/configuration.dm | 8 ++++---- code/game/gamemodes/changeling/traitor_chan.dm | 6 ++++-- code/game/gamemodes/cult/cult.dm | 2 +- code/game/gamemodes/traitor/traitor.dm | 2 +- config/config.txt | 5 +++-- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/code/datums/configuration.dm b/code/datums/configuration.dm index 0cc853b6b2e..46b38c2f745 100644 --- a/code/datums/configuration.dm +++ b/code/datums/configuration.dm @@ -27,10 +27,10 @@ var/vote_period = 60 // length of voting period (seconds, default 1 minute) var/vote_no_default = 0 // vote does not default to nochange/norestart (tbi) var/vote_no_dead = 0 // dead people can't vote (tbi) - var/enable_authentication = 0 // goon authentication +// var/enable_authentication = 0 // goon authentication var/del_new_on_log = 1 // del's new players if they log before they spawn in var/feature_object_spell_system = 0 //spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard - var/traitor_scaling = 0 //if amount of traitors scales based on amount of players + var/traitor_scaling = 0 //if amount of traitors scales based on amount of players var/protect_roles_from_antagonist = 0// If security and such can be tratior/cult/other var/Tensioner_Active = 0 // If the tensioner is running. var/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1. @@ -198,8 +198,8 @@ if ("allow_ai") config.allow_ai = 1 - if ("authentication") - config.enable_authentication = 1 +// if ("authentication") +// config.enable_authentication = 1 if ("norespawn") config.respawn = 0 diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm index 3ed828f6a7e..d8bc72d945d 100644 --- a/code/game/gamemodes/changeling/traitor_chan.dm +++ b/code/game/gamemodes/changeling/traitor_chan.dm @@ -2,11 +2,10 @@ name = "traitor+changeling" config_tag = "traitorchan" traitors_possible = 3 //hard limit on traitors if scaling is turned off + restricted_jobs = list("AI", "Cyborg") required_players = 20 required_enemies = 2 - uplink_welcome = "Syndicate Uplink Console:" - uplink_uses = 10 /datum/game_mode/traitor/changeling/announce() world << "The current game mode is - Traitor+Changeling!" @@ -14,6 +13,9 @@ /datum/game_mode/traitor/changeling/pre_setup() + if(config.protect_roles_from_antagonist) + restricted_jobs += protected_jobs + var/list/datum/mind/possible_changelings = get_players_for_role(BE_CHANGELING) for(var/datum/mind/player in possible_changelings) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 938a8ec180a..0cb18c5ca6c 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -20,7 +20,7 @@ name = "cult" config_tag = "cult" restricted_jobs = list("AI", "Cyborg") -// protected_jobs = list("Security Officer", "Warden", "Detective", "Captain", "Head of Security") + protected_jobs = list("Security Officer", "Warden", "Detective", "Captain", "Head of Security") required_players = 3 required_enemies = 3 recommended_enemies = 4 diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 87c782a3dec..bb8cc21b11d 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -6,7 +6,7 @@ name = "traitor" config_tag = "traitor" restricted_jobs = list("Cyborg", "AI")//Approved by headmins for a week test, if you see this it would be nice if you didn't spread it everywhere -// protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain") required_players = 0 required_enemies = 1 recommended_enemies = 4 diff --git a/config/config.txt b/config/config.txt index 754551576ce..94468b193eb 100644 --- a/config/config.txt +++ b/config/config.txt @@ -75,6 +75,9 @@ ALLOW_RANDOM_EVENTS ## if amount of traitors scales or not TRAITOR_SCALING +## If security is prohibited from being most antagonists +#PROTECT_ROLES_FROM_ANTAGONIST + ## allow players to initiate a restart vote ALLOW_VOTE_RESTART @@ -96,8 +99,6 @@ DEFAULT_NO_VOTE ## allow AI job ALLOW_AI -## goon authentication -#AUTHENTICATION ## disable abandon mob NORESPAWN