mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Configuration Controller (#7857)
This commit is contained in:
@@ -28,7 +28,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT
|
||||
if(!next_event_time)
|
||||
set_event_delay()
|
||||
|
||||
if(delayed || !config.allow_random_events)
|
||||
if(delayed || !CONFIG_GET(flag/allow_random_events)) // CHOMPEdit
|
||||
next_event_time += (world.time - last_world_time)
|
||||
else if(world.time > next_event_time)
|
||||
start_event()
|
||||
@@ -85,16 +85,28 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT
|
||||
var/last_time = last_event_time[EM]
|
||||
if(last_time)
|
||||
var/time_passed = world.time - last_time
|
||||
var/weight_modifier = max(0, round((config.expected_round_length - time_passed) / 300))
|
||||
var/weight_modifier = max(0, round((CONFIG_GET(number/expected_round_length) - time_passed) / 300)) // CHOMPEdit
|
||||
weight = weight - weight_modifier
|
||||
|
||||
return weight
|
||||
|
||||
/datum/event_container/proc/set_event_delay()
|
||||
// CHOMPEdit Start
|
||||
var/list/event_delays
|
||||
|
||||
switch(severity)
|
||||
if(EVENT_LEVEL_MUNDANE)
|
||||
event_delays = CONFIG_GET(keyed_list/event_first_run_mundane)
|
||||
if(EVENT_LEVEL_MODERATE)
|
||||
event_delays = CONFIG_GET(keyed_list/event_first_run_moderate)
|
||||
if(EVENT_LEVEL_MAJOR)
|
||||
event_delays = CONFIG_GET(keyed_list/event_first_run_major)
|
||||
|
||||
// If the next event time has not yet been set and we have a custom first time start
|
||||
if(next_event_time == 0 && config.event_first_run[severity])
|
||||
var/lower = config.event_first_run[severity]["lower"]
|
||||
var/upper = config.event_first_run[severity]["upper"]
|
||||
if(next_event_time == 0 && event_delays)
|
||||
var/lower = (event_delays["lower"] MINUTES)
|
||||
var/upper = (event_delays["upper"] MINUTES)
|
||||
// CHOMPEdit End
|
||||
var/event_delay = rand(lower, upper)
|
||||
next_event_time = world.time + event_delay
|
||||
// Otherwise, follow the standard setup process
|
||||
@@ -113,7 +125,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT
|
||||
playercount_modifier = 0.8
|
||||
playercount_modifier = playercount_modifier * delay_modifier
|
||||
|
||||
var/event_delay = rand(config.event_delay_lower[severity], config.event_delay_upper[severity]) * playercount_modifier
|
||||
var/event_delay = rand(CONFIG_GET(number_list/event_delay_lower)[severity] MINUTES, CONFIG_GET(number_list/event_delay_upper)[severity] MINUTES) * playercount_modifier // CHOMPEdit
|
||||
next_event_time = world.time + event_delay
|
||||
|
||||
log_debug("Next event of severity [severity_to_string[severity]] in [(next_event_time - world.time)/600] minutes.")
|
||||
|
||||
@@ -24,7 +24,7 @@ var/list/event_last_fired = list()
|
||||
|
||||
//Always triggers an event when called, dynamically chooses events based on job population
|
||||
/proc/spawn_dynamic_event()
|
||||
if(!config.allow_random_events)
|
||||
if(!CONFIG_GET(flag/allow_random_events)) // CHOMPEdit
|
||||
return
|
||||
|
||||
var/minutes_passed = world.time/600
|
||||
@@ -236,10 +236,10 @@ var/list/event_last_fired = list()
|
||||
|
||||
if(M.mind.assigned_role == "Botanist")
|
||||
active_with_role["Botanist"]++
|
||||
|
||||
|
||||
if(M.mind.assigned_role == "Head of Security") //CHOMP Add
|
||||
active_with_role["Head of Security"]++ //CHOMP Add
|
||||
|
||||
|
||||
if(M.mind.assigned_role == "Warden") //CHOMP Add
|
||||
active_with_role["Warden"]++ //CHOMP Add
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/datum/controller/subsystem/events/proc/GetInteractWindow()
|
||||
var/html = "<A align='right' href='?src=\ref[src];refresh=1'>Refresh</A>"
|
||||
html += "<A align='right' href='?src=\ref[src];pause_all=[!config.allow_random_events]'>Pause All - [config.allow_random_events ? "Pause" : "Resume"]</A>"
|
||||
html += "<A align='right' href='?src=\ref[src];pause_all=[!CONFIG_GET(flag/allow_random_events)]'>Pause All - [CONFIG_GET(flag/allow_random_events) ? "Pause" : "Resume"]</A>" // CHOMPEdit
|
||||
|
||||
if(selected_event_container)
|
||||
var/event_time = max(0, selected_event_container.next_event_time - world.time)
|
||||
@@ -153,8 +153,8 @@
|
||||
EC.delayed = !EC.delayed
|
||||
log_and_message_admins("has [EC.delayed ? "paused" : "resumed"] countdown for [severity_to_string[EC.severity]] events.")
|
||||
else if(href_list["pause_all"])
|
||||
config.allow_random_events = text2num(href_list["pause_all"])
|
||||
log_and_message_admins("has [config.allow_random_events ? "resumed" : "paused"] countdown for all events.")
|
||||
CONFIG_SET(flag/allow_random_events, text2num(href_list["pause_all"])) // CHOMPEdit
|
||||
log_and_message_admins("has [CONFIG_GET(flag/allow_random_events) ? "resumed" : "paused"] countdown for all events.") // CHOMPEdit
|
||||
else if(href_list["interval"])
|
||||
var/delay = tgui_input_number(usr, "Enter delay modifier. A value less than one means events fire more often, higher than one less often.", "Set Interval Modifier")
|
||||
if(delay && delay > 0)
|
||||
|
||||
Reference in New Issue
Block a user