From 1ed3e367d379ab6f144316722e3bc1f64f2abf4e Mon Sep 17 00:00:00 2001 From: Filatelele Date: Sun, 21 Apr 2024 20:44:26 +0300 Subject: [PATCH] tweak(admin): adds a second line of defense in restart proc --- code/modules/admin/admin.dm | 42 +++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index f0c5ef6c7df..0697925bf83 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -672,24 +672,30 @@ var/global/floorIsLava = 0 var/list/options = list("Regular Restart", "Hard Restart (Skip MC Shutdown)", "Hardest Restart (Direct world.Reboot) \[Dangerous\]") - var/result = input(usr, "Select reboot method", "World Reboot", options[1]) as null|anything in options - if(result) - feedback_set_details("end_error","admin reboot - by [key_name(usr)]") - feedback_add_details("admin_verb","R") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - var/init_by = "Initiated by [key_name(usr)]." - switch(result) - if("Regular Restart") - to_world("Restarting world! [init_by]") - log_admin("[key_name(usr)] initiated a reboot.") - world.Reboot() - if("Hard Restart (Skip MC Shutdown)") - to_world("Hard world restart. [init_by]") - log_admin("[key_name(usr)] initiated a hard reboot.") - world.Reboot(reboot_hardness = REBOOT_HARD) - if("Hardest Restart (Direct world.Reboot) \[Dangerous\]") - to_world("Hardest world restart. [init_by]") - log_admin("[key_name(usr)] initiated a hardest reboot.") - world.Reboot(reboot_hardness = REBOOT_REALLY_HARD) + var/result = tgui_input_list(usr, "Select reboot method", "World Reboot", options) + if(!result) + return + + var/failsafe = tgui_input_text(usr, "To confirm, type \"Server Restart\" in the box below", "WORLD REBOOT. THINK TWICE!!!") + if(failsafe != "Server Restart") + return + + feedback_set_details("end_error","admin reboot - by [key_name(usr)]") + feedback_add_details("admin_verb","R") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + var/init_by = "Initiated by [key_name(usr)]." + switch(result) + if("Regular Restart") + to_world("Restarting world! [init_by]") + log_admin("[key_name(usr)] initiated a reboot.") + world.Reboot() + if("Hard Restart (Skip MC Shutdown)") + to_world("Hard world restart. [init_by]") + log_admin("[key_name(usr)] initiated a hard reboot.") + world.Reboot(reboot_hardness = REBOOT_HARD) + if("Hardest Restart (Direct world.Reboot) \[Dangerous\]") + to_world("Hardest world restart. [init_by]") + log_admin("[key_name(usr)] initiated a hardest reboot.") + world.Reboot(reboot_hardness = REBOOT_REALLY_HARD) /datum/admins/proc/end_round() set category = "Server"