From 6e744de10c3cacf9ec596e96fc5e7f888adbace6 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Sat, 18 Mar 2017 07:02:09 -0400 Subject: [PATCH] Adds a way for admins to keep the arrivals shuttle docked permanently (#25136) --- code/modules/admin/secrets.dm | 16 +++++++++++++++- code/modules/shuttle/arrivals.dm | 20 +++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index 9fa8f8fd85c..57a20d82479 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -34,6 +34,7 @@ Shuttles

Move Ferry
+ Toggle Arrivals Ferry
Move Mining Shuttle
Move Labor Shuttle

@@ -219,7 +220,20 @@ if(!SSshuttle.toggleShuttle("ferry","ferry_home","ferry_away")) message_admins("[key_name_admin(usr)] moved the centcom ferry") log_admin("[key_name(usr)] moved the centcom ferry") - + + if("togglearrivals") + if(!check_rights(R_ADMIN)) + return + var/obj/docking_port/mobile/arrivals/A = SSshuttle.arrivals + if(A) + var/new_perma = !A.perma_docked + A.perma_docked = new_perma + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","ShA[new_perma ? "s" : "g"]") + message_admins("[key_name_admin(usr)] [new_perma ? "stopped" : "started"] the arrivals shuttle") + log_admin("[key_name(usr)] [new_perma ? "stopped" : "started"] the arrivals shuttle") + else + to_chat(usr, "There is no arrivals shuttle") if("showailaws") if(!check_rights(R_ADMIN)) return diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index c8cd3ee11ad..daca4d2ffea 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -19,6 +19,7 @@ var/list/queued_announces //people coming in that we have to announce var/obj/machinery/requests_console/console var/force_depart = FALSE + var/perma_docked = FALSE //highlander with RESPAWN??? OH GOD!!! /obj/docking_port/mobile/arrivals/Initialize(mapload) if(mapload) @@ -65,6 +66,14 @@ /obj/docking_port/mobile/arrivals/check() . = ..() + + if(perma_docked) + if(mode != SHUTTLE_CALL) + sound_played = FALSE + mode = SHUTTLE_IDLE + else + SendToStation() + return if(damaged) if(!CheckTurfsPressure()) @@ -173,4 +182,13 @@ stoplag() /obj/docking_port/mobile/arrivals/proc/QueueAnnounce(mob, rank) - LAZYADD(queued_announces, CALLBACK(GLOBAL_PROC, .proc/AnnounceArrival, mob, rank)) + if(mode != SHUTTLE_CALL) + AnnounceArrival(mob, rank) + else + LAZYADD(queued_announces, CALLBACK(GLOBAL_PROC, .proc/AnnounceArrival, mob, rank)) + +/obj/docking_port/mobile/arrivals/vv_edit_var(var_name, var_value) + switch(var_name) + if("perma_docked") + feedback_add_details("admin_secrets_fun_used","ShA[var_value ? "s" : "g"]") + return ..()