Fix admin shuttle recall revealing admin location (#95733)

## About The Pull Request
- Fixes #95441

Using the admin shuttle recall command no longer reveals the admins
location.

## Why It's Good For The Game
Less bugs.
This commit is contained in:
Tim
2026-04-13 12:40:40 -05:00
committed by GitHub
parent e41ce6aad2
commit 2e35b8bc13
2 changed files with 8 additions and 5 deletions
+7 -4
View File
@@ -429,7 +429,7 @@ SUBSYSTEM_DEF(shuttle)
if(emergency.timer != old_timer)
return FALSE
if(!cancel_evac(user))
if(!cancel_evac(user, hide_origin = TRUE))
return FALSE //feedback handled in cancel_evac()
if(!admiral_message)
@@ -457,14 +457,17 @@ SUBSYSTEM_DEF(shuttle)
src.emergency = src.backup_shuttle
/// Actually work on canceling the emergency shuttle recall. Returns TRUE if successful, FALSE otherwise.
/datum/controller/subsystem/shuttle/proc/cancel_evac(mob/user)
/// If hide_origin is TRUE, the recaller's area will not be revealed in announcements (used by admin tools)
/datum/controller/subsystem/shuttle/proc/cancel_evac(mob/user, hide_origin = FALSE)
if(!can_recall(user))
return FALSE
emergency.cancel(get_area(user))
var/area/signal_origin = hide_origin ? null : get_area(user)
emergency.cancel(signal_origin)
log_shuttle("[key_name(user)] has recalled the shuttle.")
message_admins("[ADMIN_LOOKUPFLW(user)] has recalled the shuttle.")
deadchat_broadcast(" has recalled the shuttle from [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type = DEADCHAT_ANNOUNCEMENT)
if(!hide_origin)
deadchat_broadcast(" has recalled the shuttle from [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type = DEADCHAT_ANNOUNCEMENT)
return TRUE
/// Can this user recall the emergency shuttle? Returns TRUE if they can, otherwise returns FALSE.
+1 -1
View File
@@ -54,7 +54,7 @@ ADMIN_VERB(cancel_shuttle, R_ADMIN, "Cancel Shuttle", "Recall the shuttle, regar
if(tgui_alert(user, "You sure?", "Confirm Shuttle Cancellation", list("Yes", "No")) != "Yes")
return
if(!SSshuttle.cancel_evac(user.mob)) // handles the case where the shuttle is set to unrecallable by another admin or the code
if(!SSshuttle.cancel_evac(user.mob, hide_origin = TRUE)) // handles the case where the shuttle is set to unrecallable by another admin or the code
return
BLACKBOX_LOG_ADMIN_VERB("Cancel Shuttle")