the stuff

Co-authored-by: Марк <SmiLeYre@users.noreply.github.com>
This commit is contained in:
SandPoot
2023-10-05 21:15:11 -03:00
parent 8db27b8ff4
commit a105852042
32 changed files with 331 additions and 289 deletions

View File

@@ -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)

View File

@@ -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]'")

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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."

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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