diff --git a/code/game/objects/items/devices/radio/radio_vr.dm b/code/game/objects/items/devices/radio/radio_vr.dm
index 86a16280fc..aa12444576 100644
--- a/code/game/objects/items/devices/radio/radio_vr.dm
+++ b/code/game/objects/items/devices/radio/radio_vr.dm
@@ -1,6 +1,3 @@
-/obj/item/device/radio
- var/bluespace_radio = FALSE
-
/obj/item/device/radio/phone
subspace_transmission = 1
canhear_range = 0
@@ -17,132 +14,20 @@
..()
internal_channels = default_medbay_channels.Copy()
-//Pathfinder's Subspace Radio
-/obj/item/device/subspaceradio
- name = "subspace radio"
- desc = "A powerful new radio recently gifted to Nanotrasen from KHI, this communications device has the ability to send and recieve transmissions from anywhere."
- catalogue_data = list(/datum/category_item/catalogue/information/organization/khi)
- icon = 'icons/vore/custom_items_vr.dmi'
- icon_override = 'icons/mob/back_vr.dmi'
- icon_state = "radiopack"
- item_state = "radiopack"
- slot_flags = SLOT_BACK
- force = 5
- throwforce = 6
- preserve_item = 1
- w_class = ITEMSIZE_LARGE
- action_button_name = "Remove/Replace Handset"
- var/obj/item/device/radio/subspacehandset/linked/handset
-/obj/item/device/subspaceradio/New() //starts without a cell for rnd
- ..()
- if(ispath(handset))
- handset = new handset(src, src)
- else
- handset = new(src, src)
+/obj/item/device/bluespaceradio/tether_prelinked
+ name = "bluespace radio (tether)"
+ handset = /obj/item/device/radio/bluespacehandset/linked/tether_prelinked
-/obj/item/device/subspaceradio/Destroy()
- . = ..()
- QDEL_NULL(handset)
+/obj/item/device/radio/bluespacehandset/linked/tether_prelinked
+ bs_tx_preload_id = "tether_rx" //Transmit to a receiver
+ bs_rx_preload_id = "tether_tx" //Recveive from a transmitter
-/obj/item/device/subspaceradio/ui_action_click()
- toggle_handset()
+/obj/item/device/bluespaceradio/talon_prelinked
+ name = "bluespace radio (talon)"
+ handset = /obj/item/device/radio/bluespacehandset/linked/talon_prelinked
-/obj/item/device/subspaceradio/attack_hand(mob/user)
- if(loc == user)
- toggle_handset()
- else
- ..()
-
-/obj/item/device/subspaceradio/MouseDrop()
- if(ismob(loc))
- if(!CanMouseDrop(src))
- return
- var/mob/M = loc
- if(!M.unEquip(src))
- return
- add_fingerprint(usr)
- M.put_in_any_hand_if_possible(src)
-
-/obj/item/device/subspaceradio/attackby(obj/item/weapon/W, mob/user, params)
- if(W == handset)
- reattach_handset(user)
- else
- return ..()
-
-/obj/item/device/subspaceradio/verb/toggle_handset()
- set name = "Toggle Handset"
- set category = "Object"
-
- var/mob/living/carbon/human/user = usr
- if(!handset)
- to_chat(user, "The handset is missing!")
- return
-
- if(handset.loc != src)
- reattach_handset(user) //Remove from their hands and back onto the defib unit
- return
-
- if(!slot_check())
- to_chat(user, "You need to equip [src] before taking out [handset].")
- else
- if(!usr.put_in_hands(handset)) //Detach the handset into the user's hands
- to_chat(user, "You need a free hand to hold the handset!")
- update_icon() //success
-
-//checks that the base unit is in the correct slot to be used
-/obj/item/device/subspaceradio/proc/slot_check()
- var/mob/M = loc
- if(!istype(M))
- return 0 //not equipped
-
- if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_back) == src)
- return 1
- if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_s_store) == src)
- return 1
-
- return 0
-
-/obj/item/device/subspaceradio/dropped(mob/user)
- ..()
- reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit
-
-/obj/item/device/subspaceradio/proc/reattach_handset(mob/user)
- if(!handset) return
-
- if(ismob(handset.loc))
- var/mob/M = handset.loc
- if(M.drop_from_inventory(handset, src))
- to_chat(user, "\The [handset] snaps back into the main unit.")
- else
- handset.forceMove(src)
-
-//Subspace Radio Handset
-/obj/item/device/radio/subspacehandset
- name = "subspace radio handset"
- desc = "A large walkie talkie attached to the subspace radio by a retractable cord. It sits comfortably on a slot in the radio when not in use."
- bluespace_radio = TRUE
- icon_state = "signaller"
- slot_flags = null
- w_class = ITEMSIZE_LARGE
-
-/obj/item/device/radio/subspacehandset/linked
- var/obj/item/device/subspaceradio/base_unit
-
-/obj/item/device/radio/subspacehandset/linked/New(newloc, obj/item/device/subspaceradio/radio)
- base_unit = radio
- ..(newloc)
-
-/obj/item/device/radio/subspacehandset/linked/Destroy()
- if(base_unit)
- //ensure the base unit's icon updates
- if(base_unit.handset == src)
- base_unit.handset = null
- base_unit = null
- return ..()
-
-/obj/item/device/radio/subspacehandset/linked/dropped(mob/user)
- ..() //update twohanding
- if(base_unit)
- base_unit.reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit
+/obj/item/device/radio/bluespacehandset/linked/talon_prelinked
+ bs_tx_preload_id = "talon_aio" //Transmit to a receiver
+ bs_rx_preload_id = "talon_aio" //Recveive from a transmitter
\ No newline at end of file
diff --git a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
index a76b752b1b..f543b95431 100644
--- a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
@@ -17,39 +17,39 @@
//Area allowing backpacks to be placed on rigsuits.
/obj/item/weapon/rig/vox
- allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack, /obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/combat
- allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/ert
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \
/obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
- /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/light/ninja
- allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/merc
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/ce
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/medical
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/hazmat
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/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/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/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/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/hazard
- allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/industrial
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/military
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/handcuffs, \
/obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/weldingtool, /obj/item/weapon/tool, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
- /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/pmc
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \
/obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
- /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit)
+ /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
/obj/item/weapon/rig/robotics
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/storage/box, /obj/item/weapon/storage/belt, /obj/item/device/defib_kit/compact)
diff --git a/maps/southern_cross/structures/closets/misc_vr.dm b/maps/southern_cross/structures/closets/misc_vr.dm
index 033a5384ef..e9876ee19f 100644
--- a/maps/southern_cross/structures/closets/misc_vr.dm
+++ b/maps/southern_cross/structures/closets/misc_vr.dm
@@ -112,7 +112,7 @@
/obj/item/device/geiger,
/obj/item/weapon/cell/device,
/obj/item/device/radio,
- /obj/item/device/subspaceradio,
+ /obj/item/device/bluespaceradio/tether_prelinked,
/obj/item/stack/marker_beacon/thirty,
/obj/item/weapon/material/knife/tacknife/survival,
/obj/item/weapon/material/knife/machete/deluxe,