SQL-Based Player Ranks and Player Ranks Subsystem (#23099)

* Initial draft, most of the stuff is implemented, not really tested or cleaned up yet

* Refactors the handling into a datum-based approach, for more abstraction

* Added migration, properly hooked up the verb to the new system

* Removed some more dead code

* Fixes some missing stuff from the .dme because VSC is stupid sometimes with merge conflicts

* Fixes the schema

* Wow I was really getting tired huh

* A fool, I say, a fool!

* I hate lists of lists I hate lists of lists I hate lists of lists

* I somehow missed this one twice. TWICE!

* This won't actually work if it's defaulting to true, lmao

* Makes it not log stuff if the adding or removing of players is unsuccessful

* Adds a way to update all of the unlock_contents for preferences datums once the donator list is initialized

* Runs update_prefs_unlock_content on mob Login() (hopefully this helps)

* Fixes the bajillion of runtimes caused by my dumb ass trying to make some client calls on ckeys

* Man I was really tired that day

* I had this ready for three hours and forgot to push it
This commit is contained in:
GoldenAlpharex
2023-08-29 10:12:01 -04:00
committed by GitHub
parent e1adeeb913
commit 1b17b304f2
27 changed files with 1115 additions and 284 deletions

View File

@@ -940,7 +940,7 @@ SUBSYSTEM_DEF(job)
return JOB_UNAVAILABLE_AGE
//SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION
if(possible_job.veteran_only && !is_veteran_player(player.client))
if(possible_job.veteran_only && !SSplayer_ranks.is_veteran(player.client))
JobDebug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_NOT_VETERAN)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]")
return JOB_NOT_VETERAN

View File

@@ -73,7 +73,6 @@ SUBSYSTEM_DEF(ticker)
var/discord_alerted = FALSE //SKYRAT EDIT - DISCORD PING SPAM PREVENTION
/datum/controller/subsystem/ticker/Initialize()
load_mentors() // SKYRAT EDIT ADDITION - MENTORS STOPPED LOADING AUTOMATICALLY DUE TO RECENT TG CHANGES
var/list/byond_sound_formats = list(
"mid" = TRUE,
"midi" = TRUE,