diff --git a/code/controllers/admin.dm b/code/controllers/admin.dm index 834b5d2caa..6e87ce01db 100644 --- a/code/controllers/admin.dm +++ b/code/controllers/admin.dm @@ -81,7 +81,6 @@ ADMIN_VERB(debug_controller, R_DEBUG, "Debug Controller", "Debug the various per options["LEGACY: job_master"] = GLOB.job_master options["LEGACY: emergency_shuttle"] = GLOB.emergency_shuttle options["LEGACY: cameranet"] = GLOB.cameranet - options["LEGACY: transfer_controller"] = GLOB.transfer_controller var/pick = tgui_input_list(user, "Choose a controller to debug/view variables of.", "VV controller:", options) if(!pick) diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 53b1ebe391..aa510f88c2 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -36,7 +36,6 @@ GLOBAL_DATUM(master_controller, /datum/controller/game_controller) //Set in worl // setupgenetics() Moved to SSatoms // SetupXenoarch() - Moved to SSxenoarch - GLOB.transfer_controller = new admin_notice(span_danger("Initializations complete."), R_DEBUG) // #if UNIT_TESTS diff --git a/code/controllers/autotransfer.dm b/code/controllers/subsystems/autotransfer.dm similarity index 64% rename from code/controllers/autotransfer.dm rename to code/controllers/subsystems/autotransfer.dm index e318f79ace..3ac82028c5 100644 --- a/code/controllers/autotransfer.dm +++ b/code/controllers/subsystems/autotransfer.dm @@ -1,24 +1,23 @@ -GLOBAL_DATUM(transfer_controller, /datum/controller/transfer_controller) +SUBSYSTEM_DEF(transfer) + name = "Transfer" + wait = 1 SECOND + runlevels = RUNLEVEL_GAME + init_stage = INITSTAGE_LAST + flags = SS_KEEP_TIMING -/datum/controller/transfer_controller - var/timerbuffer = 0 //buffer for time check - var/currenttick = 0 - var/shift_hard_end = 0 //VOREStation Edit - var/shift_last_vote = 0 //VOREStation Edit + VAR_PRIVATE/timerbuffer = 0 //buffer for time check + VAR_PRIVATE/currenttick = 0 + VAR_PRIVATE/shift_hard_end = 0 + VAR_PRIVATE/shift_last_vote = 0 -/datum/controller/transfer_controller/New() +/datum/controller/subsystem/transfer/Initialize() timerbuffer = CONFIG_GET(number/vote_autotransfer_initial) - shift_hard_end = CONFIG_GET(number/vote_autotransfer_initial) + (CONFIG_GET(number/vote_autotransfer_interval) * 0) //VOREStation Edit //Change this "1" to how many extend votes you want there to be. - shift_last_vote = shift_hard_end - CONFIG_GET(number/vote_autotransfer_interval) //VOREStation Edit - START_PROCESSING(SSprocessing, src) + shift_hard_end = CONFIG_GET(number/vote_autotransfer_initial) + (CONFIG_GET(number/vote_autotransfer_interval) * 0) //Change this "1" to how many extend votes you want there to be. + shift_last_vote = shift_hard_end - CONFIG_GET(number/vote_autotransfer_interval) + return SS_INIT_SUCCESS -/datum/controller/transfer_controller/Destroy() - STOP_PROCESSING(SSprocessing, src) - . = ..() - -/datum/controller/transfer_controller/process() +/datum/controller/subsystem/transfer/fire(resumed) currenttick = currenttick + 1 - //VOREStation Edit START if (round_duration_in_ds >= shift_last_vote - 2 MINUTES) shift_last_vote = 99999999 //Setting to a stupidly high number since it'll be not used again. to_chat(world, span_world(span_notice("Warning: You have one hour left in the shift. Wrap up your scenes in the next 60 minutes before the transfer is called."))) //VOREStation Edit @@ -28,10 +27,9 @@ GLOBAL_DATUM(transfer_controller, /datum/controller/transfer_controller) timerbuffer = timerbuffer + CONFIG_GET(number/vote_autotransfer_interval) //Just to make sure a vote doesn't occur immediately afterwords. else if (round_duration_in_ds >= timerbuffer - 1 MINUTE) SSvote.start_vote(new /datum/vote/crew_transfer) - //VOREStation Edit END timerbuffer = timerbuffer + CONFIG_GET(number/vote_autotransfer_interval) -/datum/controller/transfer_controller/proc/modify_hard_end(client/user) +/datum/controller/subsystem/transfer/proc/modify_hard_end(client/user) var/new_shift_end = tgui_input_number(user, "Modify the shift end timer (Input in Minutes)", "Shift End", shift_hard_end / 600) if(!new_shift_end) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 364eb0a49e..461ed655c2 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -682,4 +682,4 @@ ADMIN_VERB(toggle_spawning_with_recolour, R_ADMIN|R_EVENT|R_FUN, "Toggle Simple/ to_chat(user, "You have [CONFIG_GET(flag/allow_simple_mob_recolor) ? "enabled" : "disabled"] newly spawned simple mobs to spawn with the recolour verb") ADMIN_VERB(modify_shift_end, (R_ADMIN|R_EVENT|R_SERVER), "Modify Shift End", "Modifies the hard shift end time.", ADMIN_CATEGORY_SERVER_GAME) - GLOB.transfer_controller.modify_hard_end(user) + SStransfer.modify_hard_end(user) diff --git a/vorestation.dme b/vorestation.dme index 519b1dd250..0a3cdc8ee5 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -534,7 +534,6 @@ #include "code\ATMOSPHERICS\pipes\universal.dm" #include "code\ATMOSPHERICS\pipes\vent.dm" #include "code\controllers\admin.dm" -#include "code\controllers\autotransfer.dm" #include "code\controllers\controller.dm" #include "code\controllers\emergency_shuttle_controller.dm" #include "code\controllers\failsafe.dm" @@ -565,6 +564,7 @@ #include "code\controllers\subsystems\asset_loading.dm" #include "code\controllers\subsystems\assets.dm" #include "code\controllers\subsystems\atoms.dm" +#include "code\controllers\subsystems\autotransfer.dm" #include "code\controllers\subsystems\character_setup.dm" #include "code\controllers\subsystems\chat.dm" #include "code\controllers\subsystems\chemistry.dm"