diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 0f4ae021ad..74847ed88c 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -177,7 +177,8 @@ GLOBAL_REAL(Master, /datum/controller/master) = new to_chat(world, "[msg]") log_world(msg) - SetRunLevel(1) + if (!current_runlevel) + SetRunLevel(1) // Sort subsystems by display setting for easy access. sortTim(subsystems, /proc/cmp_subsystem_display) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index a54c74966a..c839c7c33d 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -744,6 +744,15 @@ SUBSYSTEM_DEF(ticker) cinematic = SSticker.cinematic maprotatechecked = SSticker.maprotatechecked + switch (current_state) + if(GAME_STATE_SETTING_UP) + Master.SetRunLevel(RUNLEVEL_SETUP) + if(GAME_STATE_PLAYING) + Master.SetRunLevel(RUNLEVEL_GAME) + if(GAME_STATE_FINISHED) + Master.SetRunLevel(RUNLEVEL_POSTGAME) + + modevoted = SSticker.modevoted /datum/controller/subsystem/ticker/proc/send_news_report() @@ -844,7 +853,7 @@ SUBSYSTEM_DEF(ticker) if(delay_end) to_chat(world, "An admin has delayed the round end.") return - + to_chat(world, "Rebooting World in [delay/10] [(delay >= 10 && delay < 20) ? "second" : "seconds"]. [reason]") var/start_wait = world.time @@ -854,7 +863,7 @@ SUBSYSTEM_DEF(ticker) if(delay_end) to_chat(world, "Reboot was cancelled by an admin.") return - + SSblackbox.set_details("[feedback_c]","[feedback_r]") log_game("Rebooting World. [reason]")