From 4385b1320ccc18f3dbbfd955463c99b3e216980a Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 3 Jun 2014 23:21:10 +0930 Subject: [PATCH] Moved the Vox skipjack console over to a multi-destination shuttle datum setup. Conflicts: baystation12.dme code/game/gamemodes/vox/heist/heist.dm code/game/machinery/computer/vox_shuttle.dm --- baystation12.dme | 7 +- code/game/gamemodes/vox/heist/heist.dm | 5 +- code/game/gamemodes/vox/trade/trade.dm | 4 +- code/game/machinery/computer/vox_shuttle.dm | 129 ------------- code/modules/admin/topic.dm | 2 +- code/modules/shuttles/antagonist.dm | 9 + code/modules/shuttles/departmental.dm | 17 ++ code/modules/shuttles/engineering.dm | 5 - code/modules/shuttles/mining.dm | 5 - code/modules/shuttles/research.dm | 5 - code/modules/shuttles/shuttle.dm | 190 ++++++++++++++------ code/modules/shuttles/shuttles_multi.dm | 124 +++++++++++++ maps/backup/cyberiad.dmm | 22 +-- maps/cyberiad.dmm | 4 +- 14 files changed, 306 insertions(+), 222 deletions(-) delete mode 100644 code/game/machinery/computer/vox_shuttle.dm create mode 100644 code/modules/shuttles/antagonist.dm create mode 100644 code/modules/shuttles/departmental.dm delete mode 100644 code/modules/shuttles/engineering.dm delete mode 100644 code/modules/shuttles/mining.dm delete mode 100644 code/modules/shuttles/research.dm create mode 100644 code/modules/shuttles/shuttles_multi.dm diff --git a/baystation12.dme b/baystation12.dme index a5fef6fdad2..1f4ce90231c 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -445,7 +445,6 @@ #include "code\game\machinery\computer\syndicate_shuttle.dm" #include "code\game\machinery\computer\syndicate_specops_shuttle.dm" #include "code\game\machinery\computer\telescience.dm" -#include "code\game\machinery\computer\vox_shuttle.dm" #include "code\game\machinery\computer\xenos_shuttle.dm" #include "code\game\machinery\doors\airlock.dm" #include "code\game\machinery\doors\airlock_electronics.dm" @@ -1433,10 +1432,10 @@ #include "code\modules\scripting\Scanner\Tokens.dm" #include "code\modules\security levels\keycard authentication.dm" #include "code\modules\security levels\security levels.dm" -#include "code\modules\shuttles\engineering.dm" -#include "code\modules\shuttles\mining.dm" -#include "code\modules\shuttles\research.dm" +#include "code\modules\shuttles\antagonist.dm" +#include "code\modules\shuttles\departmental.dm" #include "code\modules\shuttles\shuttle.dm" +#include "code\modules\shuttles\shuttles_multi.dm" #include "code\modules\store\items.dm" #include "code\modules\store\store.dm" #include "code\modules\supermatter\supermatter.dm" diff --git a/code/game/gamemodes/vox/heist/heist.dm b/code/game/gamemodes/vox/heist/heist.dm index 5e531764975..4eeadb78e14 100644 --- a/code/game/gamemodes/vox/heist/heist.dm +++ b/code/game/gamemodes/vox/heist/heist.dm @@ -254,8 +254,9 @@ datum/game_mode/proc/auto_declare_completion_heist() return 1 /datum/game_mode/vox/heist/check_finished() - if (!(is_vox_crew_alive()) || (vox_shuttle_location && (vox_shuttle_location == "start"))) - return 1 + // DO NOT FORGET TO FIX THIS. + //if (!(is_vox_crew_alive()) || (vox_shuttle_location && (vox_shuttle_location == "start"))) + // return 1 return ..() /datum/game_mode/vox/heist/proc/is_vox_crew_alive() diff --git a/code/game/gamemodes/vox/trade/trade.dm b/code/game/gamemodes/vox/trade/trade.dm index 666f76d1342..c25e9ebb854 100644 --- a/code/game/gamemodes/vox/trade/trade.dm +++ b/code/game/gamemodes/vox/trade/trade.dm @@ -229,8 +229,8 @@ datum/game_mode/proc/auto_declare_completion_trade() return 1 /datum/game_mode/vox/trade/check_finished() - if (!(is_vox_crew_alive()) || (vox_shuttle_location && (vox_shuttle_location == "start"))) - return 1 +// if (!(is_vox_crew_alive()) || (vox_shuttle_location && (vox_shuttle_location == "start"))) +// return 1 return ..() /datum/game_mode/vox/trade/proc/is_vox_crew_alive() diff --git a/code/game/machinery/computer/vox_shuttle.dm b/code/game/machinery/computer/vox_shuttle.dm deleted file mode 100644 index 156b0ec04b3..00000000000 --- a/code/game/machinery/computer/vox_shuttle.dm +++ /dev/null @@ -1,129 +0,0 @@ -#define VOX_SHUTTLE_MOVE_TIME 400 -#define VOX_SHUTTLE_COOLDOWN 1200 - -//Copied from Syndicate shuttle. -var/global/vox_shuttle_location -var/global/announce_vox_departure = 1 //Stealth systems - give an announcement or not. - -/obj/machinery/computer/vox_stealth - name = "skipjack cloaking field terminal" - icon = 'icons/obj/computer.dmi' - icon_state = "syndishuttle" - req_access = list(access_syndicate) - -/obj/machinery/computer/vox_stealth/attackby(obj/item/I as obj, mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer/vox_stealth/attack_ai(mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer/vox_stealth/attack_paw(mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer/vox_stealth/attack_hand(mob/user as mob) - if(!allowed(user)) - user << "\red Access Denied" - return - - if(announce_vox_departure) - user << "\red Shuttle stealth systems have been activated. The Exodus will not be warned of our arrival." - announce_vox_departure = 0 - else - user << "\red Shuttle stealth systems have been deactivated. The Exodus will be warned of our arrival." - announce_vox_departure = 1 - - -/obj/machinery/computer/vox_station - name = "vox skipjack terminal" - icon = 'icons/obj/computer.dmi' - icon_state = "syndishuttle" - req_access = list(access_syndicate) - var/area/curr_location - var/moving = 0 - var/lastMove = 0 - var/warning //Warning about the end of the round. - -/obj/machinery/computer/vox_station/New() - curr_location= locate(/area/shuttle/vox/station) - - -/obj/machinery/computer/vox_station/proc/vox_move_to(area/destination as area) - if(moving) return - if(lastMove + VOX_SHUTTLE_COOLDOWN > world.time) return - var/area/dest_location = locate(destination) - if(curr_location == dest_location) return - - if(announce_vox_departure) - if(curr_location == locate(/area/shuttle/vox/station)) - command_alert("Attention, Exodus, we just tracked a small target bypassing our defensive perimeter. Can't fire on it without hitting the station - you've got incoming visitors, like it or not.", "NSV Icarus") - else if(dest_location == locate(/area/shuttle/vox/station)) - command_alert("Your guests are pulling away, Exodus - moving too fast for us to draw a bead on them. Looks like they're heading out of Tau Ceti at a rapid clip.", "NSV Icarus") - - moving = 1 - lastMove = world.time - - if(curr_location.z != dest_location.z) - var/area/transit_location = locate(/area/vox_station/transit) - curr_location.move_contents_to(transit_location) - curr_location = transit_location - sleep(VOX_SHUTTLE_MOVE_TIME) - - curr_location.move_contents_to(dest_location) - curr_location = dest_location - moving = 0 - - return 1 - - -/obj/machinery/computer/vox_station/attackby(obj/item/I as obj, mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer/vox_station/attack_ai(mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer/vox_station/attack_paw(mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer/vox_station/attack_hand(mob/user as mob) - if(!allowed(user)) - user << "\red Access Denied" - return - - user.set_machine(src) - - var/dat = {"Location: [curr_location]
- Ready to move[max(lastMove + VOX_SHUTTLE_COOLDOWN - world.time, 0) ? " in [max(round((lastMove + VOX_SHUTTLE_COOLDOWN - world.time) * 0.1), 0)] seconds" : ": now"]
- Return to dark space
- Cyberiad Arrivals Dock | - Close"} - - user << browse(dat, "window=computer;size=575x450") - onclose(user, "computer") - return - - -/obj/machinery/computer/vox_station/Topic(href, href_list) - if(!isliving(usr)) return - var/mob/living/user = usr - - if(in_range(src, user) || istype(user, /mob/living/silicon)) - user.set_machine(src) - - vox_shuttle_location = "station" - if(href_list["start"]) - if(ticker && (istype(ticker.mode,/datum/game_mode/vox/heist) || istype(ticker.mode,/datum/game_mode/vox/trade))) - if(!warning) - user << "\red Returning to dark space will end your mission and report your success or failure. If you are sure, press the button again." - warning = 1 - return - vox_move_to(/area/shuttle/vox/station) - vox_shuttle_location = "start" - else if(href_list["arrivals"]) - vox_move_to(/area/vox_station/northwest_solars) - - add_fingerprint(usr) - updateUsrDialog() - return - -/obj/machinery/computer/vox_station/bullet_act(var/obj/item/projectile/Proj) - visible_message("[Proj] ricochets off [src]!") \ No newline at end of file diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 4bdc21c8736..4b28083530c 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2055,7 +2055,7 @@ var/shuttle_tag = input("Which shuttle do you want to call?") as null|anything in shuttles.locations if(shuttle_tag && !shuttles.moving[shuttle_tag]) - move_shuttle(shuttle_tag) + shuttles.move_shuttle(shuttle_tag) message_admins("\blue [key_name_admin(usr)] moved the [shuttle_tag] shuttle", 1) log_admin("[key_name(usr)] moved the [shuttle_tag] shuttle") diff --git a/code/modules/shuttles/antagonist.dm b/code/modules/shuttles/antagonist.dm new file mode 100644 index 00000000000..c49c099026c --- /dev/null +++ b/code/modules/shuttles/antagonist.dm @@ -0,0 +1,9 @@ +/obj/machinery/computer/shuttle_control/multi/vox + name = "skipjack control console" + req_access = list(access_syndicate) + shuttle_tag = "Vox Skipjack" + +/obj/machinery/computer/shuttle_control/multi/syndicate + name = "Syndicate control console" + req_access = list(access_syndicate) + shuttle_tag = "Syndicate" \ No newline at end of file diff --git a/code/modules/shuttles/departmental.dm b/code/modules/shuttles/departmental.dm new file mode 100644 index 00000000000..b0f257dfeaf --- /dev/null +++ b/code/modules/shuttles/departmental.dm @@ -0,0 +1,17 @@ +/obj/machinery/computer/shuttle_control/mining + name = "mining shuttle console" + shuttle_tag = "Mining" + req_access = list(access_mining) + circuit = "/obj/item/weapon/circuitboard/mining_shuttle" + +/obj/machinery/computer/shuttle_control/engineering + name = "engineering shuttle console" + shuttle_tag = "Engineering" + req_access = list(access_engine) + circuit = "/obj/item/weapon/circuitboard/engineering_shuttle" + +/obj/machinery/computer/shuttle_control/research + name = "research shuttle console" + shuttle_tag = "Research" + req_access = list(access_research) + circuit = "/obj/item/weapon/circuitboard/research_shuttle" \ No newline at end of file diff --git a/code/modules/shuttles/engineering.dm b/code/modules/shuttles/engineering.dm deleted file mode 100644 index 9a4158c5bb2..00000000000 --- a/code/modules/shuttles/engineering.dm +++ /dev/null @@ -1,5 +0,0 @@ -/obj/machinery/computer/shuttle_control/engineering - name = "engineering shuttle console" - shuttle_tag = "Engineering" - req_access = list(access_engine) - circuit = "/obj/item/weapon/circuitboard/engineering_shuttle" \ No newline at end of file diff --git a/code/modules/shuttles/mining.dm b/code/modules/shuttles/mining.dm deleted file mode 100644 index bb25028e78c..00000000000 --- a/code/modules/shuttles/mining.dm +++ /dev/null @@ -1,5 +0,0 @@ -/obj/machinery/computer/shuttle_control/mining - name = "mining shuttle console" - shuttle_tag = "Mining" - req_access = list(access_mining) - circuit = "/obj/item/weapon/circuitboard/mining_shuttle" \ No newline at end of file diff --git a/code/modules/shuttles/research.dm b/code/modules/shuttles/research.dm deleted file mode 100644 index 729c10f0906..00000000000 --- a/code/modules/shuttles/research.dm +++ /dev/null @@ -1,5 +0,0 @@ -/obj/machinery/computer/shuttle_control/research - name = "research shuttle console" - shuttle_tag = "Research" - req_access = list(access_research) - circuit = "/obj/item/weapon/circuitboard/research_shuttle" \ No newline at end of file diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index 773d4140c0b..f21db772b3f 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -10,6 +10,9 @@ var/global/datum/shuttle_controller/shuttles var/list/areas_offsite = list() var/list/areas_station = list() + //Shuttles with multiple destinations don't quite behave in the same way as ferries. + var/list/multi_shuttles = list() + /datum/shuttle_controller/New() ..() @@ -52,6 +55,134 @@ var/global/datum/shuttle_controller/shuttles areas_offsite["Research"] = locate(/area/shuttle/research/outpost) areas_station["Research"] = locate(/area/shuttle/research/station) + //Vox Shuttle. + var/datum/multi_shuttle/VS = new + VS.origin = /area/shuttle/vox/station + + VS.destinations = list( + "NSS Cyberiad" = /area/vox_station/northwest_solars + ) + + VS.announcer = "NSV Icarus" + VS.arrival_message = "Attention, Exodus, we just tracked a small target bypassing our defensive perimeter. Can't fire on it without hitting the station - you've got incoming visitors, like it or not." + VS.departure_message = "Your guests are pulling away, Exodus - moving too fast for us to draw a bead on them. Looks like they're heading out of the system at a rapid clip." + VS.interim = /area/vox_station/transit + + multi_shuttles["Vox Skipjack"] = VS + locations["Vox Skipjack"] = 1 + delays["Vox Skipjack"] = 10 + moving["Vox Skipjack"] = 0 + + //Nuke Ops shuttle. + var/datum/multi_shuttle/MS = new + MS.origin = /area/syndicate_station/start + + MS.destinations = list( + "NW" = /area/syndicate_station/northwest, + "N" = /area/syndicate_station/north, + "NE" = /area/syndicate_station/northeast, + "SW" = /area/syndicate_station/southwest, + "S" = /area/syndicate_station/south, + "SE" = /area/syndicate_station/southeast, + "Telecomms" = /area/syndicate_station/commssat, + "Mining" = /area/syndicate_station/mining + ) + + multi_shuttles["Syndicate"] = MS + locations["Syndicate"] = 1 + delays["Syndicate"] = 10 + moving["Syndicate"] = 0 + +/datum/shuttle_controller/proc/move_shuttle(var/shuttle_tag,var/area/origin,var/area/destination) + + world << "move_shuttle() called for [shuttle_tag] leaving [origin] en route to [destination]." + if(!shuttle_tag || isnull(locations[shuttle_tag])) + return + + if(moving[shuttle_tag] == 1) return + moving[shuttle_tag] = 1 + + spawn(delays[shuttle_tag]*10) + + var/area/area_going_to + if(destination) + world << "Using supplied destination [destination]." + area_going_to = destination + else + world << "Using controller value [(locations[shuttle_tag] == 1 ? areas_station[shuttle_tag] : areas_offsite[shuttle_tag])]." + area_going_to = (locations[shuttle_tag] == 1 ? areas_station[shuttle_tag] : areas_offsite[shuttle_tag]) + + var/area/area_coming_from + if(origin) + world << "Using supplied origin [origin]." + area_coming_from = origin + else + world << "Using controller value [(locations[shuttle_tag] == 1 ? areas_offsite[shuttle_tag] : areas_station[shuttle_tag])]." + area_coming_from = (locations[shuttle_tag] == 1 ? areas_offsite[shuttle_tag] : areas_station[shuttle_tag]) + + world << "area_coming_from: [area_coming_from]" + world << "area_going_to: [area_going_to]" + + if(area_coming_from == area_going_to) + world << "cancelling move, shuttle will overlap." + moving[shuttle_tag] = 0 + return + + var/list/dstturfs = list() + var/throwy = world.maxy + + for(var/turf/T in area_going_to) + dstturfs += T + if(T.y < throwy) + throwy = T.y + + for(var/turf/T in dstturfs) + var/turf/D = locate(T.x, throwy - 1, 1) + for(var/atom/movable/AM as mob|obj in T) + AM.Move(D) + if(istype(T, /turf/simulated)) + del(T) + + for(var/mob/living/carbon/bug in area_going_to) + bug.gib() + + for(var/mob/living/simple_animal/pest in area_going_to) + pest.gib() + + area_coming_from.move_contents_to(area_going_to) + + locations[shuttle_tag] = !locations[shuttle_tag] + + for(var/mob/M in area_going_to) + if(M.client) + M << "\red The ship lurches beneath you!" + spawn(0) + if(M.buckled) + shake_camera(M, 3, 1) + else + shake_camera(M, 10, 1) + if(istype(M, /mob/living/carbon)) + if(!M.buckled) + M.Weaken(3) + + moving[shuttle_tag] = 0 + return + +//This is for shuttles with a timer before arrival such as the vox skipjack and the escape shuttle. +/datum/shuttle_controller/proc/move_shuttle_long(var/shuttle_tag,var/area/departing,var/area/destination,var/area/interim,var/delay) + + move_shuttle(shuttle_tag,locate(departing),locate(interim)) + + spawn(1) + moving[shuttle_tag] = 1 //So they can't jump out by messing with the console. + + sleep(delay) + + moving[shuttle_tag] = 0 + move_shuttle(shuttle_tag,locate(interim),locate(destination)) + + return + /obj/machinery/computer/shuttle_control name = "shuttle console" icon = 'icons/obj/computer.dmi' @@ -86,14 +217,14 @@ var/global/datum/shuttle_controller/shuttles return usr.set_machine(src) src.add_fingerprint(usr) + if(href_list["move"]) if (!shuttles.moving[shuttle_tag]) usr << "\blue [shuttle_tag] Shuttle recieved message and will be sent shortly." - move_shuttle(shuttle_tag) + shuttles.move_shuttle(shuttle_tag) else usr << "\blue [shuttle_tag] Shuttle is already moving." - updateUsrDialog() /obj/machinery/computer/shuttle_control/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -102,57 +233,4 @@ var/global/datum/shuttle_controller/shuttles hacked = 1 usr << "You short out the console's ID checking system. It's now available to everyone!" else - ..() - -proc/move_shuttle(var/shuttle_tag,var/area/offsite,var/area/station) - - if(!shuttle_tag || isnull(shuttles.locations[shuttle_tag])) - return - - if(shuttles.moving[shuttle_tag] == 1) return - shuttles.moving[shuttle_tag] = 1 - - spawn(shuttles.delays[shuttle_tag]*10) - - var/list/dstturfs = list() - var/throwy = world.maxy - - var/area/area_going_to = (shuttles.locations[shuttle_tag] == 1 ? shuttles.areas_station[shuttle_tag] : shuttles.areas_offsite[shuttle_tag]) - var/area/area_coming_from = (shuttles.locations[shuttle_tag] == 1 ? shuttles.areas_offsite[shuttle_tag] : shuttles.areas_station[shuttle_tag]) - - for(var/turf/T in area_going_to) - dstturfs += T - if(T.y < throwy) - throwy = T.y - - for(var/turf/T in dstturfs) - var/turf/D = locate(T.x, throwy - 1, 1) - for(var/atom/movable/AM as mob|obj in T) - AM.Move(D) - if(istype(T, /turf/simulated)) - del(T) - - for(var/mob/living/carbon/bug in area_going_to) - bug.gib() - - for(var/mob/living/simple_animal/pest in area_going_to) - pest.gib() - - area_coming_from.move_contents_to(area_going_to) - - shuttles.locations[shuttle_tag] = !shuttles.locations[shuttle_tag] - - for(var/mob/M in area_going_to) - if(M.client) - spawn(0) - if(M.buckled) - shake_camera(M, 3, 1) - else - shake_camera(M, 10, 1) - if(istype(M, /mob/living/carbon)) - if(!M.buckled) - M.Weaken(3) - - shuttles.moving[shuttle_tag] = 0 - - return + ..() \ No newline at end of file diff --git a/code/modules/shuttles/shuttles_multi.dm b/code/modules/shuttles/shuttles_multi.dm new file mode 100644 index 00000000000..63a9a99cfc1 --- /dev/null +++ b/code/modules/shuttles/shuttles_multi.dm @@ -0,0 +1,124 @@ +//This is a holder for things like the Vox and Nuke shuttle. +/datum/multi_shuttle + + var/cloaked = 1 + var/at_origin = 1 + var/move_time = 240 + var/cooldown = 200 + + var/announcer + var/arrival_message + var/departure_message + + var/area/interim + var/area/last_departed + var/list/destinations + var/area/origin + var/return_warning = 0 + +/datum/multi_shuttle/New() + ..() + if(origin) last_departed = origin + +/datum/multi_shuttle/proc/announce_departure() + + if(cloaked || isnull(departure_message)) + return + + command_alert(departure_message,(announcer ? announcer : "Central Command")) + +/datum/multi_shuttle/proc/announce_arrival() + + if(cloaked || isnull(arrival_message)) + return + + command_alert(arrival_message,(announcer ? announcer : "Central Command")) + +/obj/machinery/computer/shuttle_control/multi + icon_state = "syndishuttle" + +/obj/machinery/computer/shuttle_control/multi/attack_hand(user as mob) + + if(..(user)) + return + src.add_fingerprint(user) + var/dat + + dat = "
[shuttle_tag] Ship Control
" + + if(shuttles.moving[shuttle_tag]) + dat += "Location: Moving
" + else + var/area/areacheck = get_area(src) + dat += "Location: [areacheck.name]
" + + dat += "Toggle cloaking field
" + dat += "Move ship
" + dat += "Return to base
" + + user << browse("[dat]", "window=[shuttle_tag]shuttlecontrol;size=220x220") + +/obj/machinery/computer/shuttle_control/multi/Topic(href, href_list) + + if(..()) + return + + usr.set_machine(src) + src.add_fingerprint(usr) + + var/datum/multi_shuttle/MS = shuttles.multi_shuttles[shuttle_tag] + if(!istype(MS)) return + + if (shuttles.moving[shuttle_tag]) + usr << "\blue [shuttle_tag] vessel is moving." + return + + if(href_list["start"]) + + if(MS.at_origin) + usr << "\red You are already at your home base." + return + + if(!MS.return_warning) + usr << "\red Returning to your home base will end your mission. If you are sure, press the button again." + //TODO: Actually end the mission. + MS.return_warning = 1 + return + + shuttles.move_shuttle_long(shuttle_tag,MS.last_departed,MS.origin,MS.interim,MS.move_time) + MS.last_departed = MS.origin + MS.at_origin = 1 + + if(href_list["toggle_cloak"]) + + if(!shuttles.multi_shuttles) return + + MS.cloaked = !MS.cloaked + usr << "\red Ship stealth systems have been [(MS.cloaked ? "activated. The station will not" : "deactivated. The station will")] be warned of our arrival." + + if(href_list["move_multi"]) + + if(!shuttles.multi_shuttles) return + + var/choice = input("Select a destination.") as null|anything in MS.destinations + if(!choice) return + + usr << "\blue [shuttle_tag] main computer recieved message." + + if(MS.at_origin) + MS.announce_arrival() + MS.last_departed = MS.origin + MS.at_origin = 0 + + shuttles.move_shuttle_long(shuttle_tag,MS.last_departed,MS.destinations[choice],MS.interim,MS.move_time) + MS.last_departed = MS.destinations[choice] + return + + else if(choice == MS.origin) + + MS.announce_departure() + + shuttles.move_shuttle(shuttle_tag,locate(MS.last_departed),locate(MS.destinations[choice])) + MS.last_departed = MS.destinations[choice] + + updateUsrDialog() diff --git a/maps/backup/cyberiad.dmm b/maps/backup/cyberiad.dmm index 8e6540b44a1..e4d206ee36f 100644 --- a/maps/backup/cyberiad.dmm +++ b/maps/backup/cyberiad.dmm @@ -1469,7 +1469,7 @@ "aCm" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/hallway/secondary/entry) "aCn" = (/obj/machinery/light,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/hallway/secondary/entry) "aCo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/hallway/secondary/entry) -"aCp" = (/obj/machinery/computer/engineering_shuttle{req_access = null; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry) +"aCp" = (/obj/machinery/computer/shuttle_control/engineering{req_access = null; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry) "aCq" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) "aCr" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry) "aCs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry) @@ -2532,7 +2532,7 @@ "aWJ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge) "aWK" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge) "aWL" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/bridge) -"aWM" = (/obj/machinery/computer/mining_shuttle,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/bridge) +"aWM" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/bridge) "aWN" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/bridge) "aWO" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/bridge) "aWP" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/bridge) @@ -2883,7 +2883,7 @@ "bdw" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/quartermaster/qm) "bdx" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/rcs,/turf/simulated/floor,/area/quartermaster/qm) "bdy" = (/obj/structure/table,/obj/item/weapon/coin/silver{pixel_x = -3; pixel_y = 3},/obj/item/weapon/coin/silver,/obj/item/device/eftpos{eftpos_name = "Quartermaster EFTPOS scanner"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) -"bdz" = (/obj/machinery/computer/mining_shuttle,/turf/simulated/floor,/area/quartermaster/qm) +"bdz" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor,/area/quartermaster/qm) "bdA" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor,/area/quartermaster/qm) "bdB" = (/obj/machinery/computer/security/mining,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/turf/simulated/floor,/area/quartermaster/qm) "bdC" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) @@ -4482,7 +4482,7 @@ "bIj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) "bIk" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/space,/area/shuttle/research/station) "bIl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/research/station) -"bIm" = (/obj/machinery/computer/research_shuttle,/turf/simulated/shuttle/floor,/area/shuttle/research/station) +"bIm" = (/obj/machinery/computer/shuttle_control/research,/turf/simulated/shuttle/floor,/area/shuttle/research/station) "bIn" = (/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "QMLoaddoor2"; name = "Supply Dock Loading Door"; opacity = 1},/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/quartermaster/storage) "bIo" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/plating,/area/quartermaster/storage) "bIp" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage) @@ -4796,7 +4796,7 @@ "bOl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bOm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bOn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bOo" = (/obj/machinery/computer/research_shuttle,/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) +"bOo" = (/obj/machinery/computer/shuttle_control/research,/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) "bOp" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) "bOq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Research Division Dock"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) "bOr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/research{name = "Research Shuttle Dock"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) @@ -5276,7 +5276,7 @@ "bXx" = (/turf/simulated/floor/airless{dir = 10; icon_state = "warning"},/area/toxins/test_area) "bXy" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/mining/station) "bXz" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"bXA" = (/obj/machinery/computer/mining_shuttle,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) +"bXA" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) "bXB" = (/obj/machinery/computer/security/mining,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/camera{c_tag = "Mining Dock"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) "bXC" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "bXD" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/unathi,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) @@ -5354,7 +5354,7 @@ "bYX" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) "bYY" = (/obj/item/weapon/ore/iron,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/miningdock) "bYZ" = (/obj/structure/closet/crate,/obj/machinery/light/small{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/quartermaster/miningdock) -"bZa" = (/obj/machinery/computer/mining_shuttle,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/miningdock) +"bZa" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/miningdock) "bZb" = (/obj/effect/landmark/start{name = "Shaft Miner"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/quartermaster/miningdock) "bZc" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) "bZd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/miningdock) @@ -9637,7 +9637,7 @@ "dDq" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dDr" = (/obj/structure/toilet{pixel_y = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) "dDs" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dDt" = (/obj/machinery/computer/engineering_shuttle,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) +"dDt" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) "dDu" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) "dDv" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) "dDw" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) @@ -9655,7 +9655,7 @@ "dDI" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/shuttle/constructionsite/site) "dDJ" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) "dDK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) -"dDL" = (/obj/machinery/computer/engineering_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) +"dDL" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) "dDM" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite/site) "dDN" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) "dDO" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) @@ -10159,7 +10159,7 @@ "dNs" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "dNt" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/remains/xeno,/turf/simulated/floor/plating,/area/mine/abandoned) "dNu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dNv" = (/obj/machinery/computer/research_shuttle,/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/entry) +"dNv" = (/obj/machinery/computer/shuttle_control/research,/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/entry) "dNw" = (/turf/simulated/floor,/area/research_outpost/entry) "dNx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) "dNy" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/entry) @@ -11107,7 +11107,7 @@ "efE" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/production) "efF" = (/obj/machinery/mineral/processing_unit_console,/turf/simulated/wall/r_wall,/area/mine/production) "efG" = (/obj/machinery/mineral/processing_unit,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"efH" = (/obj/machinery/computer/mining_shuttle,/turf/simulated/floor,/area/mine/production) +"efH" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor,/area/mine/production) "efI" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate,/turf/simulated/floor,/area/mine/production) "efJ" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) "efK" = (/turf/simulated/wall/r_wall,/area/mine/production) diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index e4d206ee36f..4c1c83cbbe4 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -8975,9 +8975,9 @@ "dqE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) "dqF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) "dqG" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Access"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dqH" = (/obj/machinery/computer/vox_station,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) +"dqH" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) "dqI" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dqJ" = (/obj/machinery/computer/vox_stealth,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) +"dqJ" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) "dqK" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqL" = (/obj/structure/rack,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "dqM" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"})