diff --git a/baystation12.dme b/baystation12.dme
index cf879f1b234..6fe1995f0ba 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -110,6 +110,7 @@
#include "code\__std\stack.dm"
#include "code\__std\units.dm"
#include "code\__std\util.dm"
+#include "code\_global_vars\bluespace_beacon.dm"
#include "code\_global_vars\configuration.dm"
#include "code\_global_vars\converter.dm"
#include "code\_global_vars\logging.dm"
@@ -775,7 +776,6 @@
#include "code\game\machinery\atmo_control.dm"
#include "code\game\machinery\autolathe.dm"
#include "code\game\machinery\autolathe_datums.dm"
-#include "code\game\machinery\Beacon.dm"
#include "code\game\machinery\biogenerator.dm"
#include "code\game\machinery\bioprinter.dm"
#include "code\game\machinery\bluespacerelay.dm"
@@ -1093,6 +1093,7 @@
#include "code\game\objects\items\circuitboards\machinery\unary_atmos.dm"
#include "code\game\objects\items\devices\aicard.dm"
#include "code\game\objects\items\devices\binoculars.dm"
+#include "code\game\objects\items\devices\bluespace_beacon.dm"
#include "code\game\objects\items\devices\cable_painter.dm"
#include "code\game\objects\items\devices\chameleonholo.dm"
#include "code\game\objects\items\devices\chameleonproj.dm"
@@ -1128,7 +1129,6 @@
#include "code\game\objects\items\devices\PDA\cart.dm"
#include "code\game\objects\items\devices\PDA\PDA.dm"
#include "code\game\objects\items\devices\PDA\radio.dm"
-#include "code\game\objects\items\devices\radio\beacon.dm"
#include "code\game\objects\items\devices\radio\electropack.dm"
#include "code\game\objects\items\devices\radio\encryptionkey.dm"
#include "code\game\objects\items\devices\radio\headset.dm"
diff --git a/code/_global_vars/bluespace_beacon.dm b/code/_global_vars/bluespace_beacon.dm
new file mode 100644
index 00000000000..5263714d204
--- /dev/null
+++ b/code/_global_vars/bluespace_beacon.dm
@@ -0,0 +1 @@
+GLOBAL_LIST_EMPTY(bluespace_beacons)
diff --git a/code/controllers/subsystems/supply.dm b/code/controllers/subsystems/supply.dm
index 2220aaa18c9..6ab338d4695 100644
--- a/code/controllers/subsystems/supply.dm
+++ b/code/controllers/subsystems/supply.dm
@@ -74,7 +74,7 @@ SUBSYSTEM_DEF(supply)
return 1
if(istype(A,/obj/machinery/nuclearbomb))
return 1
- if(istype(A,/obj/item/device/radio/beacon))
+ if(istype(A, /obj/item/device/bluespace_beacon))
return 1
for(var/i=1, i<=A.contents.len, i++)
diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm
deleted file mode 100644
index 7b05f7e71cb..00000000000
--- a/code/game/machinery/Beacon.dm
+++ /dev/null
@@ -1,50 +0,0 @@
-/obj/machinery/bluespace_beacon
-
- icon = 'icons/obj/objects.dmi'
- icon_state = "floor_beaconf"
- name = "Bluespace Gigabeacon"
- desc = "A device that draws power from bluespace and creates a permanent tracking beacon."
- level = 1 // underfloor
- anchored = 1
- idle_power_usage = 0 WATTS
- var/obj/item/device/radio/beacon/Beacon
-
- New()
- ..()
- var/turf/T = loc
- Beacon = new /obj/item/device/radio/beacon
- Beacon.invisibility = INVISIBILITY_MAXIMUM
- Beacon.loc = T
-
- hide(!T.is_plating())
-
- Destroy()
- QDEL_NULL(Beacon)
- . = ..()
-
- // update the invisibility and icon
- hide(intact)
- set_invisibility(intact ? 101 : 0)
- update_icon()
-
- // update the icon_state
- update_icon()
- var/state="floor_beacon"
-
- if(invisibility)
- icon_state = "[state]f"
-
- else
- icon_state = "[state]"
-
- Process()
- if(!Beacon)
- var/turf/T = loc
- Beacon = new /obj/item/device/radio/beacon
- Beacon.set_invisibility(INVISIBILITY_MAXIMUM)
- Beacon.loc = T
- if(Beacon)
- if(Beacon.loc != loc)
- Beacon.loc = loc
-
- update_icon()
diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm
index 56fb8a2824f..9b2a8a2084d 100644
--- a/code/game/machinery/computer/teleporter.dm
+++ b/code/game/machinery/computer/teleporter.dm
@@ -198,11 +198,11 @@
switch(mode)
if(MODE_TELEPORT)
- // TO-DO: refactor beacons to use their own global list.
- for(var/obj/item/device/radio/beacon/beacon in world)
+ for(var/obj/item/device/bluespace_beacon/beacon as anything in GLOB.bluespace_beacons)
var/turf/T = get_turf(beacon)
if(!is_suitable(T))
continue
+
LAZYSET(targets, avoid_assoc_duplicate_keys(T.loc.name, areaindex), beacon)
if(MODE_TARGET)
// TO-DO: refactor implants to use their own global list.
diff --git a/code/game/objects/items/devices/bluespace_beacon.dm b/code/game/objects/items/devices/bluespace_beacon.dm
new file mode 100644
index 00000000000..59a6f69a863
--- /dev/null
+++ b/code/game/objects/items/devices/bluespace_beacon.dm
@@ -0,0 +1,51 @@
+/obj/item/device/bluespace_beacon
+ name = "tracking beacon"
+ desc = "A device that draws power from bluespace and creates a permanent bluespace anchor."
+
+ icon_state = "beacon"
+ item_state = "signaler"
+
+ matter = list(MATERIAL_STEEL = 20, MATERIAL_GLASS = 10)
+
+ origin_tech = list(TECH_BLUESPACE = 1)
+
+/obj/item/device/bluespace_beacon/Initialize()
+ . = ..()
+ GLOB.bluespace_beacons += src
+
+/obj/item/device/bluespace_beacon/Destroy()
+ GLOB.bluespace_beacons -= src
+ return ..()
+
+/obj/item/device/bluespace_beacon/hidden
+ name = "stealth tracking beacon"
+ desc = parent_type::desc + " This one is a bit shy..."
+
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "floor_beacon"
+
+ level = 1
+
+ anchored = TRUE
+ randpixel = FALSE
+
+/obj/item/device/bluespace_beacon/hidden/attackby(obj/item/W, mob/user)
+ if(isWrench(W) && loc == get_turf(src))
+ wrench_floor_bolts(user)
+ return
+
+ return ..()
+
+/obj/item/device/bluespace_beacon/hidden/Initialize()
+ . = ..()
+
+ if(isturf(loc))
+ var/turf/loc_turf = loc
+ hide(!loc_turf.is_plating())
+
+/obj/item/device/bluespace_beacon/hidden/hide(hide)
+ if(!anchored)
+ return
+
+ ..()
+ update_icon()
diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm
deleted file mode 100644
index bf85ea240bb..00000000000
--- a/code/game/objects/items/devices/radio/beacon.dm
+++ /dev/null
@@ -1,35 +0,0 @@
-/obj/item/device/radio/beacon
- name = "tracking beacon"
- desc = "A beacon used by a teleporter."
- icon_state = "beacon"
- item_state = "signaler"
- var/code = "electronic"
- origin_tech = list(TECH_BLUESPACE = 1)
-
-/obj/item/device/radio/beacon/hear_talk()
- return
-
-/obj/item/device/radio/beacon/send_hear()
- return null
-
-/obj/item/device/radio/beacon/verb/alter_signal(newcode as text)
- set name = "Alter Beacon's Signal"
- set category = "Object"
- set src in usr
-
- var/mob/user = usr
- if (!user.incapacitated())
- code = newcode
- add_fingerprint(user)
-
-
-/obj/item/device/radio/beacon/anchored
- icon = 'icons/obj/objects.dmi'
- icon_state = "floor_magnet"
- anchored = TRUE
- randpixel = 0
-
-/obj/item/device/radio/beacon/anchored/Initialize()
- . = ..()
- var/turf/T = get_turf(src)
- hide(hides_under_flooring() && !T.is_plating())
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index e6f7ee87d8f..d6664678069 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -516,14 +516,15 @@
user.set_machine(src)
if (!( isScrewdriver(W) ))
return
- b_stat = !( b_stat )
- if(!istype(src, /obj/item/device/radio/beacon))
- if (b_stat)
- user.show_message("\The [src] can now be attached and modified!")
- else
- user.show_message("\The [src] can no longer be modified or attached!")
- updateDialog()
- return
+
+ b_stat = !b_stat
+ if(b_stat)
+ user.show_message(SPAN("notice", "\The [src] can now be attached and modified!"))
+ else
+ user.show_message(SPAN("notice", "\The [src] can no longer be modified or attached!"))
+
+ updateDialog()
+ return
/obj/item/device/radio/emp_act(severity)
broadcasting = 0
diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm
index ba5f2ecb490..8385822d7bb 100644
--- a/code/game/objects/items/weapons/teleportation.dm
+++ b/code/game/objects/items/weapons/teleportation.dm
@@ -61,22 +61,21 @@ Frequency:
if (sr)
temp += "Located Beacons:
"
- for(var/obj/item/device/radio/beacon/W in GLOB.listening_objects)
- if (W.frequency == frequency)
- var/turf/tr = get_turf(W)
- if (tr.z == sr.z && tr)
- var/direct = max(abs(tr.x - sr.x), abs(tr.y - sr.y))
- if (direct < 5)
- direct = "very strong"
+ for(var/obj/item/device/bluespace_beacon/W as anything in GLOB.bluespace_beacons)
+ var/turf/tr = get_turf(W)
+ if (tr.z == sr.z && tr)
+ var/direct = max(abs(tr.x - sr.x), abs(tr.y - sr.y))
+ if (direct < 5)
+ direct = "very strong"
+ else
+ if (direct < 10)
+ direct = "strong"
else
- if (direct < 10)
- direct = "strong"
+ if (direct < 20)
+ direct = "weak"
else
- if (direct < 20)
- direct = "weak"
- else
- direct = "very weak"
- temp += "[W.code]-[dir2text(get_dir(sr, tr))]-[direct]
"
+ direct = "very weak"
+ temp += "[tr.loc.name]-[dir2text(get_dir(sr, tr))]-[direct]
"
temp += "Extranneous Signals:
"
for (var/obj/item/implant/tracking/W in GLOB.listening_objects)
@@ -431,7 +430,7 @@ Frequency:
// Looks for all beacons located on station levels (station + tcomms for now) and adds them to refreshed (emptied) list of areas to teleport to.
/obj/item/vortex_manipulator/proc/get_beacon_locations()
beacon_locations = list()
- for(var/obj/item/device/radio/beacon/R in GLOB.listening_objects)
+ for(var/obj/item/device/bluespace_beacon/R as anything in GLOB.bluespace_beacons)
var/area/AR = get_area(R)
if(beacon_locations.Find(AR.name)) continue
var/turf/picked = pick(get_area_turfs(AR.type))
@@ -570,7 +569,7 @@ Frequency:
return
if(user && user.buckled)
user.buckled.unbuckle_mob()
- for(var/obj/item/device/radio/beacon/R in GLOB.listening_objects)
+ for(var/obj/item/device/bluespace_beacon/R as anything in GLOB.bluespace_beacons)
if(get_area(R) == thearea)
var/turf/T = get_turf(R)
phase_out(user,get_turf(user))
diff --git a/code/modules/clothing/spacesuits/rig/suits/station.dm b/code/modules/clothing/spacesuits/rig/suits/station.dm
index 06f73cb3adf..2220e35b04b 100644
--- a/code/modules/clothing/spacesuits/rig/suits/station.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/station.dm
@@ -207,7 +207,7 @@
boot_type = /obj/item/clothing/shoes/magboots/rig/hazmat
glove_type = /obj/item/clothing/gloves/rig/hazmat
- allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/storage/excavation,/obj/item/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/pinpointer/radio,/obj/item/device/radio/beacon,/obj/item/pickaxe/archaeologist/hand,/obj/item/storage/bag/fossils)
+ allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/storage/excavation,/obj/item/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/pinpointer/radio,/obj/item/device/bluespace_beacon,/obj/item/pickaxe/archaeologist/hand,/obj/item/storage/bag/fossils)
req_access = list()
req_one_access = list()
diff --git a/code/modules/clothing/spacesuits/void/misc.dm b/code/modules/clothing/spacesuits/void/misc.dm
index 502e3dea945..679d03c9063 100644
--- a/code/modules/clothing/spacesuits/void/misc.dm
+++ b/code/modules/clothing/spacesuits/void/misc.dm
@@ -82,7 +82,7 @@
desc = "A lightweight, radiation-resistant voidsuit, featuring the Expeditionary Corps emblem on its chest plate. Designed for exploring unknown planetary environments."
icon_state = "void_explorer"
armor = list(melee = 20, bullet = 10, laser = 15,energy = 45, bomb = 30, bio = 100)
- allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/device/healthanalyzer,/obj/item/device/gps,/obj/item/pinpointer/radio,/obj/item/device/radio/beacon,/obj/item/material/hatchet/machete,/obj/item/shovel)
+ allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/device/healthanalyzer,/obj/item/device/gps,/obj/item/pinpointer/radio,/obj/item/device/bluespace_beacon,/obj/item/material/hatchet/machete,/obj/item/shovel)
/obj/item/clothing/suit/space/void/exploration/prepared
helmet = /obj/item/clothing/head/helmet/space/void/exploration
diff --git a/code/modules/research/designs/protolathe/dp-bluespace.dm b/code/modules/research/designs/protolathe/dp-bluespace.dm
index a2a92821e63..b69e35b4690 100644
--- a/code/modules/research/designs/protolathe/dp-bluespace.dm
+++ b/code/modules/research/designs/protolathe/dp-bluespace.dm
@@ -7,7 +7,7 @@
id = "beacon"
req_tech = list(TECH_BLUESPACE = 1)
materials = list (MATERIAL_STEEL = 20, MATERIAL_GLASS = 10)
- build_path = /obj/item/device/radio/beacon
+ build_path = /obj/item/device/bluespace_beacon
sort_string = "VADAA"
/datum/design/item/bluespace/gps
diff --git a/code/modules/xenoarcheaology/artifacts/replicator.dm b/code/modules/xenoarcheaology/artifacts/replicator.dm
index a2eae065af4..9e05b62fccc 100644
--- a/code/modules/xenoarcheaology/artifacts/replicator.dm
+++ b/code/modules/xenoarcheaology/artifacts/replicator.dm
@@ -36,7 +36,7 @@
/obj/item/device/paicard,
/obj/item/device/radio,
/obj/item/device/radio/headset,
- /obj/item/device/radio/beacon,
+ /obj/item/device/bluespace_beacon,
/obj/item/autopsy_scanner,
/obj/item/bikehorn,
/obj/item/bonesetter,
diff --git a/code/modules/xenoarcheaology/finds/find_spawning.dm b/code/modules/xenoarcheaology/finds/find_spawning.dm
index 044ad9a4056..70b6a42f6ac 100644
--- a/code/modules/xenoarcheaology/finds/find_spawning.dm
+++ b/code/modules/xenoarcheaology/finds/find_spawning.dm
@@ -371,7 +371,7 @@
find_type = ARCHAEO_TELEBEACON
/obj/item/archaeological_find/beacon/spawn_item()
- var/obj/item/device/radio/beacon/new_item = new(loc)
+ var/obj/item/device/bluespace_beacon/new_item = new(loc)
new_item.icon = 'icons/obj/xenoarchaeology.dmi'
new_item.icon_state = "unknown[rand(1,4)]"
new_item.desc = ""
diff --git a/code/modules/xenoarcheaology/misc.dm b/code/modules/xenoarcheaology/misc.dm
index 2b129f5f173..debe8124868 100644
--- a/code/modules/xenoarcheaology/misc.dm
+++ b/code/modules/xenoarcheaology/misc.dm
@@ -94,7 +94,7 @@
new /obj/item/device/core_sampler(src)
new /obj/item/device/gps(src)
new /obj/item/pinpointer/radio(src)
- new /obj/item/device/radio/beacon(src)
+ new /obj/item/device/bluespace_beacon(src)
new /obj/item/clothing/glasses/hud/standard/meson(src)
new /obj/item/pickaxe(src)
new /obj/item/device/measuring_tape(src)
diff --git a/code/modules/xenoarcheaology/tools/equipment.dm b/code/modules/xenoarcheaology/tools/equipment.dm
index 1d2b79326c4..e318eda9762 100644
--- a/code/modules/xenoarcheaology/tools/equipment.dm
+++ b/code/modules/xenoarcheaology/tools/equipment.dm
@@ -17,7 +17,7 @@
desc = "A specially shielded voidsuit that insulates against some exotic alien energies, as well as the more mundane dangers of excavation."
icon_state = "rig-excavation"
armor = list(melee = 30, bullet = 0, laser = 5,energy = 40, bomb = 35, bio = 100)
- allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/storage/excavation,/obj/item/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/pinpointer/radio,/obj/item/device/radio/beacon,/obj/item/pickaxe/archaeologist/hand,/obj/item/storage/bag/fossils)
+ allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/storage/excavation,/obj/item/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/pinpointer/radio,/obj/item/device/bluespace_beacon,/obj/item/pickaxe/archaeologist/hand,/obj/item/storage/bag/fossils)
/obj/item/clothing/head/helmet/space/void/excavation
name = "excavation voidsuit helmet"
@@ -39,7 +39,7 @@
/obj/item/storage/box/samplebags,
/obj/item/device/core_sampler,
/obj/item/pinpointer/radio,
- /obj/item/device/radio/beacon,
+ /obj/item/device/bluespace_beacon,
/obj/item/device/gps,
/obj/item/device/measuring_tape,
/obj/item/device/flashlight,
diff --git a/code/modules/xenoarcheaology/tools/tools.dm b/code/modules/xenoarcheaology/tools/tools.dm
index 01895b5596c..951ce868b2f 100644
--- a/code/modules/xenoarcheaology/tools/tools.dm
+++ b/code/modules/xenoarcheaology/tools/tools.dm
@@ -246,8 +246,8 @@
var/turf/T = get_turf(src)
var/zlevels = GetConnectedZlevels(T.z)
var/cur_dist = world.maxx+world.maxy
- for(var/obj/item/device/radio/beacon/R in world)
- if((R.z in zlevels) && R.frequency == tracking_freq)
+ for(var/obj/item/device/bluespace_beacon/R as anything in GLOB.bluespace_beacons)
+ if((R.z in zlevels))
var/check_dist = get_dist(src,R)
if(check_dist < cur_dist)
cur_dist = check_dist
diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi
index 35972ecf917..7524777a0ed 100644
Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ
diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi
index 4a1d98ef0c8..3766d3bb9eb 100644
Binary files a/icons/obj/radio.dmi and b/icons/obj/radio.dmi differ
diff --git a/maps/derelicts/construction_site/construction_site.dmm b/maps/derelicts/construction_site/construction_site.dmm
index 11c212faee0..70f8ff02e94 100644
--- a/maps/derelicts/construction_site/construction_site.dmm
+++ b/maps/derelicts/construction_site/construction_site.dmm
@@ -60,7 +60,7 @@
"bh" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/constructionsite/teleporter)
"bi" = (/obj/machinery/atmospherics/pipe/simple/hidden/blue{icon_state = "intact"; dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "constructionsite_inner"; locked = 1; req_access = list(10)},/turf/simulated/floor,/area/constructionsite/teleporter)
"bj" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/constructionsite/teleporter)
-"bk" = (/obj/item/device/radio/beacon,/turf/simulated/floor/tiled,/area/constructionsite/teleporter)
+"bk" = (/obj/item/device/bluespace_beacon,/turf/simulated/floor/tiled,/area/constructionsite/teleporter)
"bl" = (/obj/machinery/power/smes/batteryrack{should_be_mapped = 1},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/constructionsite/teleporter)
"bm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/blue{icon_state = "map"; dir = 4},/turf/simulated/floor/tiled,/area/constructionsite/teleporter)
"bn" = (/obj/structure/window/basic{icon_state = "window"; dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/dark,/area/constructionsite/teleporter)
@@ -464,4 +464,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
\ No newline at end of file
+"}
diff --git a/maps/eclipse/eclipse-1.dmm b/maps/eclipse/eclipse-1.dmm
index b16dc5fd6f8..c31c61a5257 100644
--- a/maps/eclipse/eclipse-1.dmm
+++ b/maps/eclipse/eclipse-1.dmm
@@ -371,7 +371,7 @@
"ahD" = (/obj/structure/extinguisher_cabinet{dir = 1; pixel_y = -32},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/emergency)
"ahE" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/emergency)
"ahF" = (/obj/machinery/atm{dir = 1; pixel_y = -28},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/emergency)
-"ahG" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/emergency)
+"ahG" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/item/device/bluespace_beacon,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/emergency)
"ahH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/emergency)
"ahI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/emergency)
"ahJ" = (/obj/structure/sign/warning/engineering_access,/turf/simulated/wall,/area/eclipse/maintenance/tunnel/general/construction_area)
@@ -2323,7 +2323,7 @@
"aUs" = (/obj/structure/sign/directions/science{dir = 8; pixel_y = 10},/turf/simulated/wall/r_wall,/area/eclipse/research/main/robotics)
"aUt" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research Toxins Test Chamber Jerry"; dir = 4; network = list("Research","Toxins Test Area")},/mob/living/simple_animal/mouse/brown{name = "Jerry"},/turf/simulated/floor/tiled,/area/eclipse/research/misc/test_area)
"aUu" = (/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/security/chapel)
-"aUv" = (/obj/item/device/radio/beacon,/turf/simulated/floor/plating/airless,/area/eclipse/research/misc/test_area)
+"aUv" = (/obj/item/device/bluespace_beacon,/turf/simulated/floor/plating/airless,/area/eclipse/research/misc/test_area)
"aUw" = (/turf/simulated/floor/plating/airless,/area/eclipse/research/misc/test_area)
"aUx" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/eclipse/research/misc/test_area)
"aUy" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/eclipse/research/misc/docking)
@@ -2697,7 +2697,7 @@
"bbV" = (/obj/structure/table/woodentable,/obj/machinery/button/remote/blast_door{id = "bridge_blast"; name = "Bridge Lockdown"; pixel_x = -6; pixel_y = 6},/obj/machinery/button/remote/blast_door{id = "security_lockdown"; name = "Brig Lockdown"; pixel_x = -6; pixel_y = -5},/obj/machinery/button/remote/blast_door{id = "atmos_lock"; name = "Atmospherics Lockdown"; pixel_x = 6; pixel_y = -5},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/button/remote/blast_door{id = "engineering_lockdown"; name = "Engineering Lockdown"; pixel_x = 6; pixel_y = 6},/turf/simulated/floor/tiled,/area/eclipse/civilian/command/bridge)
"bbW" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/landmark/start/crew/captain,/turf/simulated/floor/tiled,/area/eclipse/civilian/command/bridge)
"bbX" = (/obj/effect/floor_decal/ss13/l13{dir = 4; pixel_y = 16},/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled/dark/mono,/area/eclipse/civilian/hallway/research)
-"bbY" = (/obj/item/device/radio/beacon,/obj/effect/floor_decal/corner/yellow{dir = 9},/turf/simulated/floor/tiled,/area/eclipse/civilian/command/bridge)
+"bbY" = (/obj/item/device/bluespace_beacon,/obj/effect/floor_decal/corner/yellow{dir = 9},/turf/simulated/floor/tiled,/area/eclipse/civilian/command/bridge)
"bbZ" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/eclipse/civilian/command/bridge)
"bca" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled,/area/eclipse/civilian/command/bridge)
"bcb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/relectric/rglass,/turf/simulated/floor/plating,/area/eclipse/civilian/command/bridge)
@@ -3347,7 +3347,7 @@
"boI" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/eclipse/medical/virology/restroom)
"boJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/eclipse/medical/virology/restroom)
"boK" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/eclipse/medical/virology/restroom)
-"boL" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/closet/crate,/obj/prefab/hand_teleporter,/obj/item/device/radio/beacon,/obj/item/device/radio/beacon,/turf/simulated/floor/tiled,/area/eclipse/civilian/misc/teleporter)
+"boL" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/closet/crate,/obj/prefab/hand_teleporter,/obj/item/device/bluespace_beacon,/obj/item/device/bluespace_beacon,/turf/simulated/floor/tiled,/area/eclipse/civilian/misc/teleporter)
"boM" = (/turf/simulated/wall,/area/eclipse/medical/support/storage3)
"boN" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24; name = "fire alarm - south"},/obj/structure/closet/secure_closet/personal/patient,/obj/effect/floor_decal/corner/blue/three_quarters,/obj/machinery/light_switch{dir = 4; pixel_x = -26; name = "light switch - west"},/turf/simulated/floor/tiled/white,/area/eclipse/medical/support/ambulatory/patient_c)
"boO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/obj/structure/table/standard,/obj/effect/floor_decal/corner/blue{dir = 10},/obj/item/modular_computer/laptop/preset/records,/turf/simulated/floor/tiled/white,/area/eclipse/medical/support/ambulatory/patient_c)
@@ -3644,7 +3644,7 @@
"bux" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/bridge_south)
"buy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 4},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/bridge_south)
"buz" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/tiled/white/mono,/area/eclipse/civilian/dormitory/rooms/room5)
-"buA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/beacon,/turf/simulated/floor/tiled,/area/eclipse/civilian/misc/teleporter)
+"buA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/bluespace_beacon,/turf/simulated/floor/tiled,/area/eclipse/civilian/misc/teleporter)
"buB" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/eclipse/civilian/misc/teleporter)
"buC" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Church Substation Bypass"},/turf/simulated/floor/plating,/area/eclipse/maintenance/substation/hydroponics)
"buD" = (/turf/simulated/floor/tiled,/area/eclipse/civilian/misc/teleporter)
@@ -7285,7 +7285,7 @@
"cOL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/blue{dir = 8},/obj/effect/floor_decal/corner/white{dir = 1},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/spaceport/dock4)
"cOM" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway3)
"cON" = (/obj/machinery/camera/autoname{dir = 8},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/spaceport/dock4)
-"cOO" = (/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/spaceport/dock1)
+"cOO" = (/obj/item/device/bluespace_beacon,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/spaceport/dock1)
"cOP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Substation"; req_access = list(10)},/turf/simulated/floor/plating,/area/eclipse/maintenance/substation/cargo)
"cOQ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/cargo/cargo)
"cOR" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/cargo/cargo)
diff --git a/maps/exodus/exodus-2.dmm b/maps/exodus/exodus-2.dmm
index 0d4d06d3b70..ec771937c02 100644
--- a/maps/exodus/exodus-2.dmm
+++ b/maps/exodus/exodus-2.dmm
@@ -3211,7 +3211,7 @@
"bjT" = (/obj/effect/floor_decal/chapel{dir = 8},/obj/structure/flora/pottedplant/faketree,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light,/turf/simulated/floor/tiled/dark/rough,/area/chapel/main)
"bjU" = (/obj/effect/floor_decal/corner/lime{dir = 6},/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/simulated/floor/tiled/rough,/area/hydroponics/garden)
"bjV" = (/obj/effect/floor_decal/chapel{dir = 8},/obj/structure/table/woodentable,/obj/item/storage/box/cups,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/chapel/main)
-"bjW" = (/obj/item/device/radio/beacon,/turf/simulated/floor/tiled/rough,/area/bridge)
+"bjW" = (/obj/item/device/bluespace_beacon,/turf/simulated/floor/tiled/rough,/area/bridge)
"bjX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/navbeacon/wayfinding/bridge,/turf/simulated/floor/tiled/rough,/area/bridge)
"bjY" = (/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/camera/network/command{c_tag = "Bridge East"},/obj/effect/floor_decal/corner/white{dir = 5},/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/blue,/obj/item/pen,/turf/simulated/floor/tiled/rough,/area/bridge)
"bjZ" = (/obj/effect/floor_decal/corner/white{dir = 5},/obj/machinery/computer/crew,/turf/simulated/floor/tiled/rough,/area/bridge)
@@ -4995,7 +4995,7 @@
"bSv" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/rough,/area/teleporter)
"bSw" = (/obj/item/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/rough,/area/teleporter)
"bSx" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/teleporter)
-"bSy" = (/obj/item/device/radio/beacon,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/teleporter)
+"bSy" = (/obj/item/device/bluespace_beacon,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/teleporter)
"bSz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/teleporter)
"bSA" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/rough,/area/teleporter)
"bSB" = (/obj/structure/lattice,/obj/structure/window_frame/grille,/turf/space,/area/maintenance/exterior)
@@ -6087,7 +6087,7 @@
"cnv" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating/airless,/area/rnd/mixing)
"cnw" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/rnd/mixing)
"cnx" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
-"cny" = (/obj/item/device/radio/beacon,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
+"cny" = (/obj/item/device/bluespace_beacon,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
"cnz" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/window_frame/reinforced/thermal,/turf/simulated/floor/plating,/area/rnd/misc_lab)
"cnA" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/airless,/area/rnd/test_area)
"cnB" = (/obj/machinery/light{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber East"; dir = 8},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/rnd/test_area)
@@ -7999,7 +7999,7 @@
"wfP" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/security/brig)
"wkF" = (/obj/machinery/smartfridge/secure/blood/filled,/turf/simulated/wall,/area/medical/sleeper)
"wDd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
-"wOA" = (/obj/effect/landmark/joinlate/observer,/obj/item/device/radio/beacon,/obj/machinery/navbeacon/wayfinding/dockarrival,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"wOA" = (/obj/effect/landmark/joinlate/observer,/obj/item/device/bluespace_beacon,/obj/machinery/navbeacon/wayfinding/dockarrival,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
"wRK" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/reagent_containers/vessel/condiment/small/peppermill{pixel_x = -3; pixel_y = 2},/obj/item/reagent_containers/vessel/condiment/small/saltshaker,/obj/item/storage/pill_bottle/sugar_cubes,/obj/machinery/light/small/hl,/obj/item/reagent_containers/food/cookie,/obj/effect/floor_decal/corner/brown/diagonal{dir = 4},/obj/effect/floor_decal/corner/beige/diagonal,/turf/simulated/floor/tiled/rough,/area/crew_quarters/mess)
"wTX" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
"wUD" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "propulsion"},/area/shuttle/security/station)
diff --git a/maps/frontier/frontier-1.dmm b/maps/frontier/frontier-1.dmm
index 8830beacdc7..7353aaf0485 100644
--- a/maps/frontier/frontier-1.dmm
+++ b/maps/frontier/frontier-1.dmm
@@ -253,7 +253,7 @@
"aeT" = (/turf/simulated/floor/tiled/rough,/area/teleporter)
"aeU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/rough,/area/teleporter)
"aeV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/teleporter)
-"aeW" = (/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/rough,/area/teleporter)
+"aeW" = (/obj/item/device/bluespace_beacon,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/rough,/area/teleporter)
"aeX" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/teleporter)
"aeY" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/rough,/area/teleporter)
"aeZ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24},/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white/rough,/area/outpost/research/lab)
@@ -277,7 +277,7 @@
"afs" = (/obj/structure/bed/chair/shuttle/blue{dir = 4},/obj/effect/landmark/joinlate,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
"aft" = (/obj/structure/bed/chair/shuttle/blue{dir = 8},/obj/effect/landmark/joinlate,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
"afu" = (/obj/machinery/door/airlock/external/bolted_open,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
-"afv" = (/obj/machinery/hologram/holopad,/obj/item/device/radio/beacon,/obj/effect/landmark/joinlate/observer,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"afv" = (/obj/machinery/hologram/holopad,/obj/item/device/bluespace_beacon,/obj/effect/landmark/joinlate/observer,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
"afw" = (/obj/structure/filingcabinet,/obj/machinery/camera/network/security{c_tag = "Security - HoS' Office"; dir = 1},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/heads/hos)
"afx" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_t"},/area/shuttle/arrival/station)
"afy" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/plating/airless,/area/shuttle/arrival/station)
@@ -2370,7 +2370,7 @@
"aYx" = (/obj/machinery/light/small/hl,/turf/simulated/floor/natural/sand/darksand,/area/crew_quarters/sleep/cave)
"aYy" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/natural/sand/darksand,/area/crew_quarters/sleep/cave)
"aYz" = (/obj/machinery/camera/network/civilian_east{c_tag = "Central Hallway - East 1"},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
-"aYA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/beacon,/turf/simulated/floor/trim/wood,/area/bridge)
+"aYA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/bluespace_beacon,/turf/simulated/floor/trim/wood,/area/bridge)
"aYB" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/reception)
"aYC" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/trim/lino,/area/security/detectives_office)
"aYD" = (/obj/structure/bookcase,/obj/item/book/wiki/detective,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/trim/lino,/area/security/detectives_office)
@@ -3799,7 +3799,7 @@
"bHT" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light/small/red{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay)
"bHU" = (/obj/map_ent/biodome{tag = "_ent_choose_biodome"},/turf/simulated/wall/r_wall,/area/hallway/primary/frontier/ring_south)
"bHW" = (/obj/structure/window/reinforced{dir = 4},/obj/item/target,/turf/simulated/floor/tiled/airless,/area/rnd/test_area)
-"bHX" = (/obj/item/device/radio/beacon,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
+"bHX" = (/obj/item/device/bluespace_beacon,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
"bHY" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east)
"bHZ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/obj/machinery/sparker{dir = 4; id = "mixingsparker"; pixel_x = -25},/turf/simulated/floor/reinforced,/area/rnd/mixing)
"bIa" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/wall/r_wall,/area/rnd/mixing)
diff --git a/maps/genesis/genesis-2.dmm b/maps/genesis/genesis-2.dmm
index d4b0888df66..4fcea9839d4 100644
--- a/maps/genesis/genesis-2.dmm
+++ b/maps/genesis/genesis-2.dmm
@@ -2029,7 +2029,7 @@
"aNj" = (/obj/effect/landmark/event/centcom/enter,/turf/space,/area/space)
"aNk" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/floor/plating,/area/shuttle/arrival/station)
"aNl" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
-"aNm" = (/obj/effect/landmark/joinlate/observer,/obj/item/device/radio/beacon,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"aNm" = (/obj/effect/landmark/joinlate/observer,/obj/item/device/bluespace_beacon,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
"aNn" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
"aNo" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/white{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/port)
"aNp" = (/turf/simulated/wall,/area/hallway/secondary/entry/starboard)
@@ -2775,7 +2775,7 @@
"bbC" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/computer/shuttle_control/mining,/obj/effect/floor_decal/corner/brown/three_quarters{dir = 8},/turf/simulated/floor/tiled,/area/bridge)
"bbD" = (/obj/machinery/computer/shuttle_control/research,/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/bridge)
"bbE" = (/obj/machinery/camera/network/command{c_tag = "Bridge West"},/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/flash,/obj/item/device/flash,/turf/simulated/floor/tiled,/area/bridge)
-"bbF" = (/obj/item/device/radio/beacon,/turf/simulated/floor/tiled,/area/bridge)
+"bbF" = (/obj/item/device/bluespace_beacon,/turf/simulated/floor/tiled,/area/bridge)
"bbG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/bridge)
"bbH" = (/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/camera/network/command{c_tag = "Bridge East"},/obj/effect/floor_decal/corner/white{dir = 5},/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/blue,/obj/item/pen,/turf/simulated/floor/tiled,/area/bridge)
"bbI" = (/obj/effect/floor_decal/corner/white{dir = 5},/obj/machinery/computer/crew,/turf/simulated/floor/tiled,/area/bridge)
@@ -4366,7 +4366,7 @@
"bGi" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/teleporter)
"bGj" = (/obj/item/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/teleporter)
"bGk" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/teleporter)
-"bGl" = (/obj/item/device/radio/beacon,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/teleporter)
+"bGl" = (/obj/item/device/bluespace_beacon,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/teleporter)
"bGm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/teleporter)
"bGn" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/teleporter)
"bGo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor/tiled,/area/teleporter)
@@ -5426,7 +5426,7 @@
"caF" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating/airless,/area/rnd/mixing)
"caG" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/rnd/mixing)
"caH" = (/obj/machinery/door/blast/regular{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
-"caI" = (/obj/item/device/radio/beacon,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
+"caI" = (/obj/item/device/bluespace_beacon,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
"caJ" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/tiled/airless,/area/rnd/test_area)
"caK" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/airless,/area/rnd/test_area)
"caL" = (/obj/machinery/light{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber East"; dir = 8},/turf/simulated/floor/plating/airless,/area/rnd/test_area)
diff --git a/maps/telecomms.dmm b/maps/telecomms.dmm
index 9f7e875c273..fbcfd942007 100644
--- a/maps/telecomms.dmm
+++ b/maps/telecomms.dmm
@@ -352,7 +352,7 @@
"gN" = (/obj/machinery/door/airlock/hatch{name = "Power Control"; req_access = list(61)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gQ" = (/obj/machinery/bluespace_beacon,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/item/device/radio/beacon,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
+"gQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/item/device/bluespace_beacon/hidden,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gS" = (/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"gT" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
@@ -666,4 +666,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
\ No newline at end of file
+"}