diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm index 6d964510425..23c1c3b4a2c 100644 --- a/code/game/machinery/computer/shuttle.dm +++ b/code/game/machinery/computer/shuttle.dm @@ -27,6 +27,8 @@ return 0 var/choice = alert(user, text("Would you like to (un)authorize a shortened launch time? [] authorization\s are still needed. Use abort to cancel all authorizations.", src.auth_need - src.authorized.len), "Shuttle Launch", "Authorize", "Repeal", "Abort") + if(emergency_shuttle.location != 1 && user.get_active_hand() != W) + return 0 switch(choice) if("Authorize") src.authorized -= W:registered_name @@ -54,12 +56,15 @@ src.authorized.len = 0 src.authorized = list( ) - else if (istype(W, /obj/item/weapon/card/emag)) + else if (istype(W, /obj/item/weapon/card/emag) && !emagged) var/choice = alert(user, "Would you like to launch the shuttle?","Shuttle control", "Launch", "Cancel") - switch(choice) - if("Launch") - world << "\blue Alert: Shuttle launch time shortened to 10 seconds!" - emergency_shuttle.settimeleft( 10 ) - if("Cancel") - return + + if(!emagged && emergency_shuttle.location == 1 && user.get_active_hand() == W) + switch(choice) + if("Launch") + world << "\blue Alert: Shuttle launch time shortened to 10 seconds!" + emergency_shuttle.settimeleft( 10 ) + emagged = 1 + if("Cancel") + return return