diff --git a/code/_compile_options.dm.rej b/code/_compile_options.dm.rej
deleted file mode 100644
index 842c24b746..0000000000
--- a/code/_compile_options.dm.rej
+++ /dev/null
@@ -1,11 +0,0 @@
-diff a/code/_compile_options.dm b/code/_compile_options.dm (rejected hunks)
-@@ -69,7 +69,7 @@
- #error You need version 511 or higher
- #endif
-
--//Update this whenever the db schema changes
-+//Update this whenever the db schema changes
- //make sure you add an update to the schema_version stable in the db changelog
- #define DB_MAJOR_VERSION 3
--#define DB_MINOR_VERSION 2
-+#define DB_MINOR_VERSION 3
diff --git a/code/controllers/configuration.dm.rej b/code/controllers/configuration.dm.rej
deleted file mode 100644
index 5d5c2c5055..0000000000
--- a/code/controllers/configuration.dm.rej
+++ /dev/null
@@ -1,24 +0,0 @@
-diff a/code/controllers/configuration.dm b/code/controllers/configuration.dm (rejected hunks)
-@@ -337,17 +337,17 @@
- if("use_account_age_for_jobs")
- use_account_age_for_jobs = 1
- if("use_exp_tracking")
-- use_exp_tracking = 1
-+ use_exp_tracking = TRUE
- if("use_exp_restrictions_heads")
-- use_exp_restrictions_heads = 1
-+ use_exp_restrictions_heads = TRUE
- if("use_exp_restrictions_heads_hours")
- use_exp_restrictions_heads_hours = text2num(value)
- if("use_exp_restrictions_heads_department")
-- use_exp_restrictions_heads_department = 1
-+ use_exp_restrictions_heads_department = TRUE
- if("use_exp_restrictions_other")
-- use_exp_restrictions_other = 1
-+ use_exp_restrictions_other = TRUE
- if("use_exp_restrictions_admin_bypass")
-- use_exp_restrictions_admin_bypass = 1
-+ use_exp_restrictions_admin_bypass = TRUE
- if("lobby_countdown")
- lobby_countdown = text2num(value)
- if("round_end_countdown")
diff --git a/code/controllers/subsystem/blackbox.dm.rej b/code/controllers/subsystem/blackbox.dm.rej
deleted file mode 100644
index 5bd713172b..0000000000
--- a/code/controllers/subsystem/blackbox.dm.rej
+++ /dev/null
@@ -1,10 +0,0 @@
-diff a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm (rejected hunks)
-@@ -40,7 +40,7 @@ SUBSYSTEM_DEF(blackbox)
-
- if(config.use_exp_tracking)
- if((triggertime < 0) || (world.time > (triggertime +3000))) //subsystem fires once at roundstart then once every 10 minutes. a 5 min check skips the first fire. The <0 is midnight rollover check
-- SSblackbox.update_exp(10,FALSE)
-+ update_exp(10,FALSE)
-
-
- /datum/controller/subsystem/blackbox/Recover()
diff --git a/code/controllers/subsystem/server_maint.dm.rej b/code/controllers/subsystem/server_maint.dm.rej
deleted file mode 100644
index 486375b505..0000000000
--- a/code/controllers/subsystem/server_maint.dm.rej
+++ /dev/null
@@ -1,30 +0,0 @@
-diff a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm (rejected hunks)
-@@ -6,18 +6,16 @@ SUBSYSTEM_DEF(server_maint)
- flags = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY
- priority = 10
- var/list/currentrun
-- var/triggertime = null
-
- /datum/controller/subsystem/server_maint/Initialize(timeofday)
- if (config.hub)
- world.visibility = 1
-- triggertime = REALTIMEOFDAY
- ..()
-
- /datum/controller/subsystem/server_maint/fire(resumed = FALSE)
- if(!resumed)
- src.currentrun = GLOB.clients.Copy()
--
-+
- var/list/currentrun = src.currentrun
- var/round_started = SSticker.HasRoundStarted()
-
-@@ -39,8 +37,3 @@ SUBSYSTEM_DEF(server_maint)
- return
-
- #undef PING_BUFFER_TIME
-- if(config.sql_enabled)
-- sql_poll_population()
-- if(config.use_exp_tracking)
-- if(REALTIMEOFDAY > (triggertime +3000)) //server maint fires once at roundstart then once every 10 minutes. a 5 min check skips the first fire
-- update_exp(10,0)
diff --git a/code/game/gamemodes/antag_spawner.dm.rej b/code/game/gamemodes/antag_spawner.dm.rej
deleted file mode 100644
index ea9a00132a..0000000000
--- a/code/game/gamemodes/antag_spawner.dm.rej
+++ /dev/null
@@ -1,9 +0,0 @@
-diff a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm (rejected hunks)
-@@ -108,6 +108,7 @@
- new_objective.explanation_text = "Protect [usr.real_name], the wizard."
- M.mind.objectives += new_objective
- SSticker.mode.apprentices += M.mind
-+ M.mind.assigned_role = "Apprentice"
- M.mind.special_role = "apprentice"
- SSticker.mode.update_wiz_icons_added(M.mind)
- M << sound('sound/effects/magic.ogg')
diff --git a/code/game/gamemodes/factions.dm b/code/game/gamemodes/factions.dm
deleted file mode 100644
index d8d7d92831..0000000000
--- a/code/game/gamemodes/factions.dm
+++ /dev/null
@@ -1 +0,0 @@
-//Todo
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm.rej b/code/game/gamemodes/malfunction/Malf_Modules.dm.rej
deleted file mode 100644
index 97dbe2bbdb..0000000000
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm.rej
+++ /dev/null
@@ -1,11 +0,0 @@
-diff a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm (rejected hunks)
-@@ -309,8 +309,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
- owner_AI.nuking = TRUE
- owner_AI.doomsday_device = DOOM
- owner_AI.doomsday_device.start()
-- for(var/pinpointer in GLOB.pinpointer_list)
-- var/obj/item/weapon/pinpointer/P = pinpointer
-+ for(var/obj/item/weapon/pinpointer/nuke/P in GLOB.pinpointer_list)
- P.switch_mode_to(TRACK_MALF_AI) //Pinpointers start tracking the AI wherever it goes
- qdel(src)
-
diff --git a/code/game/gamemodes/nuclear/nuclear.dm.rej b/code/game/gamemodes/nuclear/nuclear.dm.rej
deleted file mode 100644
index 19648547c7..0000000000
--- a/code/game/gamemodes/nuclear/nuclear.dm.rej
+++ /dev/null
@@ -1,10 +0,0 @@
-diff a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm (rejected hunks)
-@@ -325,7 +325,7 @@
- gloves = /obj/item/clothing/gloves/combat
- back = /obj/item/weapon/storage/backpack
- ears = /obj/item/device/radio/headset/syndicate/alt
-- l_pocket = /obj/item/weapon/pinpointer/syndicate
-+ l_pocket = /obj/item/weapon/pinpointer/nuke/syndicate
- id = /obj/item/weapon/card/id/syndicate
- belt = /obj/item/weapon/gun/ballistic/automatic/pistol
- backpack_contents = list(/obj/item/weapon/storage/box/syndie=1)
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm.rej b/code/game/gamemodes/nuclear/nuclearbomb.dm.rej
deleted file mode 100644
index 6a35e91cde..0000000000
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm.rej
+++ /dev/null
@@ -1,33 +0,0 @@
-diff a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm (rejected hunks)
-@@ -362,9 +362,9 @@
- if(safety)
- if(timing)
- set_security_level(previous_level)
-- for(var/obj/item/weapon/pinpointer/syndicate/S in GLOB.pinpointer_list)
-+ for(var/obj/item/weapon/pinpointer/nuke/syndicate/S in GLOB.pinpointer_list)
- S.switch_mode_to(initial(S.mode))
-- S.nuke_warning = FALSE
-+ S.alert = FALSE
- timing = FALSE
- bomb_set = TRUE
- detonation_timer = null
-@@ -381,16 +381,16 @@
- bomb_set = TRUE
- set_security_level("delta")
- detonation_timer = world.time + (timer_set * 10)
-- for(var/obj/item/weapon/pinpointer/syndicate/S in GLOB.pinpointer_list)
-+ for(var/obj/item/weapon/pinpointer/nuke/syndicate/S in GLOB.pinpointer_list)
- S.switch_mode_to(TRACK_INFILTRATOR)
- countdown.start()
- else
- bomb_set = FALSE
- detonation_timer = null
- set_security_level(previous_level)
-- for(var/obj/item/weapon/pinpointer/syndicate/S in GLOB.pinpointer_list)
-+ for(var/obj/item/weapon/pinpointer/nuke/syndicate/S in GLOB.pinpointer_list)
- S.switch_mode_to(initial(S.mode))
-- S.nuke_warning = FALSE
-+ S.alert = FALSE
- countdown.stop()
- update_icon()
-
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm.rej b/code/game/gamemodes/nuclear/pinpointer.dm.rej
deleted file mode 100644
index 79d652af9b..0000000000
--- a/code/game/gamemodes/nuclear/pinpointer.dm.rej
+++ /dev/null
@@ -1,21 +0,0 @@
-diff a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm (rejected hunks)
-@@ -30,7 +30,6 @@
- var/mob/living/L = loc
- to_chat(L, "Your [name] vibrates and lets out a tinny alarm. Uh oh.")
-
--
- /obj/item/pinpointer/nuke/scan_for_target()
- target = null
- switch(mode)
-@@ -58,10 +57,10 @@
- mode = new_mode
- scan_for_target()
-
--
- /obj/item/pinpointer/nuke/syndicate // Syndicate pinpointers automatically point towards the infiltrator once the nuke is active.
- name = "syndicate pinpointer"
- desc = "A handheld tracking device that locks onto certain signals. It's configured to switch tracking modes once it detects the activation signal of a nuclear device."
-+ icon_state = "pinpointer_syndicate"
-
- /obj/item/pinpointer/syndicate_cyborg // Cyborg pinpointers just look for a random operative.
- name = "cyborg syndicate pinpointer"
diff --git a/code/game/gamemodes/objective_items.dm.rej b/code/game/gamemodes/objective_items.dm.rej
deleted file mode 100644
index 3770d7eea9..0000000000
--- a/code/game/gamemodes/objective_items.dm.rej
+++ /dev/null
@@ -1,10 +0,0 @@
-diff a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm (rejected hunks)
-@@ -158,7 +158,7 @@
- difficulty = 10
-
- //Old ninja objectives.
--/datum/objective_item/special/pinpointer
-+/datum/objective_item/special/pinpointer/nuke
- name = "the captain's pinpointer."
- targetitem = /obj/item/pinpointer
- difficulty = 10
diff --git a/code/modules/admin/admin_verbs.dm.rej b/code/modules/admin/admin_verbs.dm.rej
deleted file mode 100644
index c2f884d37c..0000000000
--- a/code/modules/admin/admin_verbs.dm.rej
+++ /dev/null
@@ -1,10 +0,0 @@
-diff a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm (rejected hunks)
-@@ -663,7 +664,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable())
-
- if(!holder)
- return
--
-+
- if(has_antag_hud())
- toggle_antag_hud()
-
diff --git a/code/modules/admin/verbs/randomverbs.dm.rej b/code/modules/admin/verbs/randomverbs.dm.rej
deleted file mode 100644
index 9941251566..0000000000
--- a/code/modules/admin/verbs/randomverbs.dm.rej
+++ /dev/null
@@ -1,25 +0,0 @@
-diff a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm (rejected hunks)
-@@ -1246,7 +1246,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
- to_chat(usr, "ERROR: Client not found.")
- return
-
-- C.set_db_player_flags()
-+ if(!C.set_db_player_flags())
-+ to_chat(usr, "ERROR: Unable read player flags from database. Please check logs.")
- var/dbflags = C.prefs.db_flags
- var/newstate = FALSE
- if(dbflags & DB_FLAG_EXEMPT)
-@@ -1254,6 +1255,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
- else
- newstate = TRUE
-
-- message_admins("[key_name_admin(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name_admin(C)]")
-- log_admin("[key_name(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name(C)]")
-- C.update_flag_db(DB_FLAG_EXEMPT, newstate)
-\ No newline at end of file
-+ if(C.update_flag_db(DB_FLAG_EXEMPT, newstate))
-+ to_chat(usr, "ERROR: Unable to update player flags. Please check logs.")
-+ else
-+ message_admins("[key_name_admin(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name_admin(C)]")
-+ log_admin("[key_name(usr)] has [newstate ? "activated" : "deactivated"] job exp exempt status on [key_name(C)]")
-\ No newline at end of file
diff --git a/code/modules/client/preferences.dm.rej b/code/modules/client/preferences.dm.rej
deleted file mode 100644
index 02e6ad2d76..0000000000
--- a/code/modules/client/preferences.dm.rej
+++ /dev/null
@@ -1,14 +0,0 @@
-diff a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm (rejected hunks)
-@@ -130,12 +130,6 @@ GLOBAL_LIST_EMPTY(preferences_datums)
- menuoptions = list()
- return
-
--/datum/preferences/vv_edit_var(var_name, var_value)
-- var/static/list/banned_edits = list("exp")
-- if(var_name in banned_edits)
-- return FALSE
-- return ..()
--
- /datum/preferences/proc/ShowChoices(mob/user)
- if(!user || !user.client)
- return
diff --git a/code/modules/jobs/job_exp.dm.rej b/code/modules/jobs/job_exp.dm.rej
deleted file mode 100644
index 128a479acd..0000000000
--- a/code/modules/jobs/job_exp.dm.rej
+++ /dev/null
@@ -1,108 +0,0 @@
-diff a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm (rejected hunks)
-@@ -140,15 +140,12 @@ GLOBAL_PROTECT(exp_to_update)
- //resets a client's exp to what was in the db.
- /client/proc/set_exp_from_db()
- if(!config.use_exp_tracking)
-- return
-+ return -1
- if(!SSdbcore.Connect())
- return -1
- var/datum/DBQuery/exp_read = SSdbcore.NewQuery("SELECT job, minutes FROM [format_table_name("role_time")] WHERE ckey = '[sanitizeSQL(ckey)]'")
- if(!exp_read.Execute())
-- var/err = exp_read.ErrorMsg()
-- log_sql("SQL ERROR during exp_update_client read. Error : \[[err]\]\n")
-- message_admins("SQL ERROR during exp_update_client read. Error : \[[err]\]\n")
-- return
-+ return -1
- var/list/play_records = list()
- while(exp_read.NextRow())
- play_records[exp_read.item[1]] = text2num(exp_read.item[2])
-@@ -172,42 +169,24 @@ GLOBAL_PROTECT(exp_to_update)
- if(!set_db_player_flags())
- return -1
-
-- var/datum/DBQuery/flag_read = SSdbcore.NewQuery("SELECT flags FROM [format_table_name("player")] WHERE ckey='[sanitizeSQL(ckey)]'")
--
-- if(!flag_read.Execute())
-- var/err = flag_read.ErrorMsg()
-- log_sql("SQL ERROR during player flags read. Error : \[[err]\]\n")
-- message_admins("SQL ERROR during player flags read. Error : \[[err]\]\n")
-- return
--
-- var/playerflags = null
-- if(flag_read.NextRow())
-- playerflags = text2num(flag_read.item[1])
--
-- if((playerflags & newflag) && !state)
-+ if((prefs.db_flags & newflag) && !state)
- prefs.db_flags &= ~newflag
- else
- prefs.db_flags |= newflag
-
- var/datum/DBQuery/flag_update = SSdbcore.NewQuery("UPDATE [format_table_name("player")] SET flags = '[prefs.db_flags]' WHERE ckey='[sanitizeSQL(ckey)]'")
-
--
- if(!flag_update.Execute())
-- var/err = flag_update.ErrorMsg()
-- log_sql("SQL ERROR during exp_exempt update. Error : \[[err]\]\n")
-- message_admins("SQL ERROR during exp_exempt update. Error : \[[err]\]\n")
-- return
-+ return -1
-+
-
- /client/proc/update_exp_list(minutes, announce_changes = FALSE)
- if(!config.use_exp_tracking)
-- return
-+ return -1
- if(!SSdbcore.Connect())
- return -1
- var/datum/DBQuery/exp_read = SSdbcore.NewQuery("SELECT job, minutes FROM [format_table_name("role_time")] WHERE ckey = '[sanitizeSQL(ckey)]'")
- if(!exp_read.Execute())
-- var/err = exp_read.ErrorMsg()
-- log_sql("SQL ERROR during exp_update_client read. Error : \[[err]\]\n")
-- message_admins("SQL ERROR during exp_update_client read. Error : \[[err]\]\n")
- return -1
- var/list/play_records = list()
- while(exp_read.NextRow())
-@@ -241,9 +220,13 @@ GLOBAL_PROTECT(exp_to_update)
- if(announce_changes)
- to_chat(mob,"You got: [minutes] [role] EXP!")
- if(mob.mind.special_role && !mob.mind.var_edited)
-- play_records[mob.mind.special_role] += minutes
-+ var/trackedrole = mob.mind.special_role
-+ var/gangrole = lookforgangrole(mob.mind.special_role)
-+ if(gangrole)
-+ trackedrole = gangrole
-+ play_records[trackedrole] += minutes
- if(announce_changes)
-- to_chat(src,"You got: [minutes] [mob.mind.special_role] EXP!")
-+ to_chat(src,"You got: [minutes] [trackedrole] EXP!")
- if(!rolefound)
- play_records["Unknown"] += minutes
- else
-@@ -276,11 +259,21 @@ GLOBAL_PROTECT(exp_to_update)
- var/datum/DBQuery/flags_read = SSdbcore.NewQuery("SELECT flags FROM [format_table_name("player")] WHERE ckey='[ckey]'")
-
- if(!flags_read.Execute())
-- var/err = flags_read.ErrorMsg()
-- log_sql("SQL ERROR during player flags read. Error : \[[err]\]\n")
-- message_admins("SQL ERROR during player flags read. Error : \[[err]\]\n")
- return FALSE
-
- 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.
- return TRUE
-+
-+//Since each gang is tracked as a different antag type, records need to be generalized or you get up to 57 different possible records
-+/proc/lookforgangrole(rolecheck)
-+ if(findtext(rolecheck,"Gangster"))
-+ return "Gangster"
-+ else if(findtext(rolecheck,"Gang Boss"))
-+ return "Gang Boss"
-+ else if(findtext(rolecheck,"Gang Lieutenant"))
-+ return "Gang Lieutenant"
-+ else
-+ return FALSE
-\ No newline at end of file
diff --git a/code/modules/mob/dead/new_player/login.dm.rej b/code/modules/mob/dead/new_player/login.dm.rej
deleted file mode 100644
index b7361e13ff..0000000000
--- a/code/modules/mob/dead/new_player/login.dm.rej
+++ /dev/null
@@ -1,9 +0,0 @@
-diff a/code/modules/mob/dead/new_player/login.dm b/code/modules/mob/dead/new_player/login.dm (rejected hunks)
-@@ -1,5 +1,6 @@
- /mob/dead/new_player/Login()
-- client.update_exp_client(0, 0)
-+ if(config.use_exp_tracking)
-+ client.update_exp_client(0, 0)
- if(!mind)
- mind = new /datum/mind(key)
- mind.active = 1
diff --git a/code/modules/mob/living/silicon/ai/death.dm.rej b/code/modules/mob/living/silicon/ai/death.dm.rej
deleted file mode 100644
index 40b5625e8c..0000000000
--- a/code/modules/mob/living/silicon/ai/death.dm.rej
+++ /dev/null
@@ -1,13 +0,0 @@
-diff a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm (rejected hunks)
-@@ -35,9 +35,9 @@
- if(nuking)
- set_security_level("red")
- nuking = FALSE
-- for(var/obj/item/weapon/pinpointer/P in GLOB.pinpointer_list)
-+ for(var/obj/item/weapon/pinpointer/nuke/P in GLOB.pinpointer_list)
- P.switch_mode_to(TRACK_NUKE_DISK) //Party's over, back to work, everyone
-- P.nuke_warning = FALSE
-+ P.alert = FALSE
-
- if(doomsday_device)
- doomsday_device.timing = FALSE
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm.rej b/code/modules/mob/living/silicon/robot/robot_modules.dm.rej
deleted file mode 100644
index b0f0812dc4..0000000000
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm.rej
+++ /dev/null
@@ -1,19 +0,0 @@
-diff a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm (rejected hunks)
-@@ -519,7 +519,7 @@
- /obj/item/weapon/gun/ballistic/revolver/grenadelauncher/cyborg,
- /obj/item/weapon/card/emag,
- /obj/item/weapon/crowbar/cyborg,
-- /obj/item/weapon/pinpointer/syndicate/cyborg)
-+ /obj/item/weapon/pinpointer/syndicate_cyborg)
-
- ratvar_modules = list(
- /obj/item/clockwork/slab/cyborg/security,
-@@ -545,7 +545,7 @@
- /obj/item/roller/robo,
- /obj/item/weapon/card/emag,
- /obj/item/weapon/crowbar/cyborg,
-- /obj/item/weapon/pinpointer/syndicate/cyborg,
-+ /obj/item/weapon/pinpointer/syndicate_cyborg,
- /obj/item/stack/medical/gauze/cyborg,
- /obj/item/weapon/gun/medbeam)
- ratvar_modules = list(
diff --git a/config/config.txt.rej b/config/config.txt.rej
deleted file mode 100644
index fee79cf699..0000000000
--- a/config/config.txt.rej
+++ /dev/null
@@ -1,25 +0,0 @@
-diff a/config/config.txt b/config/config.txt (rejected hunks)
-@@ -32,17 +32,17 @@ BAN_LEGACY_SYSTEM
- ## Uncomment this to have the job system use the player's account creation date, rather than the when they first joined the server for job timers.
- #USE_ACCOUNT_AGE_FOR_JOBS
-
--##Unhash this to track player playtime in the database. Requires database to be enabled.
-+## Unhash this to track player playtime in the database. Requires database to be enabled.
- #USE_EXP_TRACKING
--##Unhash this to enable playtime requirements for head jobs.
-+## Unhash this to enable playtime requirements for head jobs.
- #USE_EXP_RESTRICTIONS_HEADS
--##Unhash this to override head jobs' playtime requirements with this number of hours.
-+## Unhash this to override head jobs' playtime requirements with this number of hours.
- #USE_EXP_RESTRICTIONS_HEADS_HOURS 15
--##Unhash this to change head jobs' playtime requirements so that they're based on department playtime, rather than crew playtime.
-+## Unhash this to change head jobs' playtime requirements so that they're based on department playtime, rather than crew playtime.
- #USE_EXP_RESTRICTIONS_HEADS_DEPARTMENT
--##Unhash this to enable playtime requirements for certain non-head jobs, like Engineer and Scientist.
-+## Unhash this to enable playtime requirements for certain non-head jobs, like Engineer and Scientist.
- #USE_EXP_RESTRICTIONS_OTHER
--##Allows admins to bypass job playtime requirements.
-+## Allows admins to bypass job playtime requirements.
- #USE_EXP_RESTRICTIONS_ADMIN_BYPASS
-
-