Traitor scale added to game_options.txt

-Added traitor_scaling_coeff and changeling_scaling_coeff to server configuration files, allowing server operators to adjust the values to their preference.
-Updated changelog
This commit is contained in:
Ikarrus
2013-06-09 12:32:58 -06:00
parent 9e719a5e56
commit 19285384ef
8 changed files with 38 additions and 29 deletions
+10 -6
View File
@@ -76,7 +76,9 @@
var/allow_random_events = 0 // enables random events mid-round when set to 1
var/allow_ai = 1 // allow ai job
var/traitor_scaling = 0 //if amount of traitors scales based on amount of players
var/traitor_scaling_coeff = 6 //how much does the amount of players get divided by to determine traitors
var/changeling_scaling_coeff = 10 //how much does the amount of players get divided by to determine changelings
var/protect_roles_from_antagonist = 0// If security and such can be tratior/cult/other
var/allow_latejoin_antagonists = 0 // If late-joining players can be traitor/changeling
var/continuous_round_rev = 0 // Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke.
@@ -318,15 +320,17 @@
if("gateway_delay")
config.gateway_delay = text2num(value)
if("continuous_round_rev")
config.continuous_round_rev = 1
config.continuous_round_rev = 1
if("continuous_round_wiz")
config.continuous_round_wiz = 1
config.continuous_round_wiz = 1
if("continuous_round_malf")
config.continuous_round_malf = 1
config.continuous_round_malf = 1
if("ghost_interaction")
config.ghost_interaction = 1
if("traitor_scaling")
config.traitor_scaling = 1
if("traitor_scaling_coeff")
config.traitor_scaling_coeff = text2num(value)
if("changeling_scaling_coeff")
config.changeling_scaling_coeff = text2num(value)
if("probability")
var/prob_pos = findtext(value, " ")
var/prob_name = null
+4 -5
View File
@@ -37,7 +37,6 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds)
var/const/changeling_amount = 4 //hard limit on changelings if scaling is turned off
var/const/changeling_scaling_coeff = 10 //how much does the amount of players get divided by to determine changelings
/datum/game_mode/changeling/announce()
world << "<B>The current game mode is - Changeling!</B>"
@@ -52,8 +51,8 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
var/num_changelings = 1
if(config.traitor_scaling)
num_changelings = max(1, round((num_players())/(changeling_scaling_coeff)))
if(config.changeling_scaling_coeff)
num_changelings = max(1, round((num_players())/(config.changeling_scaling_coeff)))
else
num_changelings = max(1, min(num_players(), changeling_amount))
@@ -87,9 +86,9 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
return
/datum/game_mode/changeling/make_antag_chance(var/mob/living/carbon/human/character) //Assigns changeling to latejoiners
if(changelings.len >= round(joined_player_list.len / changeling_scaling_coeff) + 1) //Caps number of latejoin antagonists
if(changelings.len >= round(joined_player_list.len / config.changeling_scaling_coeff) + 1) //Caps number of latejoin antagonists
return
if (prob(100/changeling_scaling_coeff))
if (prob(100/config.changeling_scaling_coeff))
if(character.client.prefs.be_special & BE_CHANGELING)
if(!jobban_isbanned(character.client, "changeling") && !jobban_isbanned(character.client, "Syndicate"))
if(!(character.job in ticker.mode.restricted_jobs))
@@ -8,7 +8,6 @@
recommended_enemies = 3
var/const/changeling_amount = 1 //hard limit on changelings if scaling is turned off
var/const/changeling_scaling_coeff = 25 //how much does the amount of players get divided by to determine changelings
/datum/game_mode/traitor/changeling/announce()
world << "<B>The current game mode is - Traitor+Changeling!</B>"
@@ -23,8 +22,8 @@
var/num_changelings = 1
if(config.traitor_scaling)
num_changelings = max(1, round((num_players())/(changeling_scaling_coeff)))
if(config.changeling_scaling_coeff)
num_changelings = max(1, round((num_players())/(config.changeling_scaling_coeff*2)))
else
num_changelings = max(1, min(num_players(), changeling_amount))
@@ -54,9 +53,9 @@
return
/datum/game_mode/traitor/changeling/make_antag_chance(var/mob/living/carbon/human/character) //Assigns changeling to latejoiners
if(changelings.len >= round(joined_player_list.len / changeling_scaling_coeff) + 1) //Caps number of latejoin antagonists
if(changelings.len >= round(joined_player_list.len / (config.changeling_scaling_coeff*2)) + 1) //Caps number of latejoin antagonists
return
if (prob(100/changeling_scaling_coeff))
if (prob(100/(config.changeling_scaling_coeff*2)))
if(character.client.prefs.be_special & BE_CHANGELING)
if(!jobban_isbanned(character.client, "changeling") && !jobban_isbanned(character.client, "Syndicate"))
if(!(character.job in ticker.mode.restricted_jobs))
+5 -6
View File
@@ -19,7 +19,6 @@
var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds)
var/traitors_possible = 4 //hard limit on traitors if scaling is turned off
var/const/traitor_scaling_coeff = 5.0 //how much does the amount of players get divided by to determine traitors
/datum/game_mode/traitor/announce()
@@ -40,8 +39,8 @@
var/num_traitors = 1
if(config.traitor_scaling)
num_traitors = max(1, round((num_players())/(traitor_scaling_coeff)))
if(config.traitor_scaling_coeff)
num_traitors = max(1, round((num_players())/(config.traitor_scaling_coeff)))
else
num_traitors = max(1, min(num_players(), traitors_possible))
@@ -78,9 +77,9 @@
return 1
/datum/game_mode/traitor/make_antag_chance(var/mob/living/carbon/human/character) //Assigns traitor to latejoiners
if(traitors.len >= round(joined_player_list.len / traitor_scaling_coeff) + 1) //Caps number of latejoin antagonists
if(traitors.len >= round(joined_player_list.len / config.traitor_scaling_coeff) + 1) //Caps number of latejoin antagonists
return
if (prob(100/traitor_scaling_coeff))
if (prob(100/config.traitor_scaling_coeff))
if(character.client.prefs.be_special & BE_TRAITOR)
if(!jobban_isbanned(character.client, "traitor") && !jobban_isbanned(character.client, "Syndicate"))
if(!(character.job in ticker.mode.restricted_jobs))
@@ -284,4 +283,4 @@
else
traitor_mob << "Unfortunately, the Syndicate did not provide you with a code response."
traitor_mob << "Use the code words in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe."
//End code phrase.
//End code phrase.
-1
View File
@@ -69,7 +69,6 @@ var/secret_force_mode = "secret" // if this is anything but "secret", the secret
var/host = null
var/ooc_allowed = 1
var/dooc_allowed = 1
var/traitor_scaling = 1
var/dna_ident = 1
var/abandon_allowed = 1
var/enter_allowed = 1
+2 -2
View File
@@ -548,7 +548,7 @@ var/global/floorIsLava = 0
log_admin("[key_name(usr)] toggled OOC.")
message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1)
feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/*
/datum/admins/proc/toggletraitorscaling()
set category = "Server"
set desc="Toggle traitor scaling"
@@ -557,7 +557,7 @@ var/global/floorIsLava = 0
log_admin("[key_name(usr)] toggled Traitor Scaling to [traitor_scaling].")
message_admins("[key_name_admin(usr)] toggled Traitor Scaling [traitor_scaling ? "on" : "off"].", 1)
feedback_add_details("admin_verb","TTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
*/
/datum/admins/proc/startnow()
set category = "Server"
set desc="Start the round RIGHT NOW"
+5 -3
View File
@@ -97,9 +97,11 @@ PROBABILITY SANDBOX 0
#CONTINUOUS_ROUND_MALF
## Uncomment to scale the number of antagonists to crew population. Doesn't
## affect all gamemodes.
#TRAITOR_SCALING
## Variables calculate how number of antagonists will scale to population.
## Used as (Antagonists = Population / Coeff)
## Set to 0 to disable scaling and use default numbers instead.
TRAITOR_SCALING_COEFF 6
CHANGELING_SCALING_COEFF 10
## Uncomment to prohibit jobs that start with loyalty
## implants from being most antagonists.
+8 -1
View File
@@ -51,7 +51,14 @@ should be listed in the changelog upon commit tho. Thanks. -->
<!-- You can simply add changelogs using AddToChangelog.exe -->
<!-- DO NOT REMOVE OR MOVE THIS COMMENT! THIS MUST BE THE LAST NON-EMPTY LINE BEFORE THE LOGS #ADDTOCHANGELOGMARKER# -->
<!-- DO NOT REMOVE OR MOVE THIS COMMENT! THIS MUST BE THE LAST NON-EMPTY LINE BEFORE THE LOGS #ADDTOCHANGELOGMARKER# --><div class='commit sansserif'>
<h2 class='date'>9 June 2013</h2>
<h3 class='author'>Ikarrus updated:</h3>
<ul class='changes bgimages16'>
<li class='rscadd'>Server operators may now allow latejoiners to become antagonists. Check game_options.txt for more information.</li>
<li class='rscadd'>Server operators may now set how traitors and changelings scale to population. Check game_options.txt for more information.</li>
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>6 June 2013</h2>