Rebalances some event player counts

This commit is contained in:
Putnam3145
2022-07-28 16:18:35 -07:00
parent f98e15fe63
commit 01c945d690
13 changed files with 41 additions and 22 deletions

View File

@@ -2,7 +2,6 @@
name = "Anomaly: Hyper-Energetic Flux"
typepath = /datum/round_event/anomaly/anomaly_flux
min_players = 10
max_occurrences = 5
weight = 20

View File

@@ -2,6 +2,7 @@
name = "Anomaly: Pyroclastic"
typepath = /datum/round_event/anomaly/anomaly_pyro
min_players = 5
max_occurrences = 5
weight = 20

View File

@@ -1,8 +1,8 @@
/datum/round_event_control/atmos_flux
name = "Atmospheric Flux"
typepath = /datum/round_event/atmos_flux
max_occurrences = 1
weight = 5
max_occurrences = 5
weight = 10
endWhen = 600
var/original_speed

View File

@@ -6,7 +6,7 @@
/datum/round_event_control/brain_trauma/canSpawnEvent(var/players_amt, var/gamemode)
if(!..()) return FALSE
var/list/enemy_roles = list("Medical Doctor","Chief Medical Officer","Paramedic")
var/list/enemy_roles = list("Medical Doctor","Chief Medical Officer","Paramedic","AI","Chemist","Virologist","Captain","Head of Personnel","Roboticist")
for (var/mob/M in GLOB.alive_mob_list)
if(M.stat != DEAD && (M.mind?.assigned_role in enemy_roles))
return TRUE

View File

@@ -2,7 +2,7 @@
name = "Cat Surgeon"
typepath = /datum/round_event/cat_surgeon
max_occurrences = 1
weight = 8
weight = 5
/datum/round_event/cat_surgeon/announce(fake)
priority_announce("One of our... ahem... 'special' cases has escaped. As it happens their last known location before their tracker went dead is your station so keep an eye out for them. On an unrelated note, has anyone seen our cats?",

View File

@@ -2,7 +2,7 @@
name = "Disease Outbreak"
typepath = /datum/round_event/disease_outbreak
max_occurrences = 1
min_players = 10
min_players = 3
weight = 5
/datum/round_event/disease_outbreak
@@ -12,6 +12,13 @@
var/max_severity = 3
/datum/round_event_control/disease_outbreak/canSpawnEvent(var/players_amt, var/gamemode)
if(!..()) return FALSE
var/list/enemy_roles = list("Medical Doctor","Chief Medical Officer","Paramedic","AI","Chemist","Virologist","Captain","Head of Personnel", "Geneticist")
for (var/mob/M in GLOB.alive_mob_list)
if(M.stat != DEAD && (M.mind?.assigned_role in enemy_roles))
return TRUE
return FALSE
/datum/round_event/disease_outbreak/announce(fake)
priority_announce("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", "outbreak7")
@@ -22,7 +29,10 @@
/datum/round_event/disease_outbreak/start()
var/advanced_virus = FALSE
max_severity = 3 + max(FLOOR((world.time - control.earliest_start)/6000, 1),0) //3 symptoms at 20 minutes, plus 1 per 10 minutes
var/player_count = get_active_player_count(alive_check = TRUE, afk_check = TRUE, human_check = TRUE)
max_severity = 1 + max(FLOOR((world.time - control.earliest_start)/6000, 1),0) //3 symptoms at 20 minutes, plus 1 per 10 minutes
max_severity += player_count > 5
max_severity += player_count > 10
if(prob(20 + (10 * max_severity)))
advanced_virus = TRUE

View File

@@ -17,9 +17,10 @@
/datum/round_event_control/sandstorm
name = "Sandstorm"
typepath = /datum/round_event/sandstorm
weight = 0
max_occurrences = 0
earliest_start = 0 MINUTES
weight = 5
max_occurrences = 1
min_players = 5
earliest_start = 20 MINUTES
/datum/round_event/sandstorm
startWhen = 1

View File

@@ -1,9 +1,17 @@
/datum/round_event_control/heart_attack
name = "Random Heart Attack"
typepath = /datum/round_event/heart_attack
weight = 20
weight = 10
max_occurrences = 2
min_players = 40 // To avoid shafting lowpop
min_players = 10 // To avoid shafting lowpop
/datum/round_event_control/heart_attack/canSpawnEvent(var/players_amt, var/gamemode)
if(!..()) return FALSE
var/list/enemy_roles = list("Medical Doctor","Chief Medical Officer","Paramedic","Chemist")
for (var/mob/M in GLOB.alive_mob_list)
if(M.stat != DEAD && (M.mind?.assigned_role in enemy_roles))
return TRUE
return FALSE
/datum/round_event/heart_attack/start()
var/list/heart_attack_contestants = list()

View File

@@ -2,7 +2,7 @@
name = "Mass Hallucination"
typepath = /datum/round_event/mass_hallucination
weight = 10
max_occurrences = 2
max_occurrences = 5
min_players = 1
var/forced_hallucination

View File

@@ -2,7 +2,7 @@
name = "Supermatter Surge"
typepath = /datum/round_event/supermatter_surge
weight = 20
max_occurrences = 4
max_occurrences = 5
earliest_start = 10 MINUTES
/datum/round_event_control/supermatter_surge/canSpawnEvent()
@@ -37,7 +37,7 @@
/datum/round_event/supermatter_surge/start()
var/obj/machinery/power/supermatter_crystal/supermatter = GLOB.main_supermatter_engine
var/power_proportion = supermatter.powerloss_inhibitor/2 // what % of the power goes into matter power, at most 50%
var/power_proportion = supermatter.powerloss_inhibitor * 0.75 // what % of the power goes into matter power, at most 50%
// we reduce the proportion that goes into actual matter power based on powerloss inhibitor
// primarily so the supermatter doesn't tesla the instant these happen
supermatter.matter_power += power * power_proportion

View File

@@ -1,8 +1,8 @@
/datum/round_event_control/supernova
name = "Supernova"
typepath = /datum/round_event/supernova
weight = 10
max_occurrences = 2
weight = 5
max_occurrences = 1
min_players = 2
/datum/round_event/supernova

View File

@@ -3,7 +3,6 @@
typepath = /datum/round_event/vent_clog
weight = 10
max_occurrences = 3
min_players = 25
/datum/round_event/vent_clog
announceWhen = 1
@@ -11,7 +10,7 @@
endWhen = 35
var/interval = 2
var/list/vents = list()
var/randomProbability = 1
var/randomProbability = 0
var/reagentsAmount = 100
var/list/saferChems = list(
/datum/reagent/water,
@@ -92,7 +91,7 @@
var/datum/reagents/R = new/datum/reagents(1000)
R.my_atom = vent
if (prob(randomProbability))
if (randomProbability && prob(randomProbability))
R.add_reagent(get_random_reagent_id(), reagentsAmount)
else
R.add_reagent(pick(saferChems), reagentsAmount)
@@ -106,7 +105,7 @@
name = "Clogged Vents: Threatening"
typepath = /datum/round_event/vent_clog/threatening
weight = 4
min_players = 35
min_players = 15
max_occurrences = 1
earliest_start = 35 MINUTES
@@ -118,7 +117,7 @@
name = "Clogged Vents: Catastrophic"
typepath = /datum/round_event/vent_clog/catastrophic
weight = 2
min_players = 45
min_players = 25
max_occurrences = 1
earliest_start = 45 MINUTES