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