diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index cf9e80dc25f..7c1880070f3 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -33,8 +33,8 @@ SUBSYSTEM_DEF(ticker) SCRIPTURE_APPLICATION = FALSE) //list of clockcult scripture states for announcements var/delay_end = 0 //if set true, the round will not restart on it's own - var/admin_delay_notice = "" //a message to display to anyone who tries to restart the world after a delay + var/ready_for_reboot = FALSE //all roundend preparation done with, all that's left is reboot var/triai = 0 //Global holder for Triumvirate var/tipped = 0 //Did we broadcast the tip of the day yet? @@ -525,10 +525,17 @@ SUBSYSTEM_DEF(ticker) SSblackbox.Seal() sleep(50) - if(mode.station_was_nuked) - Reboot("Station destroyed by Nuclear Device.", "nuke") + ready_for_reboot = TRUE + standard_reboot() + +/datum/controller/subsystem/ticker/proc/standard_reboot() + if(ready_for_reboot) + if(mode.station_was_nuked) + Reboot("Station destroyed by Nuclear Device.", "nuke") + else + Reboot("Round ended.", "proper completion") else - Reboot("Round ended.", "proper completion") + CRASH("Attempted standard reboot without ticker roundend completion") /datum/controller/subsystem/ticker/proc/send_tip_of_the_round() var/m diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 0854dd8643a..8c34a433649 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -393,6 +393,8 @@ log_admin("[key_name(usr)] [msg]") message_admins("[key_name_admin(usr)] [msg]") href_list["secrets"] = "check_antagonist" + if(SSticker.ready_for_reboot && !SSticker.delay_end) //we undelayed after standard reboot would occur + SSticker.standard_reboot() else if(href_list["end_round"]) if(!check_rights(R_ADMIN))