diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index e9bdeca880..f36b606b30 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -208,6 +208,8 @@
var/generate_minimaps = 0
var/grey_assistants = 0
+ var/id_console_jobslot_delay = 30
+
var/lavaland_budget = 60
var/space_budget = 16
@@ -409,6 +411,8 @@
usewhitelist = TRUE
if("allow_metadata")
allow_Metadata = 1
+ if("id_console_jobslot_delay")
+ id_console_jobslot_delay = text2num(value)
if("inactivity_period")
inactivity_period = text2num(value) * 10 //documented as seconds in config.txt
if("afk_period")
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index ca329f61e5..097f9232d8 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -24,7 +24,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
//Cooldown for closing positions in seconds
//if set to -1: No cooldown... probably a bad idea
//if set to 0: Not able to close "original" positions. You can only close positions that you have opened before
- var/change_position_cooldown = 60
+ var/change_position_cooldown = 30
//Jobs you cannot open new positions for
var/list/blacklisted = list(
"AI",
@@ -46,6 +46,11 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
light_color = LIGHT_COLOR_BLUE
+/obj/machinery/computer/card/Initialize()
+ . = ..()
+ change_position_cooldown = config.id_console_jobslot_delay
+
+
/obj/machinery/computer/card/attackby(obj/O, mob/user, params)//TODO:SANITY
if(istype(O, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/idcard = O
@@ -532,7 +537,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
else
SSjob.prioritized_jobs += j
prioritycount++
- to_chat(usr, "[j.title] has been successfully [priority ? "prioritized" : "unprioritized"]. Potential employees will notice your request.")
+ to_chat(usr, "[j.title] has been successfully [priority ? "prioritized" : "unprioritized"]. Potential employees will notice your request.")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
if ("print")
diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm
index a0879f13ce..fb77197c62 100644
--- a/code/modules/modular_computers/file_system/programs/card.dm
+++ b/code/modules/modular_computers/file_system/programs/card.dm
@@ -19,7 +19,7 @@
var/list/region_access = null
var/list/head_subordinates = null
var/target_dept = 0 //Which department this computer has access to. 0=all departments
- var/change_position_cooldown = 60
+ var/change_position_cooldown = 30
//Jobs you cannot open new positions for
var/list/blacklisted = list(
"AI",
@@ -39,6 +39,10 @@
//Assoc array: "JobName" = (int)
var/list/opened_positions = list();
+/datum/computer_file/program/card_mod/New()
+ ..()
+ change_position_cooldown = config.id_console_jobslot_delay
+
/datum/computer_file/program/card_mod/event_idremoved(background, slot)
if(!slot || slot == 2)// slot being false means both are removed
diff --git a/config/config.txt b/config/config.txt
index 68df4c81cf..0897bcf07b 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -99,6 +99,9 @@ LOG_LAW
## Comment this out to stop admins being able to choose their personal ooccolor
ALLOW_ADMIN_OOCCOLOR
+## Job slot open/close by identification consoles delay in seconds
+ID_CONSOLE_JOBSLOT_DELAY 30
+
## If metadata is supported
ALLOW_METADATA