Revert "pls"

This reverts commit 8c97511871.
This commit is contained in:
Fermi
2019-11-24 03:04:04 +00:00
parent 4c1c257035
commit c8b206a4cf
3003 changed files with 63963 additions and 157107 deletions
@@ -1,6 +1,7 @@
#define VALUE_MODE_NUM 0
#define VALUE_MODE_TEXT 1
#define VALUE_MODE_FLAG 2
#define VALUE_MODE_NUM_LIST 3
#define KEY_MODE_TEXT 0
#define KEY_MODE_TYPE 1
@@ -191,6 +192,18 @@
if(VALUE_MODE_TEXT)
new_value = key_value
continue_check_value = new_value
if(VALUE_MODE_NUM_LIST)
// this is all copy+pasted from number list up there, but it's super basic so I don't see it being changed soon
var/list/new_list = list()
var/list/values = splittext(key_value," ")
for(var/I in values)
var/temp = text2num(I)
if(isnull(temp))
log_admin("invalid number list entry in [key_name]: [I]")
continue_check_value = FALSE
new_list += temp
new_value = new_list
continue_check_value = new_list.len
if(continue_check_value && continue_check_key && ValidateListEntry(new_key, new_value))
config_entry_value[new_key] = new_value
return TRUE
@@ -198,3 +211,27 @@
/datum/config_entry/keyed_list/vv_edit_var(var_name, var_value)
return var_name != "splitter" && ..()
//snowflake for donator things being on one line smh
/datum/config_entry/multi_keyed_flag
vv_VAS = FALSE
abstract_type = /datum/config_entry/multi_keyed_flag
config_entry_value = list()
var/delimiter = "|"
/datum/config_entry/multi_keyed_flag/vv_edit_var(var_name, var_value)
if(var_name == NAMEOF(src, delimiter))
return FALSE
return ..()
/datum/config_entry/multi_keyed_flag/ValidateAndSet(str_val)
if(!VASProcCallGuard(str_val))
return FALSE
str_val = trim(str_val)
var/list/keys = splittext(str_val, delimiter)
for(var/i in keys)
config_entry_value[process_key(i)] = TRUE
return length(keys)? TRUE : FALSE
/datum/config_entry/multi_keyed_flag/proc/process_key(key)
return trim(key)
@@ -34,7 +34,7 @@
if(_directory)
directory = _directory
if(entries)
CRASH("[THIS_PROC_TYPE_WEIRD] called more than once!")
CRASH("/datum/controller/configuration/Load() called more than once!")
InitEntries()
LoadModes()
if(fexists("[directory]/config.txt") && LoadEntries("config.txt") <= 1)
@@ -1,22 +1,23 @@
/datum/config_entry/keyed_list/donator_group
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_FLAG
abstract_type = /datum/config_entry/keyed_list/donator_group
/datum/config_entry/multi_keyed_flag/donator_group
abstract_type = /datum/config_entry/multi_keyed_flag/donator_group
//If we're in the middle of a config load, only do the regeneration afterwards to prevent this from wasting a massive amount of CPU for list regenerations.
/datum/config_entry/keyed_list/donator_group/ValidateAndSet(str_val, during_load)
/datum/config_entry/multi_keyed_flag/donator_group/ValidateAndSet(str_val, during_load)
. = ..()
if(. && during_load)
if(. && !during_load)
regenerate_donator_grouping_list()
/datum/config_entry/keyed_list/donator_group/OnPostload()
/datum/config_entry/multi_keyed_flag/donator_group/process_key(key)
return ckey(key)
/datum/config_entry/multi_keyed_flag/donator_group/OnPostload()
. = ..()
regenerate_donator_grouping_list()
//This is kinda weird in that the config entries are defined here but all the handling/calculations are in __HELPERS/donator_groupings.dm
/datum/config_entry/keyed_list/donator_group/tier_1_donators
/datum/config_entry/multi_keyed_flag/donator_group/tier_1_donators
/datum/config_entry/keyed_list/donator_group/tier_2_donators
/datum/config_entry/multi_keyed_flag/donator_group/tier_2_donators
/datum/config_entry/keyed_list/donator_group/tier_3_donators
/datum/config_entry/multi_keyed_flag/donator_group/tier_3_donators
@@ -0,0 +1,90 @@
/datum/config_entry/flag/dynamic_voting
/datum/config_entry/number/dynamic_high_pop_limit
config_entry_value = 55
min_val = 1
/datum/config_entry/number/dynamic_pop_per_requirement
config_entry_value = 6
min_val = 1
/datum/config_entry/number/dynamic_midround_delay_min
config_entry_value = 15
min_val = 1
/datum/config_entry/number/dynamic_midround_delay_max
config_entry_value = 35
min_val = 1
/datum/config_entry/number/dynamic_latejoin_delay_min
config_entry_value = 5
min_val = 1
/datum/config_entry/number/dynamic_latejoin_delay_max
config_entry_value = 25
min_val = 1
/datum/config_entry/number/dynamic_first_midround_delay_min
config_entry_value = 20
min_val = 1
/datum/config_entry/number/dynamic_first_midround_delay_max
config_entry_value = 40
min_val = 1
/datum/config_entry/number/dynamic_first_latejoin_delay_min
config_entry_value = 10
min_val = 1
/datum/config_entry/number/dynamic_first_latejoin_delay_max
config_entry_value = 30
min_val = 1
/datum/config_entry/keyed_list/dynamic_cost
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/keyed_list/dynamic_weight
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/keyed_list/dynamic_requirements
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM_LIST
/datum/config_entry/keyed_list/dynamic_high_population_requirement
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/number_list/dynamic_second_rule_requirements
/datum/config_entry/number_list/dynamic_third_rule_requirements
/datum/config_entry/number/dynamic_second_rule_high_pop_requirement
config_entry_value = 50
/datum/config_entry/number/dynamic_third_rule_high_pop_requirement
config_entry_value = 70
/datum/config_entry/number_list/dynamic_hijack_requirements
/datum/config_entry/number/dynamic_hijack_high_population_requirement
config_entry_value = 25
/datum/config_entry/number/dynamic_hijack_cost
config_entry_value = 5
/datum/config_entry/number/dynamic_glorious_death_cost
config_entry_value = 5
/datum/config_entry/number/dynamic_assassinate_cost
config_entry_value = 2
/datum/config_entry/number/dynamic_warops_requirement
config_entry_value = 60
min_val = 0
/datum/config_entry/number/dynamic_warops_cost
config_entry_value = 10
min_val = 0
@@ -66,10 +66,17 @@
/datum/config_entry/flag/disable_human_mood
/datum/config_entry/flag/disable_borg_flash_knockdown //Should borg flashes be capable of knocking humanoid entities down?
/datum/config_entry/flag/weaken_secborg //Brings secborgs and k9s back in-line with the other borg modules
/datum/config_entry/flag/disable_secborg // disallow secborg module to be chosen.
/datum/config_entry/flag/disable_peaceborg
/datum/config_entry/number/minimum_secborg_alert //Minimum alert level for secborgs to be chosen.
config_entry_value = 3
/datum/config_entry/number/traitor_scaling_coeff //how much does the amount of players get divided by to determine traitors
config_entry_value = 6
min_val = 1
@@ -132,6 +139,14 @@
min_val = 0
max_val = 1
/datum/config_entry/number/suicide_reenter_round_timer
config_entry_value = 30
min_val = 0
/datum/config_entry/number/roundstart_suicide_time_limit
config_entry_value = 30
min_val = 0
/datum/config_entry/number/shuttle_refuel_delay
config_entry_value = 12000
min_val = 0
@@ -141,6 +141,11 @@
/datum/config_entry/flag/load_legacy_ranks_only //Loads admin ranks only from legacy admin_ranks.txt, while enabled ranks are mirrored to the database
protection = CONFIG_ENTRY_LOCKED
/datum/config_entry/flag/mentors_mobname_only
/datum/config_entry/flag/mentor_legacy_system //Defines whether the server uses the legacy mentor system with mentors.txt or the SQL system
protection = CONFIG_ENTRY_LOCKED
/datum/config_entry/string/hostedby
/datum/config_entry/flag/norespawn
@@ -175,6 +180,9 @@
/datum/config_entry/string/banappeals
/datum/config_entry/string/wikiurl
config_entry_value = "https://katlin.dog/citadel-wiki"
/datum/config_entry/string/wikiurltg
config_entry_value = "http://www.tgstation13.org/wiki"
/datum/config_entry/string/forumurl