From 4cfd14849dd2cbb81bfac06f2a9a7ac4f64cd8a4 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Fri, 10 Apr 2020 19:52:59 -0400 Subject: [PATCH] VS: Replace 'subspace backpack' with bluespace radio --- .../objects/items/devices/radio/radio_vr.dm | 139 ++---------------- .../spacesuits/rig/suits/station_vr.dm | 24 +-- .../structures/closets/misc_vr.dm | 2 +- 3 files changed, 25 insertions(+), 140 deletions(-) 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,