mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 03:02:54 +00:00
@@ -95,7 +95,7 @@ var/global/list/default_medbay_channels = list(
|
||||
|
||||
/obj/item/device/radio/interact(mob/user)
|
||||
if(!user)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(b_stat)
|
||||
wires.Interact(user)
|
||||
@@ -151,10 +151,10 @@ var/global/list/default_medbay_channels = list(
|
||||
|
||||
/obj/item/device/radio/proc/has_channel_access(var/mob/user, var/freq)
|
||||
if(!user)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!(freq in internal_channels))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return user.has_internal_radio_channel_access(internal_channels[freq])
|
||||
|
||||
@@ -191,7 +191,7 @@ var/global/list/default_medbay_channels = list(
|
||||
|
||||
/obj/item/device/radio/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
usr.set_machine(src)
|
||||
if (href_list["track"])
|
||||
@@ -229,7 +229,7 @@ var/global/list/default_medbay_channels = list(
|
||||
set_frequency(text2num(freq))
|
||||
. = 1
|
||||
if(href_list["nowindow"]) // here for pAIs, maybe others will want it, idk
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
if(.)
|
||||
SSnanoui.update_uis(src)
|
||||
@@ -246,15 +246,11 @@ var/global/list/default_medbay_channels = list(
|
||||
channel = null
|
||||
if (!istype(connection))
|
||||
return
|
||||
if (!connection)
|
||||
return
|
||||
|
||||
var/static/mob/living/silicon/ai/announcer/A = new /mob/living/silicon/ai/announcer(src, null, null, 1)
|
||||
A.SetName(from)
|
||||
Broadcast_Message(connection, A,
|
||||
0, "*garbled automated announcement*", src,
|
||||
message, from, "Automated Announcement", from, "synthesized voice",
|
||||
4, 0, list(0), connection.frequency, "states")
|
||||
var/mob/living/silicon/ai/A = new /mob/living/silicon/ai(src, null, null, 1)
|
||||
A.fully_replace_character_name(null,from)
|
||||
talk_into(A, message, channel,"states")
|
||||
qdel(A)
|
||||
|
||||
// Interprets the message mode when talking into a radio, possibly returning a connection datum
|
||||
/obj/item/device/radio/proc/handle_message_mode(mob/living/M as mob, message, message_mode)
|
||||
@@ -273,19 +269,19 @@ var/global/list/default_medbay_channels = list(
|
||||
// If we were to send to a channel we don't have, drop it.
|
||||
return null
|
||||
|
||||
/obj/item/device/radio/talk_into(mob/living/M as mob, message, channel, var/verb = "says", var/datum/language/speaking = null)
|
||||
if(!on) return 0 // the device has to be on
|
||||
/obj/item/device/radio/talk_into(mob/living/M, message, channel, var/verb = "says", var/datum/language/speaking = null)
|
||||
if(!on) return FALSE // the device has to be on
|
||||
// Fix for permacell radios, but kinda eh about actually fixing them.
|
||||
if(!M || !message) return 0
|
||||
if(!M || !message) return FALSE
|
||||
|
||||
if(speaking && (speaking.flags & (SIGNLANG|NONVERBAL))) return 0
|
||||
if(speaking && (speaking.flags & (SIGNLANG|NONVERBAL))) return FALSE
|
||||
|
||||
if(istype(M)) M.trigger_aiming(TARGET_CAN_RADIO)
|
||||
|
||||
// Uncommenting this. To the above comment:
|
||||
// The permacell radios aren't suppose to be able to transmit, this isn't a bug and this "fix" is just making radio wires useless. -Giacom
|
||||
if(wires.IsIndexCut(WIRE_TRANSMIT)) // The device has to have all its wires and shit intact
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!radio_connection)
|
||||
set_frequency(frequency)
|
||||
@@ -304,9 +300,7 @@ var/global/list/default_medbay_channels = list(
|
||||
//#### Grab the connection datum ####//
|
||||
var/datum/radio_frequency/connection = handle_message_mode(M, message, channel)
|
||||
if (!istype(connection))
|
||||
return 0
|
||||
if (!connection)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/turf/position = get_turf(src)
|
||||
|
||||
@@ -360,13 +354,12 @@ var/global/list/default_medbay_channels = list(
|
||||
|
||||
|
||||
/* ###### Radio headsets can only broadcast through subspace ###### */
|
||||
|
||||
if(subspace_transmission)
|
||||
var/list/jamming = is_jammed(src)
|
||||
if(jamming)
|
||||
var/distance = jamming["distance"]
|
||||
to_chat(M,"<span class='danger'>\icon[src] You hear the [distance <= 2 ? "loud hiss" : "soft hiss"] of static.</span>")
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
// First, we want to generate a new radio signal
|
||||
var/datum/signal/signal = new
|
||||
@@ -414,6 +407,7 @@ var/global/list/default_medbay_channels = list(
|
||||
for(var/obj/machinery/telecomms/allinone/R in telecomms_list)
|
||||
R.receive_signal(signal)
|
||||
|
||||
// Receiving code can be located in Telecommunications.dm
|
||||
if(signal.data["done"] && position.z in signal.data["level"])
|
||||
return TRUE //Huzzah, sent via subspace
|
||||
|
||||
@@ -480,7 +474,7 @@ var/global/list/default_medbay_channels = list(
|
||||
// Send a mundane broadcast with limited targets:
|
||||
|
||||
//THIS IS TEMPORARY. YEAH RIGHT
|
||||
if(!connection) return 0 //~Carn
|
||||
if(!connection) return FALSE //~Carn
|
||||
|
||||
//VOREStation Add Start
|
||||
if(bluespace_radio)
|
||||
@@ -504,7 +498,7 @@ var/global/list/default_medbay_channels = list(
|
||||
/obj/item/device/radio/proc/accept_rad(obj/item/device/radio/R as obj, message)
|
||||
|
||||
if ((R.frequency == frequency && message))
|
||||
return 1
|
||||
return TRUE
|
||||
else if
|
||||
|
||||
else
|
||||
@@ -544,7 +538,7 @@ var/global/list/default_medbay_channels = list(
|
||||
if (!accept)
|
||||
for (var/ch_name in channels)
|
||||
var/datum/radio_frequency/RF = secure_radio_connections[ch_name]
|
||||
if (RF.frequency==freq && (channels[ch_name]&FREQ_LISTENING))
|
||||
if (RF && RF.frequency==freq && (channels[ch_name]&FREQ_LISTENING))
|
||||
accept = 1
|
||||
break
|
||||
if (!accept)
|
||||
@@ -695,7 +689,7 @@ var/global/list/default_medbay_channels = list(
|
||||
|
||||
/obj/item/device/radio/borg/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
return TRUE
|
||||
if (href_list["mode"])
|
||||
var/enable_subspace_transmission = text2num(href_list["mode"])
|
||||
if(enable_subspace_transmission != subspace_transmission)
|
||||
|
||||
Reference in New Issue
Block a user