escape shuttle to subsystem (#19325)

* escape shuttle to subsystem

* .

* thank you github

* axe this, unused

* prevent comm computer server crash

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Kashargul
2026-03-27 01:49:17 +01:00
committed by GitHub
parent 58ddf3df83
commit f498ce0659
31 changed files with 393 additions and 419 deletions
+6 -6
View File
@@ -395,19 +395,19 @@
dat += "Current Game Mode: " + span_bold("[SSticker.mode.name]") + "<BR>"
dat += "Round Duration: " + span_bold("[roundduration2text()]") + "<BR>"
dat += span_bold("Emergency shuttle") + "<BR>"
if (!GLOB.emergency_shuttle.online())
if (!SSemergency_shuttle.online())
dat += "<a href='byond://?src=\ref[src];[HrefToken()];call_shuttle=1'>Call Shuttle</a><br>"
else
if (GLOB.emergency_shuttle.wait_for_launch)
var/timeleft = GLOB.emergency_shuttle.estimate_launch_time()
if (SSemergency_shuttle.wait_for_launch)
var/timeleft = SSemergency_shuttle.estimate_launch_time()
dat += "ETL: <a href='byond://?src=\ref[src];[HrefToken()];edit_shuttle_time=1'>[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]</a><BR>"
else if (GLOB.emergency_shuttle.shuttle.has_arrive_time())
var/timeleft = GLOB.emergency_shuttle.estimate_arrival_time()
else if (SSemergency_shuttle.shuttle.has_arrive_time())
var/timeleft = SSemergency_shuttle.estimate_arrival_time()
dat += "ETA: <a href='byond://?src=\ref[src];[HrefToken()];edit_shuttle_time=1'>[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]</a><BR>"
dat += "<a href='byond://?src=\ref[src];[HrefToken()];call_shuttle=2'>Send Back</a><br>"
if (GLOB.emergency_shuttle.shuttle.moving_status == SHUTTLE_WARMUP)
if (SSemergency_shuttle.shuttle.moving_status == SHUTTLE_WARMUP)
dat += "Launching now..."
dat += "<a href='byond://?src=\ref[src];[HrefToken()];delay_round_end=1'>[SSticker.delay_end ? "End Round Normally" : "Delay Round End"]</a><br>"
+16 -16
View File
@@ -83,23 +83,23 @@
switch(href_list["call_shuttle"])
if("1")
if ((!( SSticker ) || !GLOB.emergency_shuttle.location()))
if ((!( SSticker ) || !SSemergency_shuttle.location()))
return
if (GLOB.emergency_shuttle.can_call())
GLOB.emergency_shuttle.call_evac()
if (SSemergency_shuttle.can_call())
SSemergency_shuttle.call_evac()
log_admin("[key_name(usr)] called the Emergency Shuttle")
message_admins(span_blue("[key_name_admin(usr)] called the Emergency Shuttle to the station."), 1)
if("2")
if (!( SSticker ) || !GLOB.emergency_shuttle.location())
if (!( SSticker ) || !SSemergency_shuttle.location())
return
if (GLOB.emergency_shuttle.can_call())
GLOB.emergency_shuttle.call_evac()
if (SSemergency_shuttle.can_call())
SSemergency_shuttle.call_evac()
log_admin("[key_name(usr)] called the Emergency Shuttle")
message_admins(span_blue("[key_name_admin(usr)] called the Emergency Shuttle to the station."), 1)
else if (GLOB.emergency_shuttle.can_recall())
GLOB.emergency_shuttle.recall()
else if (SSemergency_shuttle.can_recall())
SSemergency_shuttle.recall()
log_admin("[key_name(usr)] sent the Emergency Shuttle back")
message_admins(span_blue("[key_name_admin(usr)] sent the Emergency Shuttle back."), 1)
@@ -108,20 +108,20 @@
else if(href_list["edit_shuttle_time"])
if(!check_rights(R_SERVER)) return
if (GLOB.emergency_shuttle.wait_for_launch)
var/new_time_left = tgui_input_number(usr, "Enter new shuttle launch countdown (seconds):","Edit Shuttle Launch Time", GLOB.emergency_shuttle.estimate_launch_time() )
if (SSemergency_shuttle.wait_for_launch)
var/new_time_left = tgui_input_number(usr, "Enter new shuttle launch countdown (seconds):","Edit Shuttle Launch Time", SSemergency_shuttle.estimate_launch_time() )
GLOB.emergency_shuttle.launch_time = world.time + new_time_left*10
SSemergency_shuttle.launch_time = world.time + (new_time_left * 10)
log_admin("[key_name(usr)] edited the Emergency Shuttle's launch time to [new_time_left]")
message_admins(span_blue("[key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left*10]"), 1)
else if (GLOB.emergency_shuttle.shuttle.has_arrive_time())
message_admins(span_blue("[key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left * 10]"), 1)
else if (SSemergency_shuttle.shuttle.has_arrive_time())
var/new_time_left = tgui_input_number(usr, "Enter new shuttle arrival time (seconds):","Edit Shuttle Arrival Time", GLOB.emergency_shuttle.estimate_arrival_time() )
GLOB.emergency_shuttle.shuttle.arrive_time = world.time + new_time_left*10
var/new_time_left = tgui_input_number(usr, "Enter new shuttle arrival time (seconds):","Edit Shuttle Arrival Time", SSemergency_shuttle.estimate_arrival_time() )
SSemergency_shuttle.shuttle.arrive_time = world.time + (new_time_left * 10)
log_admin("[key_name(usr)] edited the Emergency Shuttle's arrival time to [new_time_left]")
message_admins(span_blue("[key_name_admin(usr)] edited the Emergency Shuttle's arrival time to [new_time_left*10]"), 1)
message_admins(span_blue("[key_name_admin(usr)] edited the Emergency Shuttle's arrival time to [new_time_left * 10]"), 1)
else
tgui_alert_async(usr, "The shuttle is neither counting down to launch nor is it in transit. Please try again when it is.")
+9 -9
View File
@@ -677,7 +677,7 @@ ADMIN_VERB(toggle_view_range, R_HOLDER, "Change View Range", "Switches between 1
feedback_add_details("admin_verb","CVRA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
ADMIN_VERB(admin_call_shuttle, R_ADMIN|R_SERVER, "Call Shuttle", "Calls the emergency shuttel.", ADMIN_CATEGORY_EVENTS)
if ((!( SSticker ) || !GLOB.emergency_shuttle.location()))
if ((!( SSticker ) || !SSemergency_shuttle.location()))
return
var/confirm = tgui_alert(user, "You sure?", "Confirm", list("Yes", "No"))
@@ -687,15 +687,15 @@ ADMIN_VERB(admin_call_shuttle, R_ADMIN|R_SERVER, "Call Shuttle", "Calls the emer
if(SSticker.mode.auto_recall_shuttle)
choice = tgui_input_list(user, "The shuttle will just return if you call it. Call anyway?", "Shuttle Call", list("Confirm", "Cancel"))
if(choice == "Confirm")
GLOB.emergency_shuttle.auto_recall = 1 //enable auto-recall
SSemergency_shuttle.auto_recall = TRUE //enable auto-recall
else
return
choice = tgui_input_list(user, "Is this an emergency evacuation or a crew transfer?", "Shuttle Call", list("Emergency", "Crew Transfer"))
if (choice == "Emergency")
GLOB.emergency_shuttle.call_evac()
SSemergency_shuttle.call_evac()
else
GLOB.emergency_shuttle.call_transfer()
SSemergency_shuttle.call_transfer()
feedback_add_details("admin_verb","CSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -705,10 +705,10 @@ ADMIN_VERB(admin_call_shuttle, R_ADMIN|R_SERVER, "Call Shuttle", "Calls the emer
ADMIN_VERB(admin_cancel_shuttle, R_ADMIN|R_FUN, "Cancel Shuttle", "Cancels the emergency shuttel.", ADMIN_CATEGORY_EVENTS)
if(tgui_alert(user, "You sure?", "Confirm", list("Yes", "No")) != "Yes") return
if(!SSticker || !GLOB.emergency_shuttle.can_recall())
if(!SSticker || !SSemergency_shuttle.can_recall())
return
GLOB.emergency_shuttle.recall()
SSemergency_shuttle.recall()
feedback_add_details("admin_verb","CCSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(user)] admin-recalled the emergency shuttle.")
message_admins(span_blue("[key_name_admin(user)] admin-recalled the emergency shuttle."))
@@ -717,10 +717,10 @@ ADMIN_VERB(admin_deny_shuttle, R_ADMIN, "Toggle Deny Shuttle", "Prevents the shu
if (!SSticker)
return
GLOB.emergency_shuttle.deny_shuttle = !GLOB.emergency_shuttle.deny_shuttle
SSemergency_shuttle.deny_shuttle = !SSemergency_shuttle.deny_shuttle
log_admin("[key_name(user)] has [GLOB.emergency_shuttle.deny_shuttle ? "denied" : "allowed"] the shuttle to be called.")
message_admins("[key_name_admin(user)] has [GLOB.emergency_shuttle.deny_shuttle ? "denied" : "allowed"] the shuttle to be called.")
log_admin("[key_name(user)] has [SSemergency_shuttle.deny_shuttle ? "denied" : "allowed"] the shuttle to be called.")
message_admins("[key_name_admin(user)] has [SSemergency_shuttle.deny_shuttle ? "denied" : "allowed"] the shuttle to be called.")
ADMIN_VERB(everyone_random, R_FUN, "Make Everyone Random", "Make everyone have a random appearance. You can only use this before rounds!", ADMIN_CATEGORY_FUN_DO_NOT)
if (SSticker && SSticker.mode)