diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm index 4c04c91bbdf..89bc2bd0dfd 100644 --- a/code/controllers/subsystem/shuttles.dm +++ b/code/controllers/subsystem/shuttles.dm @@ -128,21 +128,23 @@ var/datum/subsystem/shuttle/SSshuttle return /datum/subsystem/shuttle/proc/cancelEvac(mob/user) + if(canRecall()) + emergency.cancel(get_area(user)) + log_game("[key_name(user)] has recalled the shuttle.") + message_admins("[key_name_admin(user)] has recalled the shuttle.") + return 1 + +/datum/subsystem/shuttle/proc/canRecall() if(emergency.mode != SHUTTLE_CALL) return - if(ticker.mode.name == "meteor") return - - if((seclevel2num(get_security_level()) == SEC_LEVEL_RED)) + if(seclevel2num(get_security_level()) == SEC_LEVEL_RED) if(emergency.timeLeft(1) < emergencyCallTime * 0.25) return - else if(emergency.timeLeft(1) < emergencyCallTime * 0.5) - return - - emergency.cancel(get_area(user)) - log_game("[key_name(user)] has recalled the shuttle.") - message_admins("[key_name_admin(user)] has recalled the shuttle.") + else + if(emergency.timeLeft(1) < emergencyCallTime * 0.5) + return return 1 /datum/subsystem/shuttle/proc/autoEvac() diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 2b4776c12b7..f8f6eea2413 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -318,7 +318,7 @@ if(SHUTTLE_ESCAPE) dat += "