diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index e9d3af9abb71..1cee0fe1c84c 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -35,6 +35,10 @@ // CRIMSON EDIT ADD START #define JOB_UNAVAILABLE_DONATOR 18 +#define JOB_UNAVAILABLE_BANNED_SPLAT 19 +#define JOB_UNAVAILABLE_BANNED_TRIBE 20 +#define JOB_UNAVAILABLE_BANNED_CLAN 21 +#define JOB_UNAVAILABLE_BANNED_AUSPICE 22 // CRIMSON EDIT ADD END diff --git a/code/__HELPERS/~~crimson_helpers/text.dm b/code/__HELPERS/~~crimson_helpers/text.dm index cb6383f2e031..ba03bab47c28 100644 --- a/code/__HELPERS/~~crimson_helpers/text.dm +++ b/code/__HELPERS/~~crimson_helpers/text.dm @@ -4,3 +4,17 @@ if(isnull(http_regex)) http_regex = new("^https?://") return findtext(text, http_regex) + +// example: my_ass_hurts -> MyAssHurts or My Ass Hurts (with underscore_as_space) +/// Snakecake to pascalcase +/proc/snake_to_pascal(text, underscore_as_space = FALSE) + var/list/parts = splittext(text, "_") + var/result = "" + + for (var/part in parts) + if (underscore_as_space) + if (result) + result += " " + result += uppertext(copytext(part, 1, 2)) + copytext(part, 2) + + return result diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index d922c3c1438f..2c16519937e1 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -362,6 +362,14 @@ "} break_counter++ output += "" + // CRIMSON EDIT ADD START - SUBSPLAT_BANS + var/list/clan_list = list() + for(var/key in GLOB.vampire_clan_list) + var/datum/subsplat/vampire_clan/clan = GLOB.vampire_clan_list[key] + if(clan) + clan_list += clan.name + // CRIMSON EDIT END + var/list/long_job_lists = list( "Ghost and Other Roles" = list( ROLE_PAI, @@ -405,6 +413,42 @@ ROLE_VOIDWALKER, ROLE_WIZARD, ), + // CRIMSON EDIT ADD START - SUBSPLAT_BANS + // SPLAT_* and VAMPIRE_* defines are in snake_case, so below we'll have the label converted with snake_to_pascal + "Splats" = list( + SPLAT_KINDRED, + SPLAT_GHOUL, + SPLAT_KINFOLK, + SPLAT_GAROU, + SPLAT_CORAX, + ), + "Clans" = clan_list, + "Tribes" = list( + TRIBE_RONIN, + TRIBE_BLACK_FURIES, + TRIBE_BONE_GNAWERS, + TRIBE_CHILDREN_OF_GAIA, + TRIBE_FIANNA, + TRIBE_GALESTALKERS, + TRIBE_GET_OF_FENRIS, + TRIBE_UKTENA, + TRIBE_GLASS_WALKERS, + TRIBE_RED_TALONS, + TRIBE_SHADOW_LORDS, + TRIBE_SILENT_STRIDERS, + TRIBE_SILVER_FANGS, + TRIBE_STARGAZERS, + TRIBE_BLACK_SPIRAL_DANCERS, + ), + "Auspice" = list( // body wash cant block odor for 16 hours + AUSPICE_NONE, + AUSPICE_RAGABASH, + AUSPICE_THEURGE, + AUSPICE_PHILODOX, + AUSPICE_AHROUN, + AUSPICE_GALLIARD, + ) + // CRIMSON EDIT ADD END ) for(var/department in long_job_lists) output += "
" @@ -412,7 +456,8 @@ for(var/job in long_job_lists[department]) if(break_counter > 0 && (break_counter % 10 == 0)) output += "
" - output += {"