From a105852042c00f232c5b57c25dea7abc23547033 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Thu, 5 Oct 2023 21:15:11 -0300 Subject: [PATCH] the stuff MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Марк --- .../controllers/configuration/config_entry.dm | 90 +++++++++++++------ .../configuration/configuration.dm | 10 +++ .../configuration/entries/admin.dm | 6 +- .../configuration/entries/alert.dm | 18 ++-- .../configuration/entries/antag_rep.dm | 6 +- code/controllers/configuration/entries/bot.dm | 2 +- .../configuration/entries/connections.dm | 42 ++++----- .../configuration/entries/dbconfig.dm | 16 ++-- .../configuration/entries/debris.dm | 6 +- .../configuration/entries/dynamic.dm | 38 ++++---- .../configuration/entries/fetish_content.dm | 24 +++-- .../configuration/entries/gamemodes.dm | 18 ++-- .../configuration/entries/general.dm | 87 +++++++++--------- .../controllers/configuration/entries/jexp.dm | 2 +- .../configuration/entries/logging.dm | 58 ++++++------ .../configuration/entries/movespeed.dm | 24 ++--- .../configuration/entries/persistence.dm | 8 +- .../configuration/entries/plushies.dm | 2 +- .../configuration/entries/policy.dm | 2 +- .../configuration/entries/respawns.dm | 16 ++-- .../configuration/entries/security.dm | 16 ++-- .../configuration/entries/server.dm | 22 ++--- .../configuration/entries/stamina_combat.dm | 14 +-- .../controllers/configuration/entries/urls.dm | 12 +-- .../controllers/configuration/entries/vote.dm | 16 ++-- code/datums/station_traits/neutral_traits.dm | 10 +-- code/modules/client/preferences.dm | 10 +-- code/modules/client/preferences_savefile.dm | 5 +- code/modules/error_handler/error_handler.dm | 6 +- code/modules/error_handler/error_viewer.dm | 2 +- config/entries/general.txt | 17 ++++ strings/randomizing_station_name_messages.txt | 15 ---- 32 files changed, 331 insertions(+), 289 deletions(-) delete mode 100644 strings/randomizing_station_name_messages.txt diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index ea5c861cd4..c175e2efb4 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -7,40 +7,58 @@ #define KEY_MODE_TYPE 1 /datum/config_entry - var/name //read-only, this is determined by the last portion of the derived entry type + /// Read-only, this is determined by the last portion of the derived entry type + var/name + /// The configured value for this entry. This shouldn't be initialized in code, instead set default var/config_entry_value - var/default //read-only, just set value directly - - var/resident_file //the file which this was loaded from, if any - var/modified = FALSE //set to TRUE if the default has been overridden by a config entry - - var/deprecated_by //the /datum/config_entry type that supercedes this one - + /// Read-only default value for this config entry, used for resetting value to defaults when necessary. This is what config_entry_value is initially set to + var/default + /// The file which this was loaded from, if any + var/resident_file + /// Set to TRUE if the default has been overridden by a config entry + var/modified = FALSE + /// The config name of a configuration type that depricates this, if it exists + var/deprecated_by + /// The /datum/config_entry type that supercedes this one var/protection = NONE - var/abstract_type = /datum/config_entry //do not instantiate if type matches this - - var/vv_VAS = TRUE //Force validate and set on VV. VAS proccall guard will run regardless. - var/postload_required = FALSE //requires running OnPostload() - + /// Do not instantiate if type matches this + var/abstract_type = /datum/config_entry + /// Force validate and set on VV. VAS proccall guard will run regardless. + var/vv_VAS = TRUE + /// Requires running OnPostload() + var/postload_required = FALSE + /// Controls if error is thrown when duplicate configuration values for this entry type are encountered var/dupes_allowed = FALSE + /// Stores the original protection configuration, used for set_default() + var/default_protection /datum/config_entry/New() if(type == abstract_type) CRASH("Abstract config entry [type] instatiated!") - if(!name) - name = lowertext(type2top(type)) - else - name = lowertext(name) - if(islist(config_entry_value)) - var/list/L = config_entry_value - default = L.Copy() - else - default = config_entry_value + name = lowertext(type2top(type)) + default_protection = protection + set_default() /datum/config_entry/Destroy() config.RemoveEntry(src) return ..() +/** + * Returns the value of the configuration datum to its default, used for resetting a config value. Note this also sets the protection back to default. + */ +/datum/config_entry/proc/set_default() + if ((protection & CONFIG_ENTRY_LOCKED) && IsAdminAdvancedProcCall()) + log_admin_private("[key_name(usr)] attempted to reset locked config entry [type] to its default") + return + if (islist(default)) + var/list/L = default + config_entry_value = L.Copy() + else + config_entry_value = default + protection = default_protection + resident_file = null + modified = FALSE + /datum/config_entry/can_vv_get(var_name) . = ..() if(var_name == NAMEOF(src, config_entry_value) || var_name == NAMEOF(src, default)) @@ -81,7 +99,7 @@ return /datum/config_entry/string - config_entry_value = "" + default = "" abstract_type = /datum/config_entry/string var/auto_trim = TRUE @@ -95,7 +113,7 @@ return TRUE /datum/config_entry/number - config_entry_value = 0 + default = 0 abstract_type = /datum/config_entry/number var/integer = TRUE var/max_val = INFINITY @@ -117,7 +135,7 @@ return !(var_name in banned_edits) && ..() /datum/config_entry/flag - config_entry_value = FALSE + default = FALSE abstract_type = /datum/config_entry/flag /datum/config_entry/flag/ValidateAndSet(str_val) @@ -126,9 +144,25 @@ config_entry_value = text2num(trim(str_val)) != 0 return TRUE +/// List config entry, used for configuring a list of strings +/datum/config_entry/str_list + abstract_type = /datum/config_entry/str_list + default = list() + dupes_allowed = TRUE + /// whether the string elements will be lowercased on ValidateAndSet or not. + var/lowercase = FALSE + +/datum/config_entry/str_list/ValidateAndSet(str_val) + if (!VASProcCallGuard(str_val)) + return FALSE + str_val = trim(str_val) + if (str_val != "") + config_entry_value += lowercase ? lowertext(str_val) : str_val + return TRUE + /datum/config_entry/number_list abstract_type = /datum/config_entry/number_list - config_entry_value = list() + default = list() /datum/config_entry/number_list/ValidateAndSet(str_val) if(!VASProcCallGuard(str_val)) @@ -148,7 +182,7 @@ /datum/config_entry/keyed_list abstract_type = /datum/config_entry/keyed_list - config_entry_value = list() + default = list() dupes_allowed = TRUE vv_VAS = FALSE //VAS will not allow things like deleting from lists, it'll just bug horribly. var/key_mode @@ -231,7 +265,7 @@ /datum/config_entry/multi_keyed_flag vv_VAS = FALSE abstract_type = /datum/config_entry/multi_keyed_flag - config_entry_value = list() + default = list() var/delimiter = "|" /datum/config_entry/multi_keyed_flag/vv_edit_var(var_name, var_value) diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index bf89be1b51..eea00edc4b 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -147,6 +147,16 @@ ++. continue + // Reset directive, used for setting a config value back to defaults. Useful for string list config types + if (entry == "$reset") + var/datum/config_entry/resetee = _entries[lowertext(value)] + if (!value || !resetee) + log_config_error("Warning: invalid $reset directive: [value]") + continue + resetee.set_default() + log_config("Reset configured value for [value] to original defaults") + continue + var/datum/config_entry/E = _entries[entry] if(!E) log_config("LINE [linenumber]: Unknown setting in configuration: '[entry]'") diff --git a/code/controllers/configuration/entries/admin.dm b/code/controllers/configuration/entries/admin.dm index 60919e10a9..8c957baf4c 100644 --- a/code/controllers/configuration/entries/admin.dm +++ b/code/controllers/configuration/entries/admin.dm @@ -23,12 +23,12 @@ /datum/config_entry/flag/see_own_notes //Can players see their own admin notes /datum/config_entry/number/note_fresh_days - config_entry_value = null + default = null min_val = 0 integer = FALSE /datum/config_entry/number/note_stale_days - config_entry_value = null + default = null min_val = 0 integer = FALSE @@ -47,7 +47,7 @@ protection = CONFIG_ENTRY_LOCKED /datum/config_entry/string/autoadmin_rank // the rank for autoadmins - config_entry_value = "Game Master" + default = "Game Master" protection = CONFIG_ENTRY_LOCKED /datum/config_entry/flag/allow_admin_ooccolor // Allows admins with relevant permissions to have their own ooc colour diff --git a/code/controllers/configuration/entries/alert.dm b/code/controllers/configuration/entries/alert.dm index 6177c602db..af49972007 100644 --- a/code/controllers/configuration/entries/alert.dm +++ b/code/controllers/configuration/entries/alert.dm @@ -1,26 +1,26 @@ /datum/config_entry/string/alert_green - config_entry_value = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced." + default = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced." /datum/config_entry/string/alert_blue_upto - config_entry_value = "The station has received reliable information about potential threats to the station. Security staff may have weapons visible, random searches are permitted." + default = "The station has received reliable information about potential threats to the station. Security staff may have weapons visible, random searches are permitted." /datum/config_entry/string/alert_blue_downto - config_entry_value = "Significant confirmed threats have been neutralized. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still permitted." + default = "Significant confirmed threats have been neutralized. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still permitted." /datum/config_entry/string/alert_amber_upto - config_entry_value = "There are significant confirmed threats to the station. Security staff may have weapons unholstered at all times. Random searches are allowed and advised." + default = "There are significant confirmed threats to the station. Security staff may have weapons unholstered at all times. Random searches are allowed and advised." /datum/config_entry/string/alert_amber_downto - config_entry_value = "The immediate threat has passed. Security is no longer authorized to use lethal force, but may continue to have weapons drawn. Access requirements have been restored." + default = "The immediate threat has passed. Security is no longer authorized to use lethal force, but may continue to have weapons drawn. Access requirements have been restored." /datum/config_entry/string/alert_red_upto - config_entry_value = "There is an immediate serious threat to the station. Security is now authorized to use lethal force. Additionally, access requirements on some machines have been lifted." + default = "There is an immediate serious threat to the station. Security is now authorized to use lethal force. Additionally, access requirements on some machines have been lifted." /datum/config_entry/string/alert_red_downto - config_entry_value = "The station's destruction has been averted. There is still however an immediate serious threat to the station. Security is still authorized to use lethal force." + default = "The station's destruction has been averted. There is still however an immediate serious threat to the station. Security is still authorized to use lethal force." /datum/config_entry/string/alert_delta - config_entry_value = "Destruction of the station is imminent. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill." + default = "Destruction of the station is imminent. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill." /datum/config_entry/number/minimum_secborg_alert //Minimum alert level for secborgs to be chosen. - config_entry_value = 3 + default = 3 diff --git a/code/controllers/configuration/entries/antag_rep.dm b/code/controllers/configuration/entries/antag_rep.dm index c34eef4159..1ecbe57b45 100644 --- a/code/controllers/configuration/entries/antag_rep.dm +++ b/code/controllers/configuration/entries/antag_rep.dm @@ -1,15 +1,15 @@ /datum/config_entry/flag/use_antag_rep // see game_options.txt for details /datum/config_entry/number/antag_rep_maximum - config_entry_value = 200 + default = 200 min_val = 0 /datum/config_entry/number/default_antag_tickets - config_entry_value = 100 + default = 100 min_val = 0 /datum/config_entry/number/max_tickets_per_roll - config_entry_value = 100 + default = 100 min_val = 0 /datum/config_entry/keyed_list/antag_rep diff --git a/code/controllers/configuration/entries/bot.dm b/code/controllers/configuration/entries/bot.dm index 071406ad65..08b3ef57bd 100644 --- a/code/controllers/configuration/entries/bot.dm +++ b/code/controllers/configuration/entries/bot.dm @@ -5,7 +5,7 @@ return "" //default broadcast /datum/config_entry/string/chat_announce_new_game - config_entry_value = null + default = null /datum/config_entry/string/chat_reboot_role diff --git a/code/controllers/configuration/entries/connections.dm b/code/controllers/configuration/entries/connections.dm index 6ec41590f2..92bb4adefe 100644 --- a/code/controllers/configuration/entries/connections.dm +++ b/code/controllers/configuration/entries/connections.dm @@ -1,15 +1,15 @@ /datum/config_entry/flag/panic_bunker // prevents people the server hasn't seen before from connecting /datum/config_entry/number/panic_bunker_living // living time in minutes that a player needs to pass the panic bunker. they pass **if they are above this amount** - config_entry_value = 0 // default: <= 0 meaning any playtime works. -1 to disable criteria. + default = 0 // default: <= 0 meaning any playtime works. -1 to disable criteria. integer = TRUE /datum/config_entry/number/panic_bunker_living_vpn - config_entry_value = 0 // default: <= 0 meaning anytime works. -1 to disable criteria. + default = 0 // default: <= 0 meaning anytime works. -1 to disable criteria. integer = TRUE /datum/config_entry/string/panic_bunker_message - config_entry_value = "Sorry but the server is currently not accepting connections from never before seen players." + default = "Sorry but the server is currently not accepting connections from never before seen players." /datum/config_entry/string/panic_server_name @@ -22,7 +22,7 @@ return str_val != "byond://address:port" && ..() /datum/config_entry/number/max_bunker_days - config_entry_value = 7 + default = 7 min_val = 1 /datum/config_entry/number/notify_new_player_age // how long do we notify admins of a new player @@ -32,7 +32,7 @@ min_val = 0 /datum/config_entry/flag/age_verification //are we using the automated age verification which asks users if they're 18+? - config_entry_value = TRUE + default = TRUE /datum/config_entry/flag/irc_first_connection_alert // do we notify the irc channel when somebody is connecting for the first time? @@ -44,21 +44,21 @@ return str_val != "ch@nge.me" && ..() /datum/config_entry/number/ipintel_rating_bad - config_entry_value = 1 + default = 1 integer = FALSE min_val = 0 max_val = 1 /datum/config_entry/number/ipintel_save_good - config_entry_value = 12 + default = 12 min_val = 0 /datum/config_entry/number/ipintel_save_bad - config_entry_value = 1 + default = 1 min_val = 0 /datum/config_entry/string/ipintel_domain - config_entry_value = "check.getipintel.net" + default = "check.getipintel.net" /datum/config_entry/flag/aggressive_changelog @@ -67,46 +67,46 @@ /datum/config_entry/flag/webclient_only_byond_members /datum/config_entry/number/client_warn_version - config_entry_value = null + default = null min_val = 500 /datum/config_entry/number/client_warn_version - config_entry_value = null + default = null min_val = 500 /datum/config_entry/string/client_warn_message - config_entry_value = "Your version of byond may have issues or be blocked from accessing this server in the future." + default = "Your version of byond may have issues or be blocked from accessing this server in the future." /datum/config_entry/flag/client_warn_popup /datum/config_entry/number/client_error_version - config_entry_value = null + default = null min_val = 500 /datum/config_entry/string/client_error_message - config_entry_value = "Your version of byond is too old, may have issues, and is blocked from accessing this server." + default = "Your version of byond is too old, may have issues, and is blocked from accessing this server." /datum/config_entry/number/client_error_build - config_entry_value = null + default = null min_val = 0 /datum/config_entry/number/soft_popcap - config_entry_value = null + default = null min_val = 0 /datum/config_entry/number/hard_popcap - config_entry_value = null + default = null min_val = 0 /datum/config_entry/number/extreme_popcap - config_entry_value = null + default = null min_val = 0 /datum/config_entry/string/soft_popcap_message - config_entry_value = "Be warned that the server is currently serving a high number of users, consider using alternative game servers." + default = "Be warned that the server is currently serving a high number of users, consider using alternative game servers." /datum/config_entry/string/hard_popcap_message - config_entry_value = "The server is currently serving a high number of users, You cannot currently join. You may wait for the number of living crew to decline, observe, or find alternative servers." + default = "The server is currently serving a high number of users, You cannot currently join. You may wait for the number of living crew to decline, observe, or find alternative servers." /datum/config_entry/string/extreme_popcap_message - config_entry_value = "The server is currently serving a high number of users, find alternative servers." + default = "The server is currently serving a high number of users, find alternative servers." diff --git a/code/controllers/configuration/entries/dbconfig.dm b/code/controllers/configuration/entries/dbconfig.dm index 3dd4f4b0bd..a267a70633 100644 --- a/code/controllers/configuration/entries/dbconfig.dm +++ b/code/controllers/configuration/entries/dbconfig.dm @@ -2,21 +2,21 @@ protection = CONFIG_ENTRY_LOCKED /datum/config_entry/string/address - config_entry_value = "localhost" + default = "localhost" protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN /datum/config_entry/number/port - config_entry_value = 3306 + default = 3306 min_val = 0 max_val = 65535 protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN /datum/config_entry/string/feedback_database - config_entry_value = "test" + default = "test" protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN /datum/config_entry/string/feedback_login - config_entry_value = "root" + default = "root" protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN /datum/config_entry/string/feedback_password @@ -26,7 +26,7 @@ protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN /datum/config_entry/number/query_debug_log_timeout - config_entry_value = 70 + default = 70 min_val = 1 protection = CONFIG_ENTRY_LOCKED deprecated_by = /datum/config_entry/number/blocking_query_timeout @@ -35,17 +35,17 @@ return value /datum/config_entry/number/async_query_timeout - config_entry_value = 10 + default = 10 min_val = 0 protection = CONFIG_ENTRY_LOCKED /datum/config_entry/number/blocking_query_timeout - config_entry_value = 5 + default = 5 min_val = 0 protection = CONFIG_ENTRY_LOCKED /datum/config_entry/number/bsql_thread_limit - config_entry_value = 50 + default = 50 min_val = 1 /datum/config_entry/flag/bsql_debug diff --git a/code/controllers/configuration/entries/debris.dm b/code/controllers/configuration/entries/debris.dm index 1cc2c2d7b7..4b7b2ac50e 100644 --- a/code/controllers/configuration/entries/debris.dm +++ b/code/controllers/configuration/entries/debris.dm @@ -1,16 +1,16 @@ /// Amount of dirtyness tiles need to spawn dirt. /datum/config_entry/number/turf_dirt_threshold - config_entry_value = 100 + default = 100 min_val = 1 integer = TRUE /// Alpha dirt starts at /datum/config_entry/number/dirt_alpha_starting - config_entry_value = 127 + default = 127 max_val = 255 min_val = 0 integer = TRUE /// Dirtyness multiplier for making turfs dirty /datum/config_entry/number/turf_dirty_multiplier - config_entry_value = 1 + default = 1 diff --git a/code/controllers/configuration/entries/dynamic.dm b/code/controllers/configuration/entries/dynamic.dm index 98203b7d8a..573507fe8d 100644 --- a/code/controllers/configuration/entries/dynamic.dm +++ b/code/controllers/configuration/entries/dynamic.dm @@ -3,43 +3,43 @@ /datum/config_entry/flag/no_storyteller_threat_removal /datum/config_entry/number/dynamic_high_pop_limit - config_entry_value = 55 + default = 55 min_val = 1 /datum/config_entry/number/dynamic_pop_per_requirement - config_entry_value = 6 + default = 6 min_val = 1 /datum/config_entry/number/dynamic_midround_delay_min - config_entry_value = 15 + default = 15 min_val = 1 /datum/config_entry/number/dynamic_midround_delay_max - config_entry_value = 35 + default = 35 min_val = 1 /datum/config_entry/number/dynamic_latejoin_delay_min - config_entry_value = 5 + default = 5 min_val = 1 /datum/config_entry/number/dynamic_latejoin_delay_max - config_entry_value = 25 + default = 25 min_val = 1 /datum/config_entry/number/dynamic_first_midround_delay_min - config_entry_value = 20 + default = 20 min_val = 1 /datum/config_entry/number/dynamic_first_midround_delay_max - config_entry_value = 40 + default = 40 min_val = 1 /datum/config_entry/number/dynamic_first_latejoin_delay_min - config_entry_value = 10 + default = 10 min_val = 1 /datum/config_entry/number/dynamic_first_latejoin_delay_max - config_entry_value = 30 + default = 30 min_val = 1 @@ -64,34 +64,34 @@ /datum/config_entry/number_list/dynamic_third_rule_requirements /datum/config_entry/number/dynamic_second_rule_high_pop_requirement - config_entry_value = 50 + default = 50 /datum/config_entry/number/dynamic_third_rule_high_pop_requirement - config_entry_value = 70 + default = 70 /datum/config_entry/number/dynamic_threat_baseline - config_entry_value = 50 + default = 50 /datum/config_entry/number_list/dynamic_hijack_requirements /datum/config_entry/number/dynamic_hijack_high_population_requirement - config_entry_value = 25 + default = 25 /datum/config_entry/number/dynamic_hijack_cost - config_entry_value = 5 + default = 5 /datum/config_entry/number/dynamic_glorious_death_cost - config_entry_value = 5 + default = 5 /datum/config_entry/number/dynamic_assassinate_cost - config_entry_value = 2 + default = 2 /datum/config_entry/number/dynamic_warops_requirement - config_entry_value = 60 + default = 60 min_val = 0 /datum/config_entry/number/dynamic_warops_cost - config_entry_value = 10 + default = 10 min_val = 0 /datum/config_entry/keyed_list/dynamic_mode_days diff --git a/code/controllers/configuration/entries/fetish_content.dm b/code/controllers/configuration/entries/fetish_content.dm index b7ae2e0d83..f15b815eb1 100644 --- a/code/controllers/configuration/entries/fetish_content.dm +++ b/code/controllers/configuration/entries/fetish_content.dm @@ -1,40 +1,38 @@ /datum/config_entry/keyed_list/breasts_cups_prefs key_mode = KEY_MODE_TEXT value_mode = VALUE_MODE_FLAG - config_entry_value = list("a", "b", "c", "d", "e") //keep these lowercase + default = list("a", "b", "c", "d", "e") //keep these lowercase /datum/config_entry/number/penis_min_inches_prefs - config_entry_value = 1 + default = 1 min_val = 0 /datum/config_entry/number/penis_max_inches_prefs - config_entry_value = 20 + default = 20 min_val = 0 /datum/config_entry/number/butt_min_size_prefs - config_entry_value = 1 + default = 1 min_val = 0 max_val = BUTT_SIZE_MAX /datum/config_entry/number/butt_max_size_prefs - config_entry_value = BUTT_SIZE_MAX + default = BUTT_SIZE_MAX min_val = 0 max_val = BUTT_SIZE_MAX -/datum/config_entry/keyed_list/safe_visibility_toggles - key_mode = KEY_MODE_TEXT - value_mode = VALUE_MODE_FLAG - config_entry_value = list(GEN_VISIBLE_NO_CLOTHES, GEN_VISIBLE_NO_UNDIES, GEN_VISIBLE_NEVER) //refer to cit_helpers for all toggles. +//set only by the configs to be able to manipulate easily +/datum/config_entry/str_list/safe_visibility_toggles //Body size configs, the feature will be disabled if both min and max have the same value. /datum/config_entry/number/body_size_min - config_entry_value = 0.9 + default = 0.9 min_val = 0.1 //to avoid issues with zeros and negative values. max_val = RESIZE_DEFAULT_SIZE integer = FALSE /datum/config_entry/number/body_size_max - config_entry_value = 1.25 + default = 1.25 min_val = RESIZE_DEFAULT_SIZE integer = FALSE @@ -42,7 +40,7 @@ //to compensate for their smaller hitbox. //To disable, just make sure the value is lower than 'body_size_min' /datum/config_entry/number/threshold_body_size_penalty - config_entry_value = RESIZE_DEFAULT_SIZE + default = RESIZE_DEFAULT_SIZE min_val = 0 max_val = RESIZE_DEFAULT_SIZE integer = FALSE @@ -50,6 +48,6 @@ //multiplicative slowdown multiplier. See 'dna.update_body_size' for the operation. //doesn't apply to floating or crawling mobs /datum/config_entry/number/body_size_slowdown_multiplier - config_entry_value = 0 + default = 0 min_val = 0 integer = FALSE diff --git a/code/controllers/configuration/entries/gamemodes.dm b/code/controllers/configuration/entries/gamemodes.dm index f11c6dd5f5..e9eb8b8797 100644 --- a/code/controllers/configuration/entries/gamemodes.dm +++ b/code/controllers/configuration/entries/gamemodes.dm @@ -3,7 +3,7 @@ /datum/config_entry/flag/weigh_by_recent_chaos /datum/config_entry/number/chaos_exponent - config_entry_value = 1 + default = 1 /datum/config_entry/keyed_list/probability key_mode = KEY_MODE_TEXT @@ -55,36 +55,36 @@ return key_name in config.modes /datum/config_entry/number/traitor_scaling_coeff //how much does the amount of players get divided by to determine traitors - config_entry_value = 6 + default = 6 min_val = 1 /datum/config_entry/number/brother_scaling_coeff //how many players per brother team - config_entry_value = 25 + default = 25 min_val = 1 /datum/config_entry/number/changeling_scaling_coeff //how much does the amount of players get divided by to determine changelings - config_entry_value = 6 + default = 6 min_val = 1 /datum/config_entry/number/ecult_scaling_coeff //how much does the amount of players get divided by to determine e_cult - config_entry_value = 6 + default = 6 integer = FALSE min_val = 1 /datum/config_entry/number/security_scaling_coeff //how much does the amount of players get divided by to determine open security officer positions - config_entry_value = 8 + default = 8 min_val = 1 /datum/config_entry/number/abductor_scaling_coeff //how many players per abductor team - config_entry_value = 15 + default = 15 min_val = 1 /datum/config_entry/number/traitor_objectives_amount - config_entry_value = 2 + default = 2 min_val = 0 /datum/config_entry/number/brother_objectives_amount - config_entry_value = 2 + default = 2 min_val = 0 /datum/config_entry/flag/protect_roles_from_antagonist //If security and such can be traitor/cult/other diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index ddb54d6957..ef74a48c3a 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -1,9 +1,9 @@ /datum/config_entry/number/lobby_countdown // In between round countdown. - config_entry_value = 120 + default = 120 min_val = 0 /datum/config_entry/number/round_end_countdown // Post round murder death kill countdown - config_entry_value = 25 + default = 25 min_val = 0 @@ -12,11 +12,11 @@ /datum/config_entry/flag/allow_holidays /datum/config_entry/number/id_console_jobslot_delay - config_entry_value = 30 + default = 30 min_val = 0 /datum/config_entry/number/inactivity_period //time in ds until a player is considered inactive - config_entry_value = 3000 + default = 3000 min_val = 0 /datum/config_entry/number/inactivity_period/ValidateAndSet(str_val) @@ -25,7 +25,7 @@ config_entry_value *= 10 //documented as seconds in config.txt /datum/config_entry/number/afk_period //time in ds until a player is considered inactive - config_entry_value = 3000 + default = 3000 min_val = 0 /datum/config_entry/number/afk_period/ValidateAndSet(str_val) @@ -40,19 +40,19 @@ /datum/config_entry/flag/show_irc_name /datum/config_entry/string/default_view - config_entry_value = "15x15" + default = "15x15" /datum/config_entry/string/default_view_square - config_entry_value = "15x15" + default = "15x15" /datum/config_entry/flag/minimaps_enabled - config_entry_value = TRUE + default = TRUE /datum/config_entry/number/damage_multiplier - config_entry_value = 1 + default = 1 integer = FALSE /datum/config_entry/number/minimal_access_threshold //If the number of players is larger than this threshold, minimal access will be turned on. @@ -93,25 +93,25 @@ /datum/config_entry/flag/enforce_human_authority //If non-human species are barred from joining as a head of staff /datum/config_entry/number/midround_antag_time_check // How late (in minutes you want the midround antag system to stay on, setting this to 0 will disable the system) - config_entry_value = 60 + default = 60 min_val = 0 /datum/config_entry/number/midround_antag_life_check // A ratio of how many people need to be alive in order for the round not to immediately end in midround antagonist - config_entry_value = 0.7 + default = 0.7 integer = FALSE min_val = 0 max_val = 1 /datum/config_entry/number/suicide_reenter_round_timer - config_entry_value = 30 + default = 30 min_val = 0 /datum/config_entry/number/roundstart_suicide_time_limit - config_entry_value = 30 + default = 30 min_val = 0 /datum/config_entry/number/shuttle_refuel_delay - config_entry_value = 12000 + default = 12000 min_val = 0 /datum/config_entry/flag/show_game_type_odds //if set this allows players to see the odds of each roundtype on the get revision screen @@ -133,7 +133,7 @@ /datum/config_entry/flag/no_intercept_report //Whether or not to send a communications intercept report roundstart. This may be overridden by gamemodes. /datum/config_entry/number/arrivals_shuttle_dock_window //Time from when a player late joins on the arrivals shuttle to when the shuttle docks on the station - config_entry_value = 55 + default = 55 min_val = 30 /datum/config_entry/flag/arrivals_shuttle_require_undocked //Require the arrivals shuttle to be undocked before latejoiners can join @@ -146,7 +146,7 @@ /datum/config_entry/flag/revival_cloning /datum/config_entry/number/revival_brain_life - config_entry_value = -1 + default = -1 min_val = -1 /datum/config_entry/flag/ooc_during_round @@ -158,7 +158,7 @@ /datum/config_entry/flag/roundstart_vr //Will virtual reality missions be loaded? /datum/config_entry/number/gateway_delay //How long the gateway takes before it activates. Default is half an hour. Only matters if roundstart_away is enabled. - config_entry_value = 18000 + default = 18000 min_val = 0 /datum/config_entry/flag/ghost_interaction @@ -169,12 +169,12 @@ /datum/config_entry/flag/sandbox_autoclose // close the sandbox panel after spawning an item, potentially reducing griff /datum/config_entry/number/default_laws //Controls what laws the AI spawns with. - config_entry_value = 0 + default = 0 min_val = 0 max_val = 3 /datum/config_entry/number/silicon_max_law_amount - config_entry_value = 12 + default = 12 min_val = 0 /datum/config_entry/keyed_list/random_laws @@ -187,50 +187,50 @@ splitter = "," /datum/config_entry/number/overflow_cap - config_entry_value = -1 + default = -1 min_val = -1 /datum/config_entry/string/overflow_job - config_entry_value = "Assistant" + default = "Assistant" /datum/config_entry/flag/starlight /datum/config_entry/flag/grey_assistants /datum/config_entry/number/lavaland_budget - config_entry_value = 60 + default = 60 min_val = 0 /datum/config_entry/number/space_budget - config_entry_value = 16 + default = 16 min_val = 0 /datum/config_entry/number/icemoon_budget - config_entry_value = 90 + default = 90 integer = FALSE min_val = 0 /datum/config_entry/number/station_space_budget - config_entry_value = 10 + default = 10 min_val = 0 /datum/config_entry/flag/allow_random_events // Enables random events mid-round when set /datum/config_entry/number/events_min_time_mul // Multipliers for random events minimal starting time and minimal players amounts - config_entry_value = 1 + default = 1 min_val = 0 integer = FALSE /datum/config_entry/number/events_min_players_mul - config_entry_value = 1 + default = 1 min_val = 0 integer = FALSE /datum/config_entry/number/mice_roundstart - config_entry_value = 10 + default = 10 min_val = 0 /datum/config_entry/number/bombcap - config_entry_value = 14 + default = 14 min_val = 4 /datum/config_entry/number/bombcap/ValidateAndSet(str_val) @@ -254,24 +254,24 @@ /datum/config_entry/flag/enable_night_shifts /datum/config_entry/number/night_shift_public_areas_only - config_entry_value = NIGHTSHIFT_AREA_PUBLIC + default = NIGHTSHIFT_AREA_PUBLIC /datum/config_entry/flag/nightshift_toggle_requires_auth - config_entry_value = FALSE + default = FALSE /datum/config_entry/flag/nightshift_toggle_public_requires_auth - config_entry_value = TRUE + default = TRUE /datum/config_entry/flag/randomize_shift_time /datum/config_entry/flag/shift_time_realtime /datum/config_entry/number/monkeycap - config_entry_value = 64 + default = 64 min_val = 0 /datum/config_entry/number/ratcap - config_entry_value = 64 + default = 64 min_val = 0 /datum/config_entry/keyed_list/box_random_engine @@ -283,11 +283,11 @@ /datum/config_entry/flag/pai_custom_holoforms /datum/config_entry/number/marauder_delay_non_reebe - config_entry_value = 1800 + default = 1800 min_val = 0 /datum/config_entry/flag/allow_clockwork_marauder_on_station - config_entry_value = TRUE + default = TRUE /datum/config_entry/flag/suicide_allowed @@ -297,7 +297,7 @@ ///Initial loadout points /datum/config_entry/number/initial_gear_points - config_entry_value = 10 + default = 10 /** * Enables the FoV component, which hides objects and mobs behind the parent from their sight, unless they turn around, duh. @@ -307,20 +307,20 @@ //Shuttle size limiter /datum/config_entry/number/max_shuttle_count - config_entry_value = 6 + default = 6 /datum/config_entry/number/max_shuttle_size - config_entry_value = 500 + default = 500 //wound config stuff (increases the max injury roll, making injuries more likely) /datum/config_entry/number/wound_exponent - config_entry_value = WOUND_DAMAGE_EXPONENT + default = WOUND_DAMAGE_EXPONENT min_val = 0 integer = FALSE //adds a set amount to any injury rolls on a limb using get_damage() multiplied by this number /datum/config_entry/number/wound_damage_multiplier - config_entry_value = 0.333 + default = 0.333 min_val = 0 integer = FALSE @@ -342,5 +342,8 @@ //ambition start /datum/config_entry/number/max_ambitions // Maximum number of ambitions a mind can store. - config_entry_value = 5 + default = 5 //ambition end + +/datum/config_entry/str_list/randomizing_station_name_message + default = list() diff --git a/code/controllers/configuration/entries/jexp.dm b/code/controllers/configuration/entries/jexp.dm index 3d9754b4a6..acd71fcfb4 100644 --- a/code/controllers/configuration/entries/jexp.dm +++ b/code/controllers/configuration/entries/jexp.dm @@ -7,7 +7,7 @@ /datum/config_entry/flag/use_exp_restrictions_heads /datum/config_entry/number/use_exp_restrictions_heads_hours - config_entry_value = 0 + default = 0 min_val = 0 /datum/config_entry/flag/use_exp_restrictions_heads_department diff --git a/code/controllers/configuration/entries/logging.dm b/code/controllers/configuration/entries/logging.dm index 81013d8030..573d6e1ac7 100644 --- a/code/controllers/configuration/entries/logging.dm +++ b/code/controllers/configuration/entries/logging.dm @@ -1,67 +1,67 @@ /// log OOC channel /datum/config_entry/flag/log_ooc - config_entry_value = TRUE + default = TRUE /// log login/logout /datum/config_entry/flag/log_access - config_entry_value = TRUE + default = TRUE /// Config entry which special logging of failed logins under suspicious circumstances. /datum/config_entry/flag/log_suspicious_login - config_entry_value = TRUE + default = TRUE /// log client say /datum/config_entry/flag/log_say - config_entry_value = TRUE + default = TRUE /// log admin actions /datum/config_entry/flag/log_admin protection = CONFIG_ENTRY_LOCKED - config_entry_value = TRUE + default = TRUE /// log prayers /datum/config_entry/flag/log_prayer - config_entry_value = TRUE + default = TRUE /// log lawchanges /datum/config_entry/flag/log_law - config_entry_value = TRUE + default = TRUE /// log game events /datum/config_entry/flag/log_game - config_entry_value = TRUE + default = TRUE /// log mech data /datum/config_entry/flag/log_mecha - config_entry_value = TRUE + default = TRUE /// log virology data /datum/config_entry/flag/log_virus - config_entry_value = TRUE + default = TRUE /// log voting /datum/config_entry/flag/log_vote - config_entry_value = TRUE + default = TRUE /// log crafting /datum/config_entry/flag/log_craft - config_entry_value = TRUE + default = TRUE /// log client whisper /datum/config_entry/flag/log_whisper - config_entry_value = TRUE + default = TRUE /// log attack messages /datum/config_entry/flag/log_attack - config_entry_value = TRUE + default = TRUE /// log attack messages /datum/config_entry/flag/log_victim - config_entry_value = TRUE + default = TRUE /// log emotes /datum/config_entry/flag/log_emote - config_entry_value = TRUE + default = TRUE /// log admin chat messages /datum/config_entry/flag/log_adminchat @@ -69,35 +69,35 @@ /// log shuttle related actions, ie shuttle computers, shuttle manipulator, emergency console /datum/config_entry/flag/log_shuttle - config_entry_value = TRUE + default = TRUE /// log pda messages /datum/config_entry/flag/log_pda - config_entry_value = TRUE + default = TRUE /// log telecomms messages /datum/config_entry/flag/log_telecomms - config_entry_value = TRUE + default = TRUE /// log economy /datum/config_entry/flag/log_econ - config_entry_value = TRUE + default = TRUE /// log certain expliotable parrots and other such fun things in a JSON file of twitter valid phrases. /datum/config_entry/flag/log_twitter - config_entry_value = TRUE + default = TRUE /// log all world.Topic() calls /datum/config_entry/flag/log_world_topic - config_entry_value = TRUE + default = TRUE /// log crew manifest to seperate file /datum/config_entry/flag/log_manifest - config_entry_value = TRUE + default = TRUE /// log roundstart divide occupations debug information to a file /datum/config_entry/flag/log_job_debug - config_entry_value = TRUE + default = TRUE /// log photos taken by players with a camera /datum/config_entry/flag/log_pictures @@ -107,21 +107,21 @@ /// forces log_href for tgui /datum/config_entry/flag/emergency_tgui_logging - config_entry_value = FALSE + default = FALSE /// The "cooldown" time for each occurrence of a unique error /datum/config_entry/number/error_cooldown - config_entry_value = 600 + default = 600 min_val = 0 /// How many occurrences before the next will silence them /datum/config_entry/number/error_limit - config_entry_value = 50 + default = 50 /// How long a unique error will be silenced for /datum/config_entry/number/error_silence_time - config_entry_value = 6000 + default = 6000 /// How long to wait between messaging admins about occurrences of a unique error /datum/config_entry/number/error_msg_delay - config_entry_value = 50 + default = 50 diff --git a/code/controllers/configuration/entries/movespeed.dm b/code/controllers/configuration/entries/movespeed.dm index b1c3818cd3..18d54da9fc 100644 --- a/code/controllers/configuration/entries/movespeed.dm +++ b/code/controllers/configuration/entries/movespeed.dm @@ -15,7 +15,7 @@ /datum/config_entry/keyed_list/multiplicative_movespeed/normal name = "multiplicative_movespeed" - config_entry_value = list( //DEFAULTS + default = list( //DEFAULTS /mob/living/simple_animal = 1, /mob/living/silicon/pai = 1, /mob/living/carbon/alien/humanoid/sentinel = 0.25, @@ -26,7 +26,7 @@ /datum/config_entry/keyed_list/multiplicative_movespeed/floating name = "multiplicative_movespeed_floating" - config_entry_value = list( + default = list( /mob/living = 0, /mob/living/carbon/alien/humanoid = 0, /mob/living/carbon/alien/humanoid/royal/praetorian = 0, @@ -62,7 +62,7 @@ M.sync() /datum/config_entry/flag/sprint_enabled - config_entry_value = TRUE + default = TRUE /datum/config_entry/flag/sprint_enabled/ValidateAndSet(str_val) . = ..() @@ -73,31 +73,31 @@ L.disable_intentional_sprint_mode() /datum/config_entry/number/sprintless_stagger_slowdown - config_entry_value = 0 + default = 0 /datum/config_entry/number/sprintless_off_balance_slowdown - config_entry_value = 0.85 + default = 0.85 /datum/config_entry/number/melee_stagger_factor - config_entry_value = 1 + default = 1 /datum/config_entry/number/movedelay/sprint_speed_increase - config_entry_value = 1 + default = 1 /datum/config_entry/number/movedelay/sprint_max_tiles_increase - config_entry_value = 5 + default = 5 /datum/config_entry/number/movedelay/sprint_absolute_max_tiles - config_entry_value = 13 + default = 13 /datum/config_entry/number/movedelay/sprint_buffer_max - config_entry_value = 24 + default = 24 /datum/config_entry/number/movedelay/sprint_stamina_cost - config_entry_value = 1.4 + default = 1.4 /datum/config_entry/number/movedelay/sprint_buffer_regen_per_ds - config_entry_value = 0.4 + default = 0.4 /////////////////////////////////////////////////Outdated move delay /datum/config_entry/number/outdated_movedelay diff --git a/code/controllers/configuration/entries/persistence.dm b/code/controllers/configuration/entries/persistence.dm index 2444034b86..8e38463463 100644 --- a/code/controllers/configuration/entries/persistence.dm +++ b/code/controllers/configuration/entries/persistence.dm @@ -1,19 +1,19 @@ /// Whether or not to use the persistence system for cleanable objects /datum/config_entry/flag/persistent_debris - config_entry_value = FALSE + default = FALSE /// Whether or not to nuke all roundstart debris that isn't due to persistence if the above is true /datum/config_entry/flag/persistent_debris_only - config_entry_value = TRUE + default = TRUE /// Max amount of objects to store, total /datum/config_entry/number/persistent_debris_global_max - config_entry_value = 10000 + default = 10000 integer = TRUE /// Max amount of objects to store per type /datum/config_entry/number/persistent_debris_type_max - config_entry_value = 2000 + default = 2000 integer = TRUE /// Wipe dirty stuff on nuke diff --git a/code/controllers/configuration/entries/plushies.dm b/code/controllers/configuration/entries/plushies.dm index 20ad02d399..0a63698dc2 100644 --- a/code/controllers/configuration/entries/plushies.dm +++ b/code/controllers/configuration/entries/plushies.dm @@ -1,5 +1,5 @@ /datum/config_entry/number/snowflake_plushie_prob - config_entry_value = 50 + default = 50 /datum/config_entry/keyed_list/snowflake_plushies key_mode = KEY_MODE_TEXT diff --git a/code/controllers/configuration/entries/policy.dm b/code/controllers/configuration/entries/policy.dm index ea8973a4ce..31483788e1 100644 --- a/code/controllers/configuration/entries/policy.dm +++ b/code/controllers/configuration/entries/policy.dm @@ -1,6 +1,6 @@ /// Seconds for CMD on defib-with-memory-loss policy config to display instead of defib-intact config /datum/config_entry/number/defib_cmd_time_limit - config_entry_value = 300 + default = 300 integer = TRUE /datum/config_entry/keyed_list/policy diff --git a/code/controllers/configuration/entries/respawns.dm b/code/controllers/configuration/entries/respawns.dm index 40c7d248a4..7c8e3b7789 100644 --- a/code/controllers/configuration/entries/respawns.dm +++ b/code/controllers/configuration/entries/respawns.dm @@ -1,36 +1,36 @@ /// Allows usage of respawn system /datum/config_entry/flag/respawns_enabled - config_entry_value = FALSE + default = FALSE /// Minutes before allowing respawns. /datum/config_entry/number/respawn_delay - config_entry_value = 15.0 + default = 15.0 integer = FALSE /// Minutes before allowing respawn, if user cryo'd. /datum/config_entry/number/respawn_delay_cryo - config_entry_value = 5.0 + default = 5.0 integer = FALSE /// Allows respawning as non-assistant. Overrides all others of this type. /datum/config_entry/flag/allow_non_assistant_respawn - config_entry_value = FALSE + default = FALSE /// Allows respawning as a combat role, defined as security/head. /datum/config_entry/flag/allow_combat_role_respawn - config_entry_value = FALSE + default = FALSE /// Allows respawning as the same character as a previous life /datum/config_entry/flag/allow_same_character_respawn - config_entry_value = FALSE + default = FALSE /// Observing penalizes for respawns, not just joining. /datum/config_entry/flag/respawn_penalty_includes_observe - config_entry_value = FALSE + default = FALSE /// Minutes from roundstart before someone can respawn /datum/config_entry/number/respawn_minimum_delay_roundstart - config_entry_value = 30.0 + default = 30.0 integer = FALSE /// Gamemode config tags that are banned from respawning diff --git a/code/controllers/configuration/entries/security.dm b/code/controllers/configuration/entries/security.dm index 3a49c97d70..9a661ddc21 100644 --- a/code/controllers/configuration/entries/security.dm +++ b/code/controllers/configuration/entries/security.dm @@ -1,34 +1,34 @@ /datum/config_entry/number/fail2topic_rate_limit - config_entry_value = 10 //deciseconds + default = 10 //deciseconds /datum/config_entry/number/fail2topic_max_fails - config_entry_value = 5 + default = 5 /datum/config_entry/string/fail2topic_rule_name - config_entry_value = "_dd_fail2topic" + default = "_dd_fail2topic" protection = CONFIG_ENTRY_LOCKED //affects physical server configuration, no touchies!! /datum/config_entry/flag/fail2topic_enabled /datum/config_entry/number/topic_max_size - config_entry_value = 8192 + default = 8192 /datum/config_entry/keyed_list/topic_rate_limit_whitelist key_mode = KEY_MODE_TEXT value_mode = VALUE_MODE_FLAG /datum/config_entry/number/minute_topic_limit - config_entry_value = null + default = null min_val = 0 /datum/config_entry/number/second_topic_limit - config_entry_value = null + default = null min_val = 0 /datum/config_entry/number/minute_click_limit - config_entry_value = 400 + default = 400 min_val = 0 /datum/config_entry/number/second_click_limit - config_entry_value = 15 + default = 15 min_val = 0 diff --git a/code/controllers/configuration/entries/server.dm b/code/controllers/configuration/entries/server.dm index 77e5dcf950..0df252f65c 100644 --- a/code/controllers/configuration/entries/server.dm +++ b/code/controllers/configuration/entries/server.dm @@ -2,12 +2,12 @@ /datum/config_entry/string/servername // server name (the name of the game window) -/datum/config_entry/string/communityshortname // short name of the server's community +/datum/config_entry/string/communityshortname // short name of the server's community /datum/config_entry/string/communitylink // link to the server's website /datum/config_entry/string/servertagline - config_entry_value = "We forgot to set the server's tagline in config.txt" + default = "We forgot to set the server's tagline in config.txt" /datum/config_entry/flag/usetaglinestrings @@ -16,7 +16,7 @@ /datum/config_entry/string/stationname // station name (the name of the station in-game) /datum/config_entry/number/fps - config_entry_value = 20 + default = 20 min_val = 1 max_val = 100 //byond will start crapping out at 50, so this is just ridic var/sync_validate = FALSE @@ -36,7 +36,7 @@ /datum/config_entry/number/ticklag/New() //ticklag weirdly just mirrors fps var/datum/config_entry/CE = /datum/config_entry/number/fps - config_entry_value = 10 / initial(CE.config_entry_value) + config_entry_value = 10 / initial(CE.default) ..() /datum/config_entry/number/ticklag/ValidateAndSet(str_val) @@ -49,7 +49,7 @@ sync_validate = FALSE /datum/config_entry/number/tick_limit_mc_init //SSinitialization throttling - config_entry_value = TICK_LIMIT_MC_INIT_DEFAULT + default = TICK_LIMIT_MC_INIT_DEFAULT min_val = 0 //oranges warned us integer = FALSE @@ -64,17 +64,17 @@ /datum/config_entry/number/mc_tick_rate/base_mc_tick_rate integer = FALSE - config_entry_value = 1 + default = 1 /datum/config_entry/number/mc_tick_rate/high_pop_mc_tick_rate integer = FALSE - config_entry_value = 1.1 + default = 1.1 /datum/config_entry/number/mc_tick_rate/high_pop_mc_mode_amount - config_entry_value = 65 + default = 65 /datum/config_entry/number/mc_tick_rate/disable_high_pop_mc_mode_amount - config_entry_value = 60 + default = 60 /datum/config_entry/number/mc_tick_rate abstract_type = /datum/config_entry/number/mc_tick_rate @@ -92,8 +92,8 @@ world.sleep_offline = !config_entry_value /datum/config_entry/number/rounds_until_hard_restart - config_entry_value = -1 + default = -1 min_val = 0 /datum/config_entry/string/force_gamemode - config_entry_value = null + default = null diff --git a/code/controllers/configuration/entries/stamina_combat.dm b/code/controllers/configuration/entries/stamina_combat.dm index 681b903286..d230b9d7eb 100644 --- a/code/controllers/configuration/entries/stamina_combat.dm +++ b/code/controllers/configuration/entries/stamina_combat.dm @@ -4,30 +4,30 @@ /// Maximum stamina buffer /datum/config_entry/number/stamina_combat/buffer_max - config_entry_value = 25 + default = 25 /// Seconds until percent_regeneration_out_of_combat kicks in /datum/config_entry/number/stamina_combat/out_of_combat_timer - config_entry_value = 15 + default = 15 /// Base regeneration per second /datum/config_entry/number/stamina_combat/base_regeneration - config_entry_value = 3.5 + default = 3.5 /// After out_of_combat_timer elapses, additionally regenerate this percent of total stamina per second. Unaffected by combat mode. /datum/config_entry/number/stamina_combat/percent_regeneration_out_of_combat - config_entry_value = 30 + default = 30 /// Seconds after an action for which your regeneration is penalized /datum/config_entry/number/stamina_combat/post_action_penalty_delay - config_entry_value = 5 + default = 5 /// Factor to multiply by for penalizing post-action-stamina-regen /datum/config_entry/number/stamina_combat/post_action_penalty_factor - config_entry_value = 0.25 + default = 0.25 /// Factor to multiply by for stamina usage past buffer into health /datum/config_entry/number/stamina_combat/overdraw_penalty_factor - config_entry_value = 1.5 + default = 1.5 /datum/config_entry/flag/disable_stambuffer diff --git a/code/controllers/configuration/entries/urls.dm b/code/controllers/configuration/entries/urls.dm index fe82574da0..e911a3062a 100644 --- a/code/controllers/configuration/entries/urls.dm +++ b/code/controllers/configuration/entries/urls.dm @@ -3,24 +3,24 @@ /datum/config_entry/string/banappeals /datum/config_entry/string/wikiurl - config_entry_value = "https://katlin.dog/citadel-wiki" + default = "https://katlin.dog/citadel-wiki" /datum/config_entry/string/wikiurltg - config_entry_value = "http://www.tgstation13.org/wiki" + default = "http://www.tgstation13.org/wiki" /datum/config_entry/string/forumurl - config_entry_value = "http://tgstation13.org/phpBB/index.php" + default = "http://tgstation13.org/phpBB/index.php" /datum/config_entry/string/rulesurl - config_entry_value = "http://www.tgstation13.org/wiki/Rules" + default = "http://www.tgstation13.org/wiki/Rules" /datum/config_entry/string/githuburl - config_entry_value = "https://www.github.com/tgstation/-tg-station" + default = "https://www.github.com/tgstation/-tg-station" /datum/config_entry/string/roundstatsurl /datum/config_entry/string/gamelogurl /datum/config_entry/number/githubrepoid - config_entry_value = null + default = null min_val = 0 diff --git a/code/controllers/configuration/entries/vote.dm b/code/controllers/configuration/entries/vote.dm index 545fd01e3c..50cdc32620 100644 --- a/code/controllers/configuration/entries/vote.dm +++ b/code/controllers/configuration/entries/vote.dm @@ -3,29 +3,29 @@ /datum/config_entry/flag/allow_vote_mode // allow votes to change mode /datum/config_entry/number/vote_delay // minimum time between voting sessions (deciseconds, 10 minute default) - config_entry_value = 6000 + default = 6000 min_val = 0 /datum/config_entry/number/vote_period // length of voting period (deciseconds, default 1 minute) - config_entry_value = 600 + default = 600 min_val = 0 /// Length of time before the first autotransfer vote is called (deciseconds, default 2 hours) /// Set to 0 to disable the subsystem altogether. /datum/config_entry/number/vote_autotransfer_initial - config_entry_value = 72000 + default = 72000 min_val = 0 ///length of time to wait before subsequent autotransfer votes (deciseconds, default 30 minutes) /datum/config_entry/number/vote_autotransfer_interval - config_entry_value = 18000 + default = 18000 min_val = 0 /// maximum extensions until the round autoends. /// Set to 0 to force automatic crew transfer after the 'vote_autotransfer_initial' elapsed. /// Set to -1 to disable the maximum extensions cap. /datum/config_entry/number/vote_autotransfer_maximum - config_entry_value = 4 + default = 4 min_val = -1 /datum/config_entry/flag/default_no_vote // vote does not default to nochange/norestart @@ -37,10 +37,10 @@ /datum/config_entry/flag/tgstyle_maprotation /datum/config_entry/string/map_vote_type - config_entry_value = APPROVAL_VOTING + default = APPROVAL_VOTING /datum/config_entry/number/maprotatechancedelta - config_entry_value = 0.75 + default = 0.75 min_val = 0 max_val = 1 integer = FALSE @@ -50,6 +50,6 @@ /datum/config_entry/flag/modetier_voting /datum/config_entry/number/dropped_modes - config_entry_value = 3 + default = 3 /datum/config_entry/flag/must_be_readied_to_vote_gamemode diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm index a9ce92b982..1f7e040e97 100644 --- a/code/datums/station_traits/neutral_traits.dm +++ b/code/datums/station_traits/neutral_traits.dm @@ -115,15 +115,13 @@ . = ..() SSstation.announcer = /datum/centcom_announcer/medbot -GLOBAL_LIST_INIT(randomizing_station_name_messages, world.file2list("strings/randomizing_station_name_messages.txt")) - /datum/station_trait/randomizing_station_name name = "Randomizing station name" show_in_report = TRUE report_message = "Due to legal reasons or other, we might not be able to settle on a station name." trait_processes = TRUE COOLDOWN_DECLARE(randomizing_cooldown) - var/trigger_every = 5 MINUTES + var/trigger_every = 30 MINUTES blacklist = list(/datum/station_trait/randomizing_station_name/fast, /datum/station_trait/randomizing_station_name/slow) /datum/station_trait/randomizing_station_name/on_round_start() @@ -138,7 +136,7 @@ GLOBAL_LIST_INIT(randomizing_station_name_messages, world.file2list("strings/ran var/new_name = new_station_name() - var/centcom_announcement = pick(GLOB.randomizing_station_name_messages) + var/centcom_announcement = pick(CONFIG_GET(str_list/randomizing_station_name_message)) // Replace with CURRENT station name centcom_announcement = replacetext(centcom_announcement, "%CURRENT_STATION_NAME%", station_name()) @@ -164,10 +162,10 @@ GLOBAL_LIST_INIT(randomizing_station_name_messages, world.file2list("strings/ran /datum/station_trait/randomizing_station_name/fast name = "Randomizing station name - Fast" - trigger_every = 3 MINUTES + trigger_every = 15 MINUTES blacklist = list(/datum/station_trait/randomizing_station_name, /datum/station_trait/randomizing_station_name/slow) /datum/station_trait/randomizing_station_name/slow name = "Randomizing station name - Slow" - trigger_every = 10 MINUTES + trigger_every = 1 HOURS blacklist = list(/datum/station_trait/randomizing_station_name/fast, /datum/station_trait/randomizing_station_name) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index b03ac81842..20db71a3dc 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2362,7 +2362,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["cock_shape"] = new_shape if("cock_visibility") - var/n_vis = input(user, "Penis Visibility", "Character Preference") as null|anything in CONFIG_GET(keyed_list/safe_visibility_toggles) + var/n_vis = input(user, "Penis Visibility", "Character Preference") as null|anything in CONFIG_GET(str_list/safe_visibility_toggles) if(n_vis) features["cock_visibility"] = n_vis @@ -2384,7 +2384,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["balls_shape"] = new_shape if("balls_visibility") - var/n_vis = input(user, "Testicles Visibility", "Character Preference") as null|anything in CONFIG_GET(keyed_list/safe_visibility_toggles) + var/n_vis = input(user, "Testicles Visibility", "Character Preference") as null|anything in CONFIG_GET(str_list/safe_visibility_toggles) if(n_vis) features["balls_visibility"] = n_vis @@ -2411,7 +2411,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) to_chat(user,"Invalid color. Your color is not bright enough.") if("breasts_visibility") - var/n_vis = input(user, "Breasts Visibility", "Character Preference") as null|anything in CONFIG_GET(keyed_list/safe_visibility_toggles) + var/n_vis = input(user, "Breasts Visibility", "Character Preference") as null|anything in CONFIG_GET(str_list/safe_visibility_toggles) if(n_vis) features["breasts_visibility"] = n_vis @@ -2433,7 +2433,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) to_chat(user,"Invalid color. Your color is not bright enough.") if("vag_visibility") - var/n_vis = input(user, "Vagina Visibility", "Character Preference") as null|anything in CONFIG_GET(keyed_list/safe_visibility_toggles) + var/n_vis = input(user, "Vagina Visibility", "Character Preference") as null|anything in CONFIG_GET(str_list/safe_visibility_toggles) if(n_vis) features["vag_visibility"] = n_vis @@ -2456,7 +2456,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["butt_size"] = clamp(round(new_length), min_B, max_B) if("butt_visibility") - var/n_vis = input(user, "Butt Visibility", "Character Preference") as null|anything in CONFIG_GET(keyed_list/safe_visibility_toggles) + var/n_vis = input(user, "Butt Visibility", "Character Preference") as null|anything in CONFIG_GET(str_list/safe_visibility_toggles) if(n_vis) features["butt_visibility"] = n_vis diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 94f4942284..6bb704f8a5 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -1000,10 +1000,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(!max_B) max_B = CONFIG_GET(number/butt_max_size_prefs) - var/static/safe_visibilities - if(!safe_visibilities) - var/list/L = CONFIG_GET(keyed_list/safe_visibility_toggles) - safe_visibilities = L.Copy() + var/safe_visibilities = CONFIG_GET(str_list/safe_visibility_toggles) features["breasts_size"] = sanitize_inlist(features["breasts_size"], B_sizes, BREASTS_SIZE_DEF) features["cock_length"] = sanitize_integer(features["cock_length"], min_D, max_D, COCK_SIZE_DEF) diff --git a/code/modules/error_handler/error_handler.dm b/code/modules/error_handler/error_handler.dm index 6a3d2c2233..834f5051c2 100644 --- a/code/modules/error_handler/error_handler.dm +++ b/code/modules/error_handler/error_handler.dm @@ -64,11 +64,11 @@ GLOBAL_VAR_INIT(total_runtimes_skipped, 0) configured_error_silence_time = CONFIG_GET(number/error_silence_time) else var/datum/config_entry/CE = /datum/config_entry/number/error_cooldown - configured_error_cooldown = initial(CE.config_entry_value) + configured_error_cooldown = initial(CE.default) CE = /datum/config_entry/number/error_limit - configured_error_limit = initial(CE.config_entry_value) + configured_error_limit = initial(CE.default) CE = /datum/config_entry/number/error_silence_time - configured_error_silence_time = initial(CE.config_entry_value) + configured_error_silence_time = initial(CE.default) //Each occurence of a unique error adds to its cooldown time... diff --git a/code/modules/error_handler/error_viewer.dm b/code/modules/error_handler/error_viewer.dm index 9ac65d26fb..b88437edef 100644 --- a/code/modules/error_handler/error_viewer.dm +++ b/code/modules/error_handler/error_viewer.dm @@ -122,7 +122,7 @@ GLOBAL_DATUM(error_cache, /datum/error_viewer/error_cache) err_msg_delay = CONFIG_GET(number/error_msg_delay) else var/datum/config_entry/CE = /datum/config_entry/number/error_msg_delay - err_msg_delay = initial(CE.config_entry_value) + err_msg_delay = initial(CE.default) error_source.next_message_at = world.time + err_msg_delay /datum/error_viewer/error_source diff --git a/config/entries/general.txt b/config/entries/general.txt index ad8792c10a..b118d65621 100644 --- a/config/entries/general.txt +++ b/config/entries/general.txt @@ -498,3 +498,20 @@ PAI_CUSTOM_HOLOFORMS ## Do station renames from the station charter require admin approval to pass, as opposed to autoapproving if not denied. STATION_NAME_NEEDS_APPROVAL + +## Strings for the station trait "Randomizing station name" +RANDOMIZING_STATION_NAME_MESSAGE Due to internal affairs, the station is now named %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE The solar system's government has formally requested that the station now be named %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE A gorilla broke into the office and destroyed a bunch of paperwork. We don't know what your station's old name was. It's now %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE An intern said %NEW_STATION_NAME% would be a cool name. That's your station's name now. +RANDOMIZING_STATION_NAME_MESSAGE Our predictive language model has renamed your station to %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE It's %NEW_STATION_NAME% now. +RANDOMIZING_STATION_NAME_MESSAGE The CEO demanded that your station be named %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE Our intern accidentally wiped the database, so your station needs a new name: %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE Due to copyright infringement, the station is now temporarily renamed to %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE Due to recent corporate acquisitions, the station has been rebranded to %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE %NEW_STATION_NAME%? %NEW_STATION_NAME%! %NEW_STATION_NAME%!!!!!!!! +RANDOMIZING_STATION_NAME_MESSAGE A popular social network application had already claimed the trademark of %CURRENT_STATION_NAME%, the station has been renamed to %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE We're pulling a prank on %RANDOM_CREWMEMBER%, so we've changed the station's name to %NEW_STATION_NAME%. +RANDOMIZING_STATION_NAME_MESSAGE %RANDOM_NAME% made us change the station name, which is now %NEW_STATION_NAME%. diff --git a/strings/randomizing_station_name_messages.txt b/strings/randomizing_station_name_messages.txt deleted file mode 100644 index 9b12dba310..0000000000 --- a/strings/randomizing_station_name_messages.txt +++ /dev/null @@ -1,15 +0,0 @@ -Due to internal affairs, the station is now named %NEW_STATION_NAME%. -The solar system's government has formally requested that the station now be named %NEW_STATION_NAME%. -A gorilla broke into the office and destroyed a bunch of paperwork. We don't know what your station's old name was. It's now %NEW_STATION_NAME%. -An intern said %NEW_STATION_NAME% would be a cool name. That's your station's name now. -Our predictive language model has renamed your station to %NEW_STATION_NAME%. -It's %NEW_STATION_NAME% now. -The CEO demanded that your station be named %NEW_STATION_NAME%. -Our intern accidentally wiped the database, so your station needs a new name: %NEW_STATION_NAME%. -Due to copyright infringement, the station is now temporarily renamed to %NEW_STATION_NAME%. -Due to recent corporate acquisitions, the station has been rebranded to %NEW_STATION_NAME%. -%NEW_STATION_NAME%. -%NEW_STATION_NAME%? %NEW_STATION_NAME%! %NEW_STATION_NAME%!!!!!!!! -A popular social network application had already claimed the trademark of %CURRENT_STATION_NAME%, the station has been renamed to %NEW_STATION_NAME%. -We're pulling a prank on %RANDOM_CREWMEMBER%, so we've changed the station's name to %NEW_STATION_NAME%. -%RANDOM_NAME% made us change the station name, which is now %NEW_STATION_NAME%.