diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm index f05d7e717cf..7279b8c9932 100644 --- a/code/modules/client/preference_setup/general/01_basic.dm +++ b/code/modules/client/preference_setup/general/01_basic.dm @@ -19,6 +19,7 @@ datum/preferences/proc/set_biological_gender(var/gender) S["age"] >> pref.age S["spawnpoint"] >> pref.spawnpoint S["OOC_Notes"] >> pref.metadata + S["verified"] >> pref.verified /datum/category_item/player_setup_item/general/basic/save_character(var/savefile/S) S["real_name"] << pref.real_name @@ -29,6 +30,7 @@ datum/preferences/proc/set_biological_gender(var/gender) S["age"] << pref.age S["spawnpoint"] << pref.spawnpoint S["OOC_Notes"] << pref.metadata + S["verified"] << pref.verified /datum/category_item/player_setup_item/general/basic/sanitize_character() pref.age = sanitize_integer(pref.age, get_min_age(), get_max_age(), initial(pref.age)) @@ -40,6 +42,7 @@ datum/preferences/proc/set_biological_gender(var/gender) pref.nickname = sanitize_name(pref.nickname) pref.spawnpoint = sanitize_inlist(pref.spawnpoint, spawntypes, initial(pref.spawnpoint)) pref.be_random_name = sanitize_integer(pref.be_random_name, 0, 1, initial(pref.be_random_name)) + pref.verified = sanitize_integer(pref.verified, 0, 1, initial(pref.verified)) // Moved from /datum/preferences/proc/copy_to() /datum/category_item/player_setup_item/general/basic/copy_to_mob(var/mob/living/carbon/human/character) diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm index 4a3e93a5af8..e92fa677776 100644 --- a/code/modules/client/preference_setup/global/setting_datums.dm +++ b/code/modules/client/preference_setup/global/setting_datums.dm @@ -330,3 +330,10 @@ var/list/_client_preferences_by_type enabled_by_default = FALSE enabled_description = "Obfuscate Ghost" disabled_description = "Normal Ghost" + +/datum/client_preference/age_verified + description = "Age Verified Status" + key = "AGE_VERIFIED" + enabled_description = "Show" + disabled_description = "Hide" + enabled_by_default = FALSE diff --git a/code/modules/client/preferences_toggle_procs.dm b/code/modules/client/preferences_toggle_procs.dm index e42839d09e6..1e0225f2082 100644 --- a/code/modules/client/preferences_toggle_procs.dm +++ b/code/modules/client/preferences_toggle_procs.dm @@ -321,3 +321,18 @@ SScharacter_setup.queue_preferences_save(prefs) feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/toggle_age_verification() + set name = "Toggle age verification status" + set category = "Debug" + set desc = "Toggles your age verified status." + + var/pref_path = /datum/client_preference/age_verified + + toggle_preference(pref_path) + + to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] be prompted to verify age.") + + SScharacter_setup.queue_preferences_save(prefs) + + feedback_add_details("admin_verb","TAgeVerify") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 6087fcb05b7..e97689fa290 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -5,7 +5,6 @@ var/totalPlayersReady = 0 var/show_hidden_jobs = 0 // Show jobs that are set to "Never" in preferences var/datum/browser/panel - var/verified = 0 // age verification variable universal_speak = 1 invisibility = 101 @@ -32,10 +31,11 @@ log_admin(text) Logout() else - verified = 1 + client.set_preference(/datum/client_preference/age_verified, 1) + SScharacter_setup.queue_preferences_save(client.prefs) /mob/new_player/proc/new_player_panel_proc() - if(client && verified == 0) // check if the user has already completed the age verification this session + if(client.prefs && !client.is_preference_enabled(/datum/client_preference/age_verified)) // check if the user has already completed the age verification this session verifyage() var/output = "