diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index fe7f197b..5e822024 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -330,6 +330,9 @@ SUBSYSTEM_DEF(vote)
. += "
Vote: '[question]'
"
else
. += "Vote: [capitalize(mode)]
"
+ if(mode =="dynamic")
+ . += "\nSelect your chaos level.
"
+ . += "\nHigher values mean more antags and chaos.\n
"
. += "Time Left: [time_remaining] s
"
for(var/i=1,i<=choices.len,i++)
var/votes = choices[choices[i]]
diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm
index 8c89ce6d..a9076f0d 100644
--- a/code/game/gamemodes/dynamic/dynamic.dm
+++ b/code/game/gamemodes/dynamic/dynamic.dm
@@ -84,9 +84,9 @@ GLOBAL_VAR_INIT(dynamic_chaos_level, 1.5)
*/
var/pop_per_requirement = 6
/// The requirement used for checking if a second rule should be selected.
- var/list/second_rule_req = list(100, 100, 80, 70, 60, 50, 30, 20, 10, 0)
+ var/list/second_rule_req = list(101, 101, 100, 90, 80, 70, 60, 50, 40, 30)
/// The requirement used for checking if a third rule should be selected.
- var/list/third_rule_req = list(100, 100, 100, 90, 80, 70, 60, 50, 40, 30)
+ var/list/third_rule_req = list(101, 101, 101, 101, 100, 90, 80, 70, 60, 50)
/// Threat requirement for a second ruleset when high pop override is in effect.
var/high_pop_second_rule_req = 40
/// Threat requirement for a third ruleset when high pop override is in effect.
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
index 9bdd2503..027497ca 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
@@ -58,7 +58,7 @@
cost = 10
earliest_start = 50 MINUTES
blocking_rules = list(/datum/dynamic_ruleset/roundstart/nuclear,/datum/dynamic_ruleset/midround/from_ghosts/nuclear)
- requirements = list(70,60,50,50,40,40,40,30,20,15)
+ requirements = list(40,35,30,25,20,20,15,10,10,10)
//property_weights = list("story_potential" = 1, "trust" = 1, "chaos" = 1)
high_population_requirement = 15
occurances_max = 1
@@ -82,8 +82,8 @@
enemy_roles = list("AI","Security Officer","Head of Security","Captain")
required_enemies = list(2,2,1,1,0,0,0,0,0,0)
weight = 5
- cost = 10
- requirements = list(70,60,50,50,40,40,40,30,20,15)
+ cost = 5
+ requirements = list(30,30,25,20,15,15,10,10,10,10)
high_population_requirement = 15
//property_weights = list("chaos" = 1, "valid" = 1)
earliest_start = 30 MINUTES //Skyrat change.
@@ -165,11 +165,11 @@
typepath = /datum/round_event/meteor_wave
enemy_roles = list("Chief Engineer","Station Engineer","Atmospheric Technician","Captain","Cyborg")
required_enemies = list(2,2,2,2,2,2,2,2,2,2)
- cost = 15
+ cost = 0
weight = 3
earliest_start = 45 MINUTES
repeatable_weight_decrease = 2
- requirements = list(60,50,40,30,30,30,30,30,30,30)
+ requirements = list(20,20,15,15,15,15,15,15,10,10)
high_population_requirement = 30
//property_weights = list("extended" = -2)
occurances_max = 2
@@ -178,16 +178,16 @@
/datum/dynamic_ruleset/event/meteor_wave/ready()
if(world.time-SSticker.round_start_time > 35 MINUTES && mode.threat_level > 40 && mode.threat >= 25 && prob(30))
name = "Meteor Wave: Threatening"
- cost = 25
+ cost = 10
typepath = /datum/round_event/meteor_wave/threatening
else if(world.time-SSticker.round_start_time > 45 MINUTES && mode.threat_level > 50 && mode.threat >= 40 && prob(30))
name = "Meteor Wave: Catastrophic"
- cost = 40
+ cost = 15
typepath = /datum/round_event/meteor_wave/catastrophic
required_enemies = list(3,3,3,3,3,3,3,3,3,3)
else
name = "Meteor Wave: Normal"
- cost = 15
+ cost = 0
typepath = /datum/round_event/meteor_wave
return ..()
@@ -314,7 +314,7 @@
cost = 10
enemy_roles = list("Chief Engineer","Station Engineer","Atmospheric Technician","Research Director","Scientist","Captain","Cyborg")
required_enemies = list(1,1,1,1,0,0,0,0,0,0)
- requirements = list(50,40,30,25,20,15,10,10,10,10)
+ requirements = list(40,35,30,25,20,15,10,10,10,10)
high_population_requirement = 10
repeatable = TRUE
//property_weights = list("extended" = -1, "chaos" = 1)
@@ -328,7 +328,7 @@
weight = 7
repeatable_weight_decrease = 3
cost = 4
- requirements = list(101,20,15,10,10,10,10,10,10,10)
+ requirements = list(101,15,10,10,5,5,5,0,0,0)
high_population_requirement = 10
earliest_start = 10 MINUTES
repeatable = TRUE
@@ -345,7 +345,7 @@
repeatable_weight_decrease = 2
enemy_roles = list("Chief Engineer","Station Engineer")
required_enemies = list(1,1,1,0,0,0,0,0,0,0)
- requirements = list(5,5,5,10,10,10,10,15,15,15)
+ requirements = list(0,0,0,0,5,5,5,10,10,10)
high_population_requirement = 5
repeatable = TRUE
//property_weights = list("extended" = 1, "chaos" = 1)
@@ -360,7 +360,7 @@
repeatable_weight_decrease = 3
enemy_roles = list("Chief Engineer","Station Engineer")
required_enemies = list(1,1,1,1,1,1,1,1,1,1)
- requirements = list(101,101,10,10,10,15,15,15,15,15)
+ requirements = list(101,101,5,5,5,10,10,10,15,15)
high_population_requirement = 5
repeatable = TRUE
//property_weights = list("extended" = 1, "chaos" = 1)
@@ -376,7 +376,7 @@
repeatable_weight_decrease = 2
enemy_roles = list("Chief Engineer","Station Engineer")
required_enemies = list(1,1,1,0,0,0,0,0,0,0)
- requirements = list(5,5,5,5,5,5,5,5,5,5)
+ requirements = list(5,5,5,5,5,5,5,0,0,0)
high_population_requirement = 5
repeatable = TRUE
earliest_start = 0 MINUTES
@@ -393,7 +393,7 @@
repeatable_weight_decrease = 1
enemy_roles = list("Chief Engineer","Station Engineer")
required_enemies = list(2,2,2,2,2,2,2,2,2,2)
- requirements = list(20,15,15,10,10,10,10,10,10,10)
+ requirements = list(15,10,9,8,7,6,5,4,3,2)
high_population_requirement = 10
repeatable = TRUE
//property_weights = list("extended" = 1)
@@ -407,7 +407,7 @@
repeatable_weight_decrease = 2
enemy_roles = list("Chief Engineer","Station Engineer")
required_enemies = list(1,1,1,0,0,0,0,0,0,0)
- requirements = list(5,5,5,5,5,5,5,5,5,5)
+ requirements = list(5,5,4,3,2,1,1,0,0,0)
high_population_requirement = 5
repeatable = TRUE
occurances_max = 10
@@ -421,7 +421,7 @@
repeatable_weight_decrease = 1
enemy_roles = list("Medical Doctor","Chief Medical Officer")
required_enemies = list(2,2,2,2,2,2,2,2,2,2)
- requirements = list(101,101,101,5,5,5,5,5,5,5)
+ requirements = list(101,101,101,10,5,5,5,5,5,5)
high_population_requirement = 5
repeatable = TRUE
occurances_max = 2
@@ -477,7 +477,7 @@
weight = 1
earliest_start = 40 MINUTES
enemy_roles = list("AI","Security Officer","Head of Security","Captain","Station Engineer","Atmos Technician","Chief Engineer")
- required_enemies = list(4,4,4,4,3,3,3,3,3,3)
+ required_enemies = list(4,4,4,4,3,3,3,3,3,2)
requirements = list(101,101,101,101,50,45,40,35,30,30)
high_population_requirement = 5
//property_weights = list("extended" = -2)
@@ -489,7 +489,7 @@
//config_tag = "sentient_disease"
typepath = /datum/round_event/ghost_role/sentient_disease
enemy_roles = list("Virologist","Chief Medical Officer","Captain","Chemist")
- required_enemies = list(2,1,1,1,0,0,0,0,0,0)
+ required_enemies = list(2,1,1,1,1,1,1,0,0,0)
required_candidates = 1
weight = 4
cost = 5
@@ -504,11 +504,11 @@
//config_tag = "revenant"
typepath = /datum/round_event/ghost_role/revenant
enemy_roles = list("Chief Engineer","Station Engineer","Captain","Chaplain","AI")
- required_enemies = list(2,1,1,1,0,0,0,0,0,0)
+ required_enemies = list(2,1,1,1,1,1,1,1,0,0)
required_candidates = 1
weight = 3
cost = 5
- requirements = list(101,40,35,30,20,15,15,15,15,15)
+ requirements = list(101,40,35,30,20,15,15,15,10,5)
high_population_requirement = 15
//property_weights = list("story_potential" = -2, "extended" = -1)
occurances_max = 1 //Skyrat change.
@@ -519,7 +519,7 @@
typepath = /datum/round_event/immovable_rod
enemy_roles = list("Research Director","Chief Engineer","Station Engineer","Captain","Chaplain","AI")
required_enemies = list(2,2,2,2,2,2,1,1,1,1)
- requirements = list(101,101,40,30,30,20,15,15,15,15)
+ requirements = list(101,101,20,20,18,16,14,12,10,8)
high_population_requirement = 15
cost = 10
occurances_max = 2
@@ -576,7 +576,7 @@
enemy_roles = list("Virologist","Chief Medical Officer","Captain","Chemist")
required_enemies = list(2,1,1,1,0,0,0,0,0,0)
typepath = /datum/round_event/disease_outbreak
- requirements = list(10,10,10,5,5,5,5,5,5,5)
+ requirements = list(5,5,4,3,3,2,2,1,1,0)
high_population_requirement = 5
weight = 5
cost = 5
@@ -597,6 +597,7 @@
typepath = /datum/round_event/grid_check
requirements = list(5,5,5,5,5,5,0,0,0,0) //Can actually cause problems
high_population_requirement = 0
+ cost = 4
weight = 5
repeatable = TRUE
occurances_max = 2
@@ -626,7 +627,7 @@
typepath = /datum/round_event/grey_tide
enemy_roles = list("Chief Engineer","Station Engineer","Captain","Atmospheric Technician","AI","Cyborg")
required_enemies = list(3,2,2,2,2,2,1,1,1,1)
- requirements = list(101,20,15,15,10,10,5,5,5,5)
+ requirements = list(101,15,15,10,10,10,5,5,5,5)
high_population_requirement = 0
repeatable = TRUE
weight = 5
@@ -644,7 +645,7 @@
typepath = /datum/round_event/shuttle_loan
enemy_roles = list("Quartermaster","Cargo Technician")
required_enemies = list(1,1,1,1,1,1,1,1,1,1)
- requirements = list(10,10,10,5,5,5,0,0,0,0)
+ requirements = list(5,5,5,5,5,5,0,0,0,0)
high_population_requirement = 0
weight = 10
repeatable = TRUE
@@ -655,7 +656,8 @@
typepath = /datum/round_event/spacevine
enemy_roles = list("Cook","Botanist","Security Officer","Captain","Station Engineer")
required_enemies = list(2,2,2,1,1,1,1,1,1,1)
- requirements = list(101,30,25,20,15,15,10,10,10,10)
+ requirements = list(101,101,10,9,8,7,5,5,5,0)
+ cost = 5
high_population_requirement = 0
weight = 8
repeatable_weight_decrease = 5
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
index e5452a44..ee5e0a18 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
@@ -199,7 +199,7 @@
high_population_requirement = 10
flags = TRAITOR_RULESET
chaos_min = 2.0
- chaos_max = 3.0
+ chaos_max = 3.5
/datum/dynamic_ruleset/midround/autotraitor/acceptable(population = 0, threat = 0)
var/player_count = mode.current_players[CURRENT_LIVING_PLAYERS].len
@@ -337,7 +337,7 @@
required_candidates = 5
weight = 5
cost = 35
- requirements = list(101,90,90,80,70,60,50,50,50,50)
+ requirements = list(101,101,101,90,80,70,60,50,50,50)
high_population_requirement = 10
var/operative_cap = list(2,2,3,3,4,5,5,5,5,5)
var/datum/team/nuclear/nuke_team
@@ -405,7 +405,7 @@
required_candidates = 1
weight = 3
cost = 10
- requirements = list(101,101,101,80,70,70,60,50,40,30)
+ requirements = list(101,101,100,80,70,70,60,50,40,30)
high_population_requirement = 50
repeatable = TRUE
var/list/vents = list()
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
index 66aad39b..3582d41e 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
@@ -36,7 +36,7 @@
high_population_requirement = 10
//var/autotraitor_cooldown = 450 // 15 minutes (ticks once per 2 sec)
chaos_min = 2.0
- chaos_max = 3.0 //To remove excess tator weight from the spicy rounds
+ chaos_max = 3.5 //To remove excess tator weight from the spicy rounds
/datum/dynamic_ruleset/roundstart/traitor/pre_execute()
var/traitor_scaling_coeff = 10 - max(0,round(mode.threat_level/10)-5) // Above 50 threat level, coeff goes down by 1 for every 10 levels
@@ -75,7 +75,8 @@
required_candidates = 2
weight = 4
cost = 10
- requirements = list(101,50,50,40,40,20,20,20,20,20)
+ //requirements = list(101,50,50,40,40,20,20,20,20,20)
+ requirements = list(101,101,101,101,101,101,101,101,101,101) //Disabled
high_population_requirement = 15
var/list/datum/team/brother_team/pre_brother_teams = list()
var/const/team_amount = 2 // Hard limit on brother teams if scaling is turned off
@@ -128,7 +129,7 @@
required_candidates = 1
weight = 3
cost = 30
- requirements = list(101,101,101,50,40,40,30,30,20,10)
+ requirements = list(101,101,80,60,40,40,30,30,20,10)
high_population_requirement = 10
var/team_mode_probability = 30
chaos_min = 3.0
@@ -178,7 +179,7 @@
required_candidates = 1
weight = 1
cost = 30
- requirements = list(101,90,70,40,30,20,10,10,10,10)
+ requirements = list(101,101,101,80,60,50,40,30,30,20)
high_population_requirement = 10
var/list/roundstart_wizards = list()
chaos_min = 3.5
@@ -231,7 +232,8 @@
flags = HIGHLANDER_RULESET
var/cultist_cap = list(2,2,2,3,3,4,4,4,4,4)
var/datum/team/cult/main_cult
- chaos_min = 4.5
+ chaos_min = 4.9
+ admin_required = TRUE
/datum/dynamic_ruleset/roundstart/bloodcult/ready(forced = FALSE)
var/indice_pop = min(10,round(mode.roundstart_pop_ready/pop_per_requirement)+1)
@@ -286,7 +288,7 @@
required_candidates = 5
weight = 3
cost = 40
- requirements = list(101,95,90,85,80,50,40,30,30,20)
+ requirements = list(101,101,100,90,85,70,50,30,30,20)
high_population_requirement = 10
pop_per_requirement = 5
flags = HIGHLANDER_RULESET
@@ -377,7 +379,7 @@
required_candidates = 3
weight = 2
cost = 35
- requirements = list(101,101,101,40,30,20,20,20,20,20)
+ requirements = list(101,101,100,80,70,60,50,40,30,20)
high_population_requirement = 10
delay = 5 MINUTES
flags = HIGHLANDER_RULESET
@@ -385,7 +387,8 @@
minimum_players = 35
var/datum/team/revolution/revolution
var/finished = 0
- chaos_min = 3.5
+ chaos_min = 4.9
+ admin_required = TRUE
/datum/dynamic_ruleset/roundstart/delayed/revs/execute()
var/max_canditates = 4
@@ -488,11 +491,12 @@
required_candidates = 4
weight = 3
cost = 0
- requirements = list(101,100,90,80,70,60,50,50,40,30)
+ requirements = list(101,101,101,95,90,80,60,50,40,30)
high_population_requirement = 101
flags = HIGHLANDER_RULESET
var/ark_time
- chaos_min = 4.0
+ chaos_min = 4.9
+ admin_required = TRUE
/datum/dynamic_ruleset/roundstart/clockcult/pre_execute()
var/list/errorList = list()