/obj/machinery/computer/shuttle name = "shuttle console" desc = "A shuttle control computer." icon_screen = "shuttle" icon_keyboard = "tech_key" light_color = LIGHT_COLOR_CYAN req_access = list( ) var/shuttleId var/possible_destinations = "" var/admin_controlled var/no_destination_swap = 0 /obj/machinery/computer/shuttle/ui_interact(mob/user) . = ..() var/list/options = params2list(possible_destinations) var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId) var/dat = "Status: [M ? M.getStatusText() : "*Missing*"]

" if(M) var/destination_found for(var/obj/docking_port/stationary/S in SSshuttle.stationary) if(!options.Find(S.id)) continue if(!M.check_dock(S, silent=TRUE)) continue destination_found = 1 dat += "Send to [S.name]
" if(!destination_found) dat += "Shuttle Locked
" if(admin_controlled) dat += "Authorized personnel only
" dat += "Request Authorization
" dat += "Close" var/datum/browser/popup = new(user, "computer", M ? M.name : "shuttle", 300, 200) popup.set_content("
[dat]
") popup.set_title_image(usr.browse_rsc_icon(src.icon, src.icon_state)) popup.open() /obj/machinery/computer/shuttle/Topic(href, href_list) if(..()) return usr.set_machine(src) src.add_fingerprint(usr) if(!allowed(usr)) to_chat(usr, "Access denied.") return if(href_list["move"]) var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId) if(M.launch_status == ENDGAME_LAUNCHED) to_chat(usr, "You've already escaped. Never going back to that place again!") return if(no_destination_swap) if(M.mode != SHUTTLE_IDLE) to_chat(usr, "Shuttle already in transit.") return switch(SSshuttle.moveShuttle(shuttleId, href_list["move"], 1)) if(0) say("Shuttle departing. Please stand away from the doors.") if(1) to_chat(usr, "Invalid shuttle requested.") else to_chat(usr, "Unable to comply.") /obj/machinery/computer/shuttle/emag_act(mob/user) if(obj_flags & EMAGGED) return req_access = list() obj_flags |= EMAGGED to_chat(user, "You fried the consoles ID checking system.")