diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 9ee06ba491..cbba5727eb 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -29,6 +29,7 @@ var/global/datum/controller/gameticker/ticker var/pregame_timeleft = 0 + var/delay_end = 0 //if set to nonzero, the round will not restart on it's own /datum/controller/gameticker/proc/pregame() login_music = pick('title2.ogg') // choose title music! @@ -277,17 +278,22 @@ var/global/datum/controller/gameticker/ticker spawn(50) if (mode.station_was_nuked) feedback_set_details("end_proper","nuke") - world << "\blue Rebooting due to destruction of station in [restart_timeout/10] seconds" + if(!delay_end) + world << "\blue Rebooting due to destruction of station in [restart_timeout/10] seconds" else feedback_set_details("end_proper","proper completion") - world << "\blue Restarting in [restart_timeout/10] seconds" + if(!delay_end) + world << "\blue Restarting in [restart_timeout/10] seconds" if(blackbox) blackbox.save_all_data_to_sql() - sleep(restart_timeout) - world.Reboot() + if(!delay_end) + sleep(restart_timeout) + world.Reboot() + else + world << "\blue An admin has delayed the round end" return 1 @@ -304,7 +310,7 @@ var/global/datum/controller/gameticker/ticker if (aiPlayer.connected_robots.len) var/robolist = "The AI's loyal minions were: " for(var/mob/living/silicon/robot/robo in aiPlayer.connected_robots) - robolist += "[robo.name][robo.stat?" (Deactivated) (Played by: [robo.key]), ":", (Played by: [robo.key])"]" + robolist += "[robo.name][robo.stat?" (Deactivated) (Played by: [robo.key]), ":" (Played by: [robo.key]), "]" world << "[robolist]" for (var/mob/living/silicon/robot/robo in world) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index c871d20142..7902fc99f2 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -65,6 +65,12 @@ var/global/BSACooldown = 0 alert("You cannot perform this action. You must be of a higher administrative rank!") return + if(href_list["delay_round_end"]) + if (src.rank in list("Badmin", "Game Admin", "Game Master")) + ticker.delay_end = !ticker.delay_end + log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") + message_admins("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + href_list["secretsadmin"] = "check_antagonist" if(href_list["simplemake"]) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index bc8d392c20..ef1226001a 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -392,7 +392,7 @@ dat += "Send Back
" if(1) dat += "ETA: [(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]
" - + dat += "[ticker.delay_end ? "End Round Normally" : "Delay Round End"]
" if(ticker.mode.syndicates.len) dat += "
" for(var/datum/mind/N in ticker.mode.syndicates) diff --git a/code/modules/mob/living/silicon/robot/login.dm b/code/modules/mob/living/silicon/robot/login.dm index 9e2b24457d..1127d6bebb 100644 --- a/code/modules/mob/living/silicon/robot/login.dm +++ b/code/modules/mob/living/silicon/robot/login.dm @@ -13,9 +13,10 @@ src.real_name += " " src.real_name += "-[ident]" src.name = src.real_name - if(!src.connected_ai) + /*if(!src.connected_ai) for(var/mob/living/silicon/ai/A in world) src.connected_ai = A A.connected_robots += src break + */ return \ No newline at end of file diff --git a/icons/obj/machines/field_generator.dmi b/icons/obj/machines/field_generator.dmi index 0914c83660..fcb083f846 100644 Binary files a/icons/obj/machines/field_generator.dmi and b/icons/obj/machines/field_generator.dmi differ
Syndicates