diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm
index d48d892a86f..6f019350217 100644
--- a/code/modules/shuttle/shuttle.dm
+++ b/code/modules/shuttle/shuttle.dm
@@ -174,7 +174,7 @@
*/
/obj/docking_port/stationary/transit
- name = "In Transit"
+ name = "In transit"
turf_type = /turf/space/transit
lock_shuttle_doors = 1
@@ -183,7 +183,7 @@
if(!..())
return 0
- name = "In Transit" //This looks weird, but- it means that the on-map instances can be named something actually usable to search for, but still appear correctly in terminals.
+ name = "In transit" //This looks weird, but- it means that the on-map instances can be named something actually usable to search for, but still appear correctly in terminals.
shuttle_master.transit += src
return 1
@@ -676,41 +676,42 @@
return
if(!shuttleId)
return
- src.add_fingerprint(usr)
-
connect()
+ add_fingerprint(user)
+ ui_interact(user)
- var/list/options = params2list(possible_destinations)
+/obj/machinery/computer/shuttle/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
var/obj/docking_port/mobile/M = shuttle_master.getShuttle(shuttleId)
- var/dat = "Status: [M ? M.getStatusText() : "*Missing*"]
"
+ ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "shuttle_console.tmpl", M ? M.name : "shuttle", 300, 200)
+ ui.open()
+
+/obj/machinery/computer/shuttle/ui_data(mob/user, ui_key = "main", datum/topic_state/state = default_state)
+ var/data[0]
+ var/obj/docking_port/mobile/M = shuttle_master.getShuttle(shuttleId)
+ data["status"] = M ? M.getStatusText() : null
if(M)
- var/destination_found
+ data["shuttle"] = 1
+ var/list/docking_ports = list()
+ data["docking_ports"] = docking_ports
+ var/list/options = params2list(possible_destinations)
for(var/obj/docking_port/stationary/S in shuttle_master.stationary)
if(!options.Find(S.id))
continue
if(!M.check_dock(S))
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
"
- if(docking_request)
- dat += "Request docking at NSS Cyberiad
"
- dat += "Close"
+ docking_ports[++docking_ports.len] = list("name" = S.name, "id" = S.id)
+ data["docking_ports_len"] = docking_ports.len
+ data["admin_controlled"] = admin_controlled
+ data["docking_request"] = docking_request
- var/datum/browser/popup = new(user, "computer", M ? M.name : "shuttle", 300, 200)
- popup.set_content("