From 0d6453f6716992f7cb33a58f0cc5a57aba8e57cd Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Mon, 12 Oct 2020 23:17:29 +0200 Subject: [PATCH] [MIRROR] Teleporter machinery now auto links with each other, removes screwdriver + wirecutter interaction (#1266) * Teleporter machinery now auto links with each other, removes screwdriver + wirecutter interaction (#54325) Teleporter machinery will now automatically link with each other. This makes the screwdriver + wirecutter interaction redundant, so it has been removed. * Teleporter machinery now auto links with each other, removes screwdriver + wirecutter interaction Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com> --- code/game/machinery/computer/teleporter.dm | 1 + code/game/machinery/teleporter.dm | 9 ++------- code/modules/unit_tests/_unit_tests.dm | 1 + code/modules/unit_tests/teleporters.dm | 10 ++++++++++ 4 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 code/modules/unit_tests/teleporters.dm diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index 299371a59c7..5488aaa7c56 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -29,6 +29,7 @@ for(var/direction in GLOB.cardinals) power_station = locate(/obj/machinery/teleport/station, get_step(src, direction)) if(power_station) + power_station.link_console_and_hub() break return power_station diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index e51a6315914..563b8b23e6e 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -42,6 +42,7 @@ for(var/direction in GLOB.cardinals) power_station = locate(/obj/machinery/teleport/station, get_step(src, direction)) if(power_station) + power_station.link_console_and_hub() break return power_station @@ -132,7 +133,7 @@ if(!panel_open) . += "The panel is screwed in, obstructing the linking device and wiring panel." else - . += "The linking device is now able to be scanned with a multitool.
The wiring can be connected to a nearby console and hub with a pair of wirecutters.
" + . += "The linking device is now able to be scanned with a multitool." if(in_range(user, src) || isobserver(user)) . += "The status display reads: This station can be linked to [efficiency] other station(s)." @@ -183,12 +184,6 @@ else if(default_deconstruction_crowbar(W)) return - - else if(W.tool_behaviour == TOOL_WIRECUTTER) - if(panel_open) - link_console_and_hub() - to_chat(user, "You reconnect the station to nearby machinery.") - return else return ..() diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index c4f0bca6394..88226a647ed 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -49,6 +49,7 @@ #include "stomach.dm" #include "subsystem_init.dm" #include "surgeries.dm" +#include "teleporters.dm" #include "timer_sanity.dm" #include "unit_test.dm" diff --git a/code/modules/unit_tests/teleporters.dm b/code/modules/unit_tests/teleporters.dm new file mode 100644 index 00000000000..fa2624adaa0 --- /dev/null +++ b/code/modules/unit_tests/teleporters.dm @@ -0,0 +1,10 @@ +/datum/unit_test/auto_teleporter_linking/Run() + // Put down the teleporter machinery + var/obj/machinery/teleport/hub/hub = allocate(/obj/machinery/teleport/hub) + var/obj/machinery/teleport/station/station = allocate(/obj/machinery/teleport/station, locate(run_loc_bottom_left.x + 1, run_loc_bottom_left.y, run_loc_bottom_left.z)) + var/obj/machinery/computer/teleporter/computer = allocate(/obj/machinery/computer/teleporter, locate(run_loc_bottom_left.x + 2, run_loc_bottom_left.y, run_loc_bottom_left.z)) + + TEST_ASSERT_EQUAL(hub.power_station, station, "Hub didn't link to the station") + TEST_ASSERT_EQUAL(station.teleporter_console, computer, "Station didn't link to the teleporter console") + TEST_ASSERT_EQUAL(station.teleporter_hub, hub, "Station didn't link to the hub") + TEST_ASSERT_EQUAL(computer.power_station, station, "Teleporter console didn't link to the hub")