mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-09 07:46:20 +00:00
## About The Pull Request Before there were two settings for human authority: `ENFORCE_HUMAN_AUTHORITY` and `ENFORCE_HUMAN_AUTHORITY_ON_EVERYONE` The first, if enabled, would not let non-humans be heads of staff unless they had a specific var on their job set to TRUE. The second, if enabled, would simply ignore that var and reject the non-human anyways. This PR replaces both of those settings with a single one, `HUMAN_AUTHORITY`. You can set it to one of four settings: * "OFF": human authority will be turned OFF. Non-Humans will be able to be heads of staff. * "HUMAN WHITELIST": human authority will be turned OFF, HOWEVER; if a job has its new `human_authority` variable set to `JOB_AUTHORITY_HUMANS_ONLY`, then whoever picks that job will be forced to be human. * "NON-HUMAN WHITELIST": human authority will be turned ON. However, if a job has its `human_authority` variable set to `JOB_AUTHORITY_NON_HUMANS_ALLOWED`, a non-human can become that job. This is what we have now, it works the same as if `ENFORCE_HUMAN_AUTHORITY` were turned on. This is also what I've set as the default value. * "ENFORCED" human authority will be turned ON. Non-Humans will never be able to be heads of staff. This is what `ENFORCE_HUMAN_AUTHORITY_ON_EVERYONE` used to do. You can also now set the `human_authority` variable through `jobconfig.toml`! ## Why It's Good For The Game Allows more configuration options for downstreams, and lets keyholders and headmins have more options over how to set up human authority. ## Changelog 🆑 config: Both human authority settings were combined into a singular one, allowing for more flexibility /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> # Conflicts: # config/game_options.txt # config/jobconfig.toml
37 lines
1.0 KiB
Plaintext
37 lines
1.0 KiB
Plaintext
//config files
|
|
#define CONFIG_GET(X) global.config.Get(/datum/config_entry/##X)
|
|
#define CONFIG_SET(X, Y) global.config.Set(/datum/config_entry/##X, ##Y)
|
|
|
|
#define CONFIG_MAPS_FILE "maps.txt"
|
|
|
|
//flags
|
|
/// can't edit
|
|
#define CONFIG_ENTRY_LOCKED (1<<0)
|
|
/// can't see value
|
|
#define CONFIG_ENTRY_HIDDEN (1<<1)
|
|
|
|
/// Force the config directory to be something other than "config"
|
|
#define OVERRIDE_CONFIG_DIRECTORY_PARAMETER "config-directory"
|
|
|
|
// Config entry types
|
|
#define VALUE_MODE_NUM 0
|
|
#define VALUE_MODE_TEXT 1
|
|
#define VALUE_MODE_FLAG 2
|
|
|
|
#define KEY_MODE_TEXT 0
|
|
#define KEY_MODE_TYPE 1
|
|
|
|
// Flags for respawn config
|
|
/// Respawn not allowed
|
|
#define RESPAWN_FLAG_DISABLED 0
|
|
/// Respawn as much as you'd like
|
|
#define RESPAWN_FLAG_FREE 1
|
|
/// Can respawn, but not as the same character
|
|
#define RESPAWN_FLAG_NEW_CHARACTER 2
|
|
|
|
// Human authority defines
|
|
#define HUMAN_AUTHORITY_DISABLED "DISABLED"
|
|
#define HUMAN_AUTHORITY_HUMAN_WHITELIST "HUMAN_WHITELIST"
|
|
#define HUMAN_AUTHORITY_NON_HUMAN_WHITELIST "NON_HUMAN_WHITELIST"
|
|
#define HUMAN_AUTHORITY_ENFORCED "ENFORCED"
|