mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-15 00:54:16 +01:00
Requested Changes 1
This commit is contained in:
@@ -40,7 +40,6 @@ var/global/list/default_medbay_channels = list(
|
||||
var/list/channels = list() //see communications.dm for full list. First channel is a "default" for :h
|
||||
var/subspace_transmission = 0
|
||||
var/adhoc_fallback = FALSE //Falls back to 'radio' mode if subspace not available
|
||||
var/bluespace_radio = FALSE //VOREStation Add - Long Range Radio
|
||||
var/syndie = 0//Holder to see if it's a syndicate encrypted radio
|
||||
var/centComm = 0//Holder to see if it's a CentCom encrypted radio
|
||||
flags = CONDUCT
|
||||
@@ -475,6 +474,12 @@ var/global/list/default_medbay_channels = list(
|
||||
// we're done here.
|
||||
return 1
|
||||
|
||||
// Oh my god; the comms are down or something because the signal hasn't been broadcasted yet in our level.
|
||||
// Send a mundane broadcast with limited targets:
|
||||
|
||||
//THIS IS TEMPORARY. YEAH RIGHT
|
||||
if(!connection) return 0 //~Carn
|
||||
|
||||
//VOREStation Add Start
|
||||
if(bluespace_radio)
|
||||
return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote),
|
||||
@@ -482,12 +487,6 @@ var/global/list/default_medbay_channels = list(
|
||||
0, signal.data["compression"], list(0), connection.frequency,verb,speaking)
|
||||
//VOREStation Add End
|
||||
|
||||
// Oh my god; the comms are down or something because the signal hasn't been broadcasted yet in our level.
|
||||
// Send a mundane broadcast with limited targets:
|
||||
|
||||
//THIS IS TEMPORARY. YEAH RIGHT
|
||||
if(!connection) return 0 //~Carn
|
||||
|
||||
return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote),
|
||||
src, message, displayname, jobname, real_name, M.voice_name,
|
||||
filter_type, signal.data["compression"], list(position.z), connection.frequency,verb,speaking)
|
||||
@@ -526,7 +525,7 @@ var/global/list/default_medbay_channels = list(
|
||||
if(!(0 in level))
|
||||
var/turf/position = get_turf(src)
|
||||
if(!position || !(position.z in level))
|
||||
if(!bluespace_radio && !(src.bluespace_radio)) //VOREStation Edit
|
||||
if(!bluespace_radio) //VOREStation Edit
|
||||
return -1
|
||||
if(freq in ANTAG_FREQS)
|
||||
if(!(src.syndie))//Checks to see if it's allowed on that frequency, based on the encryption keys
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
/obj/item/device/radio
|
||||
var/bluespace_radio = FALSE
|
||||
|
||||
//Pathfinder's Subspace Radio
|
||||
/obj/item/device/subspaceradio
|
||||
name = "subspace radio"
|
||||
@@ -10,27 +13,27 @@
|
||||
throwforce = 6
|
||||
preserve_item = 1
|
||||
w_class = ITEMSIZE_LARGE
|
||||
action_button_name = "Remove/Replace Headset"
|
||||
action_button_name = "Remove/Replace Handset"
|
||||
|
||||
var/obj/item/device/radio/subspaceradio/linked/headset
|
||||
var/obj/item/device/radio/subspacehandset/linked/handset
|
||||
|
||||
/obj/item/device/subspaceradio/New() //starts without a cell for rnd
|
||||
..()
|
||||
if(ispath(headset))
|
||||
headset = new headset(src, src)
|
||||
if(ispath(handset))
|
||||
handset = new handset(src, src)
|
||||
else
|
||||
headset = new(src, src)
|
||||
handset = new(src, src)
|
||||
|
||||
/obj/item/device/subspaceradio/Destroy()
|
||||
. = ..()
|
||||
QDEL_NULL(headset)
|
||||
QDEL_NULL(handset)
|
||||
|
||||
/obj/item/device/subspaceradio/ui_action_click()
|
||||
toggle_headset()
|
||||
toggle_handset()
|
||||
|
||||
/obj/item/device/subspaceradio/attack_hand(mob/user)
|
||||
if(loc == user)
|
||||
toggle_headset()
|
||||
toggle_handset()
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -45,29 +48,29 @@
|
||||
M.put_in_any_hand_if_possible(src)
|
||||
|
||||
/obj/item/device/subspaceradio/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(W == headset)
|
||||
reattach_headset(user)
|
||||
if(W == handset)
|
||||
reattach_handset(user)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/device/subspaceradio/verb/toggle_headset()
|
||||
set name = "Toggle Headset"
|
||||
/obj/item/device/subspaceradio/verb/toggle_handset()
|
||||
set name = "Toggle Handset"
|
||||
set category = "Object"
|
||||
|
||||
var/mob/living/carbon/human/user = usr
|
||||
if(!headset)
|
||||
to_chat(user, "<span class='warning'>The headset is missing!</span>")
|
||||
if(!handset)
|
||||
to_chat(user, "<span class='warning'>The handset is missing!</span>")
|
||||
return
|
||||
|
||||
if(headset.loc != src)
|
||||
reattach_headset(user) //Remove from their hands and back onto the defib unit
|
||||
if(handset.loc != src)
|
||||
reattach_handset(user) //Remove from their hands and back onto the defib unit
|
||||
return
|
||||
|
||||
if(!slot_check())
|
||||
to_chat(user, "<span class='warning'>You need to equip [src] before taking out [headset].</span>")
|
||||
to_chat(user, "<span class='warning'>You need to equip [src] before taking out [handset].</span>")
|
||||
else
|
||||
if(!usr.put_in_hands(headset)) //Detach the headset into the user's hands
|
||||
to_chat(user, "<span class='warning'>You need a free hand to hold the headset!</span>")
|
||||
if(!usr.put_in_hands(handset)) //Detach the handset into the user's hands
|
||||
to_chat(user, "<span class='warning'>You need a free hand to hold the handset!</span>")
|
||||
update_icon() //success
|
||||
|
||||
//checks that the base unit is in the correct slot to be used
|
||||
@@ -85,43 +88,43 @@
|
||||
|
||||
/obj/item/device/subspaceradio/dropped(mob/user)
|
||||
..()
|
||||
reattach_headset(user) //headset attached to a base unit should never exist outside of their base unit or the mob equipping the 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/subspaceradio/proc/reattach_headset(mob/user)
|
||||
if(!headset) return
|
||||
/obj/item/device/subspaceradio/proc/reattach_handset(mob/user)
|
||||
if(!handset) return
|
||||
|
||||
if(ismob(headset.loc))
|
||||
var/mob/M = headset.loc
|
||||
if(M.drop_from_inventory(headset, src))
|
||||
to_chat(user, "<span class='notice'>\The [headset] snap back into the main unit.</span>")
|
||||
if(ismob(handset.loc))
|
||||
var/mob/M = handset.loc
|
||||
if(M.drop_from_inventory(handset, src))
|
||||
to_chat(user, "<span class='notice'>\The [handset] snap back into the main unit.</span>")
|
||||
else
|
||||
headset.forceMove(src)
|
||||
handset.forceMove(src)
|
||||
|
||||
//Subspace Radio Headset
|
||||
/obj/item/device/radio/subspaceradio
|
||||
name = "subspace radio headset"
|
||||
//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/subspaceradio/linked
|
||||
/obj/item/device/radio/subspacehandset/linked
|
||||
var/obj/item/device/subspaceradio/base_unit
|
||||
|
||||
/obj/item/device/radio/subspaceradio/linked/New(newloc, obj/item/device/subspaceradio/radio)
|
||||
/obj/item/device/radio/subspacehandset/linked/New(newloc, obj/item/device/subspaceradio/radio)
|
||||
base_unit = radio
|
||||
..(newloc)
|
||||
|
||||
/obj/item/device/radio/subspaceradio/linked/Destroy()
|
||||
/obj/item/device/radio/subspacehandset/linked/Destroy()
|
||||
if(base_unit)
|
||||
//ensure the base unit's icon updates
|
||||
if(base_unit.headset == src)
|
||||
base_unit.headset = null
|
||||
if(base_unit.handset == src)
|
||||
base_unit.handset = null
|
||||
base_unit = null
|
||||
return ..()
|
||||
|
||||
/obj/item/device/radio/subspaceradio/linked/dropped(mob/user)
|
||||
/obj/item/device/radio/subspacehandset/linked/dropped(mob/user)
|
||||
..() //update twohanding
|
||||
if(base_unit)
|
||||
base_unit.reattach_headset(user) //headset attached to a base unit should never exist outside of their base unit or the mob equipping the 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
|
||||
|
||||
Reference in New Issue
Block a user