diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 6fc12601d7f..c85b2519869 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -75,7 +75,7 @@ #define EXP_TYPE_ADMIN "Admin" //Flags in the players table in the db -#define DB_FLAG_EXEMPT 1 +#define DB_FLAG_EXEMPT (1<<0) #define DEFAULT_CYBORG_NAME "Default Cyborg Name" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6229cf55cc6..a8bef76b282 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -33,7 +33,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/list/key_bindings_by_key = list() var/toggles = TOGGLES_DEFAULT - var/db_flags + var/db_flags = NONE var/chat_toggles = TOGGLES_DEFAULT_CHAT var/ghost_form = "ghost" diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm index b2c051a4e1c..6b429b25f48 100644 --- a/code/modules/jobs/job_exp.dm +++ b/code/modules/jobs/job_exp.dm @@ -203,6 +203,6 @@ GLOBAL_PROTECT(exp_to_update) if(flags_read.NextRow()) prefs.db_flags = text2num(flags_read.item[1]) else if(isnull(prefs.db_flags)) - prefs.db_flags = 0 //This PROBABLY won't happen, but better safe than sorry. + prefs.db_flags = NONE //This PROBABLY won't happen, but better safe than sorry. qdel(flags_read) return TRUE diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index fbd9de56632..bbb41aafcae 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -259,6 +259,11 @@ if(!SSdbcore.Connect()) return 0 + // If they have been exempted from date availability checks, we assume they are old enough for all jobs. + // This is only added whenever an admin manually ticks the box for this player. + if(player.prefs?.db_flags & DB_FLAG_EXEMPT) + return 0 + // As of the time of writing this comment, verifying database connection isn't "solved". Sometimes rust-g will report a // connection mid-shift despite the database dying. // If the client age is -1, it means that no code path has overwritten it. Even first time connections get it set to 0,