diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index f35a6eaa156..c5947259d48 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1416,3 +1416,24 @@ GLOBAL_PROTECT(valid_HTTPSGet) mob_occupant = brain.brainmob return mob_occupant + +/proc/msglog_admins(text) + message_admins(text) + log_admin(text) + +/proc/trigger_centcom_recall() + if(SSshuttle.emergency.mode != SHUTTLE_CALL) + return + + var/time = rand(600, 1200) + var/message = pick(GLOB.annoyed_admiral_messages) + + message = input("Enter message from the on-call admiral to be put in the recall report.", "Annoyed Admiral Message", message) as text|null + + if(!message) + return + + message_admins("[key_name_admin(usr)] triggered a Centcom recall in [time/10] seconds, with the annoyed admiral message of: [message]") + log_game("[key_name(usr)] triggered a Centcom recall in [time/10] seconds, with the annoyed admiral message of: [message]") + + addtimer(CALLBACK(SSshuttle, /datum/controller/subsystem/shuttle/.proc/centcom_recall, SSshuttle.emergency.timer, message), time) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 7a4ce0c57a0..7f1198be394 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -161,3 +161,5 @@ GLOBAL_LIST_INIT(numbers_as_words, list("One", "Two", "Three", "Four", return L GLOBAL_LIST_INIT(station_numerals, greek_letters + phonetic_alphabet + numbers_as_words + generate_number_strings()) + +GLOBAL_LIST_INIT(annoyed_admiral_messages, list("Do you know how expensive these stations are?","Stop wasting my time.","I was sleeping, thanks a lot.","Stand and fight you cowards!","You knew the risks coming in.","Stop being paranoid.","Whatever's broken just build a new one.","No.", "null","Error: No comment given.", "It's a good day to die!")) diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 5057bf63ecb..e1c85849c5c 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -215,7 +215,32 @@ SUBSYSTEM_DEF(shuttle) emergency.request(null, signal_origin, html_decode(emergency_reason), 0) log_game("[key_name(user)] has called the shuttle.") - message_admins("[key_name_admin(user)] has called the shuttle.") + message_admins("[key_name_admin(user)] has called the shuttle. (TRIGGER CENTCOM RECALL)") + +/datum/controller/subsystem/shuttle/proc/centcom_recall(old_timer, annoyed_admiral_message) + if(emergency.mode != SHUTTLE_CALL || emergency.timer != old_timer) + return + + emergency.cancel(/area/centcom) + msglog_admins("Shuttle has been recalled from Centcom.") + + addtimer(CALLBACK(src, .proc/centcom_recall2, annoyed_admiral_message), 50) + +/datum/controller/subsystem/shuttle/proc/centcom_recall2(annoyed_admiral_message) + if(!annoyed_admiral_message) + annoyed_admiral_message = pick(GLOB.annoyed_admiral_messages) + var/intercepttext = "NanoTrasen Update: Request For Shuttle.